메인 콘텐츠로 건너뛰기
모든 콜렉션단계별 자습서EOS 지갑 사용법
cleos를 사용해 여러 키로 트랜잭션에 서명하는 방법
cleos를 사용해 여러 키로 트랜잭션에 서명하는 방법

계정명 대신 키를 통해 권한을 설정한 경우

Sangyong Jeong avatar
작성자: Sangyong Jeong
최소 1년 전에 업데이트됨

대부분 MSIG 권한은 계정명을 사용해 트랜잭션에 서명하도록 설정됩니다.

예시:

  • Permission: active (Threshold 2):

    • aliceaccount@active (1)

    • bobaccount@active (1)

Alice 및 Bob은 트랜잭션을 실행하기 위해 위 트랜잭션 권한으로 서명하면 됩니다.




다음은 실제 예입니다.

그러나 만약 계정 이름 대신 공개 키를 사용해 MSIG 권한을 설정했다면 어떨까요?

  • Permission: active (Threshold 2):

    • PUB_K1_6ies8fT5dUNmVDG6CSSfwVcn6jvJakW6R3YLfHgUPcknxna9nT (1)

    • PUB_K1_5fHPq9GpZxTPQHAw8pq3SpYFLday8q9T6ezsMwBCNydphTjamt (1)

이는 트랜잭션이 실행되기 위해서는 이 계정의 트랜잭션이 위 두 개의 공개 키로 서명되어야 함을 의미합니다.

이 경우 문제는 일반적으로 사용자 친화적 UI를 사용하는 EOS 지갑에서 여러 공개키로 트랜잭션에 서명할 수 있는 방법이 없습니다. 때문에 이 문제해결을 위해선 command line을 사용해야 합니다.

여러 키로 서명할 수 있도록 `cleos` 설정하기

Cleos는 모든 EOSIO 블록체인과 상호 작용하는 command line 인터페이스입니다. cleos가 없다면 여기에서 설치할 수 있습니다.

Cleos 설치 후 지갑을 생성합니다. 이 예에서는 "support"라는 지갑을 만들고(이것은 EOS 계정 이름이 아닌 참조 이름일 뿐입니다) cleos에게 결과를 터미널 콘솔에 인쇄하여 이 지갑에 대해 자동으로 생성된 암호를 가져오도록 요청합니다.

cleos wallet create -n support --to-console

생성된 지갑의 새 비밀번호를 복사하여 저장합니다. 지갑을 잠글 때마다 비밀번호가 필요합니다.

# Only required when locked, cleos locks wallets when they are idle for some time.

cleos wallet unlock -n support

이 예에서는 두 개의 개인 키를 추가합니다.

계정의 개인 키를 가져옵니다.

cleos wallet import --private-key PVT_K1_28t8rJAwm2ezAxNUJjLjHJ4bFvMMPfDocTJxz23NePNWPe5gVp -n support

cleos wallet import --private-key PVT_K1_QCknBCMuqAhKF7STxFNHR8Rdx8HEoNg9rUP8rgWDfQvm9vfoC -n support

[do it again for the other key/s if needed]

이렇게 하면 동시에 두 개의 키를 사용하여 서명할 수 있도록 지갑이 설정됩니다.

# You can put the RAW transaction, but it's cleaner using a file .json

cleos -u https://eos.greymass.com push transaction transaction.json

실행되면 JSON 데이터(위 이미지 참조)가 반환됩니다. 트랜잭션 ID를 복사하고 블록 탐색기에서 확인해보세요.


작성자: Erick Birbe

편집자: Markus Hinrichs; Randall Roland

옮긴이: Sangyong Jeong

출처 및 참고문헌

답변이 도움되었나요?