서브키
서브키 프로그램을 사용하여 키를 생성하고 관리하는 방법에 대한 명령 줄 참조 정보를 제공합니다.
subkey
프로그램은 Substrate 저장소에 포함된 키 생성 및 관리 유틸리티입니다. subkey
프로그램을 사용하여 다음 작업을 수행할 수 있습니다:
암호학적으로 안전한 공개 및 개인 키 쌍을 생성하고 검사합니다.
비밀 구문 및 원시(raw) 시드에서 키를 복원합니다.
메시지에 대한 서명을 생성하고 검증합니다.
인코딩된 트랜잭션에 대한 서명을 생성하고 검증합니다.
계층적 결정론적 자식 키 쌍을 파생합니다.
서명 스키마
subkey
프로그램은 현재 다음 서명 스키마를 지원합니다:
sr25519: Ristretto 그룹에서의 Schorr 서명.
ed25519: Curve25519에서의 SHA-512 (SHA-2).
secp256k1: secp256k1에서의 ECDSA 서명.
Substrate 기반 네트워크에서는 sr25519
인코딩된 키가 블록체인과 상호 작용하기 위한 공개 키로 사용됩니다.
설치
subkey
를 전체 Substrate 저장소를 클론하지 않고도 cargo
를 사용하여 다운로드, 설치 및 컴파일할 수 있습니다. 그러나 subkey
를 독립 실행형 바이너리 파일로 설치하려면 환경에 Substrate 빌드 종속성을 추가해야 합니다. 의존성을 사용할 수 있도록 하려면 Substrate 저장소를 클론한 후 subkey
바이너리 파일을 빌드할 수 있습니다.
subkey
프로그램을 설치하고 컴파일하려면 다음 단계를 따르세요:
필요한 경우 터미널 셸을 엽니다.
필요한 경우 Rust 컴파일러와 툴체인이 설치되어 있는지 확인합니다.
필요한 경우 다음 명령을 실행하여 Substrate 저장소를 클론합니다:
다음 명령을 실행하여 Substrate 저장소의 루트 디렉토리로 이동합니다:
다음 명령을 실행하여
nightly
툴체인을 사용하여subkey
프로그램을 빌드합니다:프로그램을 컴파일하는 데는 여러 분이 걸릴 수 있습니다.
다음 명령을 실행하여
subkey
프로그램을 사용할 준비가 되었는지 확인하고 사용 가능한 옵션에 대한 정보를 확인합니다:
계층적 결정론적 키
subkey
프로그램은 계층적 결정론적 키를 지원합니다. 계층적 결정론적 (HD) 키를 사용하면 부모 시드를 사용하여 계층적 트리 구조에서 자식 키 쌍을 파생시킬 수 있습니다. 이 계층적 구조에서 부모로부터 파생된 각 자식은 고유한 키 쌍을 갖습니다. 파생된 키는 계층적 디렉터리 구조에서 중첩된 디렉터리를 가질 수 있는 파일 시스템과 유사하게 추가적인 자식 키 쌍을 파생시킬 수도 있습니다. 계층적 결정론적 키가 어떻게 파생되는지에 대한 배경 정보는 계층적 결정론적 월렛에 대한 BIP32 사양을 참조하십시오.
서브키 명령을 사용하여 계층적 결정론적 키를 파생하는 방법에 대한 정보는 파생된 키 사용을 참조하십시오.
기본 명령 사용법
subkey
명령을 실행하는 기본 구문은 다음과 같습니다:
지정한 하위 명령에 따라 추가 인수, 옵션 및 플래그가 적용되거나 필요할 수 있습니다. 특정 subkey
하위 명령에 대한 사용 정보를 보려면 해당 하위 명령과 --help
플래그를 지정하십시오. 예를 들어, subkey inspect
의 사용 정보를 보려면 다음 명령을 실행할 수 있습니다:
플래그
subkey
명령과 다음 선택적 플래그를 사용할 수 있습니다.
-h, --help
사용 정보를 표시합니다.
-V, --version
버전 정보를 표시합니다.
하위 명령
subkey
명령과 다음 하위 명령을 사용할 수 있습니다. 서브키 하위 명령을 사용하는 방법을 설명하는 참조 정보 및 예제를 선택하십시오.
무작위 계정 키를 생성합니다.
무작위 노드 libp2p
비밀 키를 생성합니다. 비밀 키를 파일에 저장하거나 표준 출력 (stdout
)으로 표시할 수 있습니다.
subkey
또는 지정된 하위 명령에 대한 사용 정보를 표시합니다.
지정한 비밀 URI에 대한 공개 키와 SS58 주소를 표시합니다.
지정한 파일 이름에 해당하는 비밀 노드 키와 일치하는 피어 ID를 표시합니다.
지정한 비밀 키로 메시지에 서명합니다.
원하는 주소를 제공하는 시드를 생성합니다.
메시지에 대한 서명이 지정한 공개 또는 비밀 키에 대해 유효한지 확인합니다.
출력
지정한 하위 명령에 따라 subkey
프로그램의 출력에는 다음 정보 중 일부 또는 모두 포함됩니다:
비밀 구문
사람이 읽기 쉬운 방식으로 비밀 키를 인코딩하는 영어 단어의 연속입니다. 이 단어의 연속은 또한 기억구문 구문 또는 시드 구문이라고도 하며, 올바른 단어 세트가 올바른 순서로 제공되면 비밀 키를 복구하는 데 사용할 수 있습니다.
비밀 시드
키 쌍을 복원하는 데 필요한 최소한의 정보입니다. 비밀 시드는 때로는 개인 키 또는 원시(raw) 시드라고도 합니다. 다른 모든 정보는 이 값을 기반으로 계산됩니다.
공개 키 (16진수)
16진수 형식의 암호키 쌍의 공개 부분입니다.
공개 키 (SS58)
SS58 인코딩된 암호키 쌍의 공개 부분입니다.
계정 ID
16진수 형식의 공개 키에 대한 별칭입니다.
SS58 주소
공개 키를 기반으로 한 SS58 인코딩된 공개 주소입니다.
예제
subkey
프로그램의 버전 정보를 표시하려면 다음 명령을 실행합니다:
subkey verify
명령의 사용 정보를 표시하려면 다음 명령을 실행합니다:
subkey generate
subkey generate
명령을 사용하여 공개 및 개인 키 및 계정 주소를 생성할 수 있습니다. 서명 스키마를 다르게 사용하거나 단어 수가 더 많거나 적은 기억구문을 사용하여 키를 생성하려면 명령줄 옵션을 사용할 수 있습니다.
기본 사용법
플래그
subkey generate
명령과 다음 선택적 플래그를 사용할 수 있습니다.
-h
, --help
사용 정보를 표시합니다.
--password-interactive
터미널에서 대화식으로 키스토어에 액세스하는 비밀번호를 입력할 수 있도록 합니다.
-V
, --version
버전 정보를 표시합니다.
옵션
subkey generate
명령과 다음 명령줄 옵션을 사용할 수 있습니다.
--keystore-path <경로>
사용자 정의 키스토어 경로를 지정합니다.
--keystore-uri <키스토어-URI>
키스토어 서비스에 연결할 사용자 정의 URI를 지정합니다.
-n
, --network <네트워크>
사용할 네트워크 주소 형식을 지정합니다. 예를 들어, kusama
또는 polkadot
입니다. 지원되는 네트워크의 전체 목록은 온라인 사용 정보를 참조하십시오.
--output-type <형식>
사용할 출력 형식을 지정합니다. 유효한 값은 Json 및 Text입니다. 기본 출력 형식은 Text입니다.
--password <비밀번호>
키스토어에서 사용하는 비밀번호를 지정합니다. 이 옵션을 사용하면 시드에 추가적인 비밀을 추가할 수 있습니다.
--password-filename <경로>
키스토어에서 사용하는 비밀번호가 포함된 파일의 이름을 지정합니다.
--scheme <스키마>
생성하는 키의 암호 스키마를 지정합니다. 유효한 값은 Ecdsa
, Ed25519
, Sr25519
입니다. 기본 스키마는 Sr25519
입니다.
-w
, --words <단어>
생성하는 키의 비밀 구문에 포함되는 단어 수를 지정합니다. 유효한 값은 12, 15, 18, 21, 24입니다. 기본적으로 비밀 구문은 12개의 단어로 구성됩니다.
예제
sr25519 서명 스키마를 사용하는 새로운 키 쌍을 생성하려면 다음 명령을 실행합니다:
다음과 유사한 출력이 표시됩니다. 12개의 단어로 구성된 비밀 구문이 포함됩니다:
subkey
프로그램은 사용되는 네트워크에 따라 공개/개인 키 쌍과 연결된 주소를 다르게 인코딩합니다. Kusama 및 Polkadot 네트워크에서 동일한 개인 키를 사용하려면 --network
옵션을 사용하여 Kusama 및 Polkadot 네트워크에 대한 별도의 주소 형식을 생성할 수 있습니다. 공개 키는 동일하지만 주소 형식은 네트워크별로 다릅니다. 특정 네트워크에 대한 키 쌍을 생성하려면 다음과 유사한 명령을 실행합니다:
이 명령은 동일한 필드를 출력하지만 지정한 네트워크에 대한 주소 형식을 사용합니다.
보다 안전한 키 쌍을 생성하려면 ed25519
서명 스키마와 24개의 단어로 구성된 비밀 구문을 사용하여 moonriver
네트워크에 대한 키 쌍을 생성할 수 있습니다. 다음 명령을 실행합니다:
이 명령은 동일한 필드를 출력하지만 Ed25519 서명 스키마, 24개의 단어로 구성된 비밀 구문 및 moonriver
네트워크의 주소 형식을 사용합니다.
비밀번호로 보호되는 키 쌍을 생성하려면 다음과 유사한 명령을 실행합니다. --password
옵션과 비밀번호를 사용하여 명령줄 및 비밀번호 문자열에 비밀번호를 추가할 수 있습니다.
비밀번호가 필요한 키를 생성한 후에는 명령줄에 --password
옵션과 비밀번호 문자열을 포함하여 비밀번호를 검색하거나 비밀 구문 끝에 세 개의 슬래시 (///
)를 추가하여 검색할 수 있습니다. 비밀번호, 비밀 구문 및 비밀 시드를 안전하게 보관하고 안전한 위치에 백업하는 것이 중요합니다.
subkey generate-node-key
subkey generate-node-key
명령을 사용하여 Substrate 노드 간의 피어 투 피어 (libp2p
) 통신을 위한 무작위 공개 및 개인 키를 생성할 수 있습니다. 공개 키는 체인 스펙 파일이나 명령줄 인수에서 노드를 식별하는 데 사용되는 피어 식별자입니다. 대부분의 경우 이 명령은 비밀 키를 파일에 저장하기 위해 명령줄 옵션과 함께 실행됩니다.
기본 사용법
플래그
subkey generate-node-key
명령과 다음 선택적 플래그를 사용할 수 있습니다.
-h
, --help
사용 정보를 표시합니다.
-V
, --version
버전 정보를 표시합니다.
옵션
subkey generate-node-key
명령과 다음 명령줄 옵션을 사용할 수 있습니다.
--file <파일-이름>
로컬 노드에 대한 생성된 비밀 키를 저장할 파일 위치를 지정합니다. 이 옵션을 지정하지 않으면 생성된 키가 표준 출력 (stdout
)으로 표시됩니다.
예제
피어 간 통신을 위한 무작위 키 쌍을 생성하고 비밀 키를 파일에 저장하려면 다음과 유사한 명령을 실행합니다:
이 명령은 터미널에서 노드 키에 대한 피어 식별자를 표시하고 개인 키가 generated-node-key
파일에 저장됩니다. 이 예제에서는 현재 작업 디렉토리가 아닌 상위 디렉토리에 키가 저장됩니다.
subkey help
subkey help
명령을 사용하여 subkey
또는 지정된 하위 명령에 대한 사용 메시지를 표시합니다.
기본 사용법
예제
verify
하위 명령에 대한 사용 정보를 표시하려면 다음 명령을 실행합니다:
subkey inspect
subkey inspect
명령을 사용하여 지정된 비밀 키 또는 기억 구문에 대한 공개 키와 공개 주소를 다시 계산할 수 있습니다.
기본 사용법
플래그
subkey inspect
명령과 다음 선택적 플래그를 사용할 수 있습니다.
-h
, --help
사용 정보를 표시합니다.
--password-interactive
터미널에서 대화식으로 키스토어에 액세스하는 비밀번호를 입력할 수 있도록 합니다.
--public
검사할 uri
가 16진수로 인코딩된 공개 키임을 나타냅니다.
-V
, --version
버전 정보를 표시합니다.
옵션
subkey inspect
명령과 다음 명령줄 옵션을 사용할 수 있습니다.
--keystore-path <경로>
사용자 정의 키스토어 경로를 지정합니다.
--keystore-uri <키스토어-URI>
키스토어 서비스에 연결할 사용자 정의 URI를 지정합니다.
-n
, --network <네트워크>
사용할 네트워크 주소 형식을 지정합니다. 예를 들어, kusama
또는 polkadot
입니다. 지원되는 네트워크의 전체 목록은 온라인 사용 정보를 참조하십시오.
--output-type <형식>
사용할 출력 형식을 지정합니다. 유효한 값은 Json 및 Text입니다. 기본 출력 형식은 Text입니다.
--password <비밀번호>
키스토어에서 사용하는 비밀번호를 지정합니다. 이 옵션을 사용하면 시드에 추가적인 비밀을 추가할 수 있습니다.
--password-filename <경로>
키스토어에서 사용하는 비밀번호가 포함된 파일의 이름을 지정합니다.
--scheme <스키마>
검사하는 키의 암호 스키마를 지정합니다. 유효한 값은 Ecdsa
, Ed25519
, Sr25519
입니다. 기본 스키마는 Sr25519
입니다.
인수
subkey inspect
명령에는 다음 필수 인수를 지정해야 합니다.
uri
검사할 키 URI를 지정합니다. 비밀 구문, 비밀 시드 (파생 경로 및 비밀번호 포함), SS58 주소, 공개 키 또는 16진수로 인코딩된 공개 키를 사용하여 키를 지정할 수 있습니다. uri
를 파일 이름으로 지정하면 파일 내용이 URI로 사용됩니다.
예제
기억 구문에서 파생된 공개 키를 검사하려면 다음과 유사한 명령을 실행합니다:
다음과 유사한 출력이 표시됩니다:
비밀 시드에서 파생된 공개 키를 검사하려면 다음과 유사한 명령을 실행합니다:
비밀 구문이 포함된 텍스트 파일 (예: my-secret-key
)에 비밀 구문이 저장된 경우 명령줄에서 파일 이름을 지정하여 파일의 내용을 전달하고 해당 비밀 구문 또는 비밀 시드와 연결된 공개 키를 표시할 수 있습니다. 예를 들어, 다음과 유사한 명령을 실행할 수 있습니다:
16진수로 인코딩된 공개 키를 사용하여 공개 키를 검사하려면 다음과 유사한 명령을 실행합니다:
이 경우 명령은 다음과 유사한 공개 정보만 표시합니다:
subkey
프로그램은 사용되는 네트워크에 따라 공개/개인 키 쌍과 연결된 주소를 다르게 인코딩합니다. Kusama 및 Polkadot 네트워크에서 동일한 개인 키를 사용하려면 --network
옵션을 사용하여 특정 네트워크에 대한 주소를 검사할 수 있습니다. 공개 키는 동일하지만 주소 형식은 네트워크별로 다릅니다. 특정 네트워크에 대한 키 쌍을 검사하려면 다음과 유사한 명령을 실행합니다:
이 명령의 출력에서 비밀 구문, 비밀 시드 및 공개 키는 동일하지만 Kusama 네트워크에 대한 주소는 다음과 같습니다:
동일한 개인 키에 대한 Polkadot 네트워크의 주소를 검사하려면 다음과 유사한 명령을 실행합니다:
이 명령의 출력에서 비밀 구문, 비밀 시드 및 공개 키는 Kusama 네트워크와 동일하지만 Polkadot 네트워크의 주소는 다음과 같습니다:
--password
옵션과 비밀번호를 지정하여 비밀번호로 보호된 키를 검사하려면 다음과 유사한 명령을 실행합니다:
명령줄에서 --password
옵션과 비밀번호를 지정하면 명령 출력에 사용된 비밀번호가 표시되지 않습니다.
비밀번호로 보호된 키를 검사하려면 비밀 구문 끝에 ///
와 비밀번호를 추가하여 다음과 유사한 명령을 실행할 수도 있습니다.
이 경우 명령 출력에 사용된 비밀번호가 표시됩니다. 예를 들어:
시크릿 키 URI caution juice atom organ advance problem want pledge someone senior holiday very///pencil laptop kitchen cutter
는 다음과 같은 계정입니다: 시크릿 시드: 0xdfc5d5d5235a37fdc907ee1cb720299f96aeb02f9c7c2fcad7ee8c7bfbd2a4db 공개 키 (16진수): 0xdef8f78b123475265815b65a7c55e105e1ab185f4969954f68d92b7bb67a1045 공개 키 (SS58): 5H74SqH1iQCWh5Gumyghh1WJMcmM6TdBHYSK7mKVJbv9NuSK 계정 ID: 0xdef8f78b123475265815b65a7c55e105e1ab185f4969954f68d92b7bb67a1045 SS58 주소: 5H74SqH1iQCWh5Gumyghh1WJMcmM6TdBHYSK7mKVJbv9NuSK
플래그
subkey inspect-node-key
명령과 함께 다음 선택적 플래그를 사용할 수 있습니다.
-h
, --help
사용법 정보를 표시합니다.
-V
, --version
버전 정보를 표시합니다.
옵션
subkey inspect-node-key
명령과 함께 다음 명령줄 옵션을 사용할 수 있습니다.
-n, --network <network>
사용할 네트워크 주소 형식을 지정합니다. 예를 들어, kusama
또는 polkadot
입니다. 지원되는 네트워크의 전체 목록은 온라인 사용 정보를 참조하십시오.
인수
subkey inspect-node-key
명령과 함께 다음 필수 인수를 지정해야 합니다.
--file <file-name>
노드와의 피어 간 통신을 위해 생성된 비밀 키를 포함하는 파일을 지정합니다.
subkey sign
subkey sign
명령을 사용하여 메시지에 서명합니다. 메시지는 표준 입력(stdin
)으로 전달됩니다. 비밀 시드 또는 비밀 문구를 사용하여 메시지에 서명할 수 있습니다.
기본 사용법
플래그
subkey sign
명령과 함께 다음 선택적 플래그를 사용할 수 있습니다.
-h
, --help
사용법 정보를 표시합니다.
--hex
표준 입력으로 지정한 메시지가 16진수로 인코딩된 메시지임을 나타냅니다.
--password-interactive
터미널에서 키스토어에 액세스하기 위한 비밀번호를 대화식으로 입력할 수 있도록 합니다.
-V
, --version
버전 정보를 표시합니다.
옵션
subkey sign
명령과 함께 다음 명령줄 옵션을 사용할 수 있습니다.
--keystore-path <path>
사용자 정의 키스토어 경로를 지정합니다.
--keystore-uri <keystore-uri>
키스토어 서비스에 연결하기 위한 사용자 정의 URI를 지정합니다.
--message <network>
서명할 메시지 문자열을 지정합니다.
--password <password>
키스토어에서 사용하는 비밀번호를 지정합니다. 이 옵션을 사용하면 시드에 추가 비밀을 추가할 수 있습니다.
--password-filename <path>
키스토어에서 사용하는 비밀번호가 포함된 파일의 이름을 지정합니다.
--scheme <scheme>
키의 암호 서명 스키마를 지정합니다. 유효한 값은 Ecdsa
, Ed25519
, Sr25519
입니다. 기본 스키마는 Sr25519
입니다.
--suri <secret-seed>
메시지에 서명하기 위해 사용할 비밀 키 URI를 지정합니다. 비밀 문구, 비밀 시드(유도 경로 및 비밀번호 포함)를 사용하여 키를 지정할 수 있습니다. --suri
옵션에 파일 이름을 지정하면 파일 내용이 URI로 사용됩니다. 이 옵션을 생략하면 URI를 입력하라는 메시지가 표시됩니다.
예제
다음 예제는 echo
명령을 사용하여 테스트 메시지를 subkey sign
명령의 표준 입력으로 파이프합니다. 터미널에서 텍스트 메시지에 서명하려면 다음과 유사한 명령을 실행할 수 있습니다:
명령 출력은 메시지에 대한 서명을 표시합니다. 예를 들면:
16진수로 인코딩된 메시지에 서명하려면 다음과 유사한 명령을 실행합니다:
명령 출력은 메시지에 대한 서명을 표시합니다. 예를 들면:
subkey vanity
subkey vanity
명령을 사용하여 지정된 문자열 패턴을 포함하는 주소를 생성합니다. 이 명령은 사용자 정의 주소에 대한 비밀 문구를 생성하지 않습니다.
기본 사용법
플래그
subkey vanity
명령과 함께 다음 선택적 플래그를 사용할 수 있습니다.
-h
, --help
사용법 정보를 표시합니다.
-V
, --version
버전 정보를 표시합니다.
옵션
subkey vanity
명령과 함께 다음 명령줄 옵션을 사용할 수 있습니다.
-n, --network <network>
사용할 네트워크 주소 형식을 지정합니다. 예를 들어, kusama
또는 polkadot
입니다. 지원되는 네트워크의 전체 목록은 온라인 사용 정보를 참조하십시오.
--output-type <format>
사용할 출력 형식을 지정합니다. 유효한 값은 Json 및 Text입니다. 기본 출력 형식은 Text입니다.
--scheme <scheme>
키의 암호 서명 스키마를 지정합니다. 유효한 값은 Ecdsa
, Ed25519
, Sr25519
입니다. 기본 스키마는 Sr25519
입니다.
인수
subkey vanity
명령과 함께 다음 필수 인수를 지정해야 합니다.
--pattern <pattern>
생성된 주소에 포함할 문자열을 지정합니다.
예제
지정한 패턴에 따라 사용자 정의 문자열을 포함하는 주소를 생성하려면 다음과 유사한 명령을 실행할 수 있습니다:
명령은 다음과 유사한 출력을 표시합니다:
키 쌍이 생성된 후 SS58 주소와 공개 키 모두 사용자 정의 문자열 DUNE
을 포함합니다.
subkey verify
subkey verify
명령을 사용하여 공개 또는 비밀 키를 사용하여 메시지의 서명을 확인합니다.
기본 구문
플래그
subkey verify
명령과 함께 다음 선택적 플래그를 사용할 수 있습니다.
-h
, --help
사용법 정보를 표시합니다.
--hex
표준 입력으로 지정한 메시지가 16진수로 인코딩된 메시지임을 나타냅니다.
-V
, --version
버전 정보를 표시합니다.
옵션
subkey verify
명령과 함께 다음 명령줄 옵션을 사용할 수 있습니다.
--message <message>
확인할 메시지를 지정합니다.
--scheme <scheme>
키의 암호 서명 스키마를 지정합니다. 유효한 값은 Ecdsa
, Ed25519
, Sr25519
입니다. 기본 스키마는 Sr25519
입니다.
인수
subkey verify
명령과 함께 다음 필수 인수를 지정해야 합니다.
<signature>
확인할 16진수로 인코딩된 서명을 지정합니다.
<uri>
메시지를 확인하기 위해 사용할 공개 또는 비밀 키 URI를 지정합니다. uri
에 파일 이름을 지정하면 파일 내용이 URI로 사용됩니다. 이 옵션을 생략하면 URI를 입력하라는 메시지가 표시됩니다.
예제
다음 예제는 echo
명령을 사용하여 테스트 메시지를 subkey verify
명령의 표준 입력으로 파이프합니다.
메시지 서명이 확인되면 명령 출력은 서명을 확인한다는 메시지를 표시합니다. 예를 들면:
16진수로 인코딩된 메시지의 서명을 확인하려면 다음과 유사한 명령을 실행합니다:
메시지 서명이 확인되면 명령 출력은 서명을 확인한다는 메시지를 표시합니다. 예를 들면:
파생 키 작업
Substrate에서 계층적 결정론적 파생 키는 파생 방법에 따라 하드 키 또는 소프트 키로 분류됩니다. 예를 들어, 하드 키는 부모 비밀 키와 유도 경로를 사용하여만 파생할 수 있습니다. 부모 공개 키는 하드 키를 파생할 수 없습니다.
소프트 키는 부모 비밀 키 또는 부모 공개 키와 유도 경로를 사용하여 파생할 수 있습니다. 소프트 키는 부모 공개 키를 사용하여 파생할 수 있으므로 부모 시드를 노출하지 않고도 부모 키를 식별하는 데 사용할 수 있습니다. 파생된 하드 키 또는 소프트 키와 관련된 주소를 사용하여 루트 키로 서명한 메시지와 동일한 보안으로 메시지에 서명할 수 있습니다.
하드 키 파생
하드 자식 키 쌍을 파생하기 위해 부모 키와 유도 경로, 인덱스 뒤에 두 개의 슬래시(//
)를 추가합니다. 이전에 생성된 키에서 자식 키 쌍과 주소를 파생하기 때문에 subkey inspect
명령을 사용합니다. 예를 들어:
명령은 다음과 유사한 출력을 표시합니다:
소프트 키 파생
부모 비밀 키에서 소프트 자식 키 쌍을 파생하기 위해 비밀 문구와 유도 경로, 인덱스 뒤에 하나의 슬래시(/
)를 추가합니다. 이전에 생성된 키에서 새로운 키 쌍과 주소를 파생하기 때문에 subkey inspect
명령을 사용합니다. 예를 들어:
명령은 다음과 유사한 출력을 표시합니다:
부모 공개 키에서 소프트 자식 키 쌍을 파생하기 위해 부모 공개 주소를 사용할 수도 있습니다. 부모 공개 주소와 유도 경로, 인덱스를 구분하는 단일 슬래시(/
)를 사용합니다. 예를 들어:
명령은 다음과 유사한 출력을 표시합니다:
동일한 유도 경로와 인덱스를 사용하는 경우 부모 비밀 키 또는 부모 공개 주소를 사용하여 소프트 자식 키는 동일합니다. 유도 경로(derived-soft-key
에서 derived-public
으로) 또는 인덱스(0
에서 1
로)를 변경하면 다른 주소로 다른 자식 키를 파생시킵니다. 예를 들어:
명령은 다음과 유사한 출력을 표시합니다:
유도 경로와 비밀번호 결합
기본적으로 비밀 시드는 비밀번호로 보호되지 않습니다. 파생된 키에 추가 보호를 위해 비밀번호를 추가할 수 있습니다. 그러나 비밀 시드에서 파생된 키 쌍은 비밀 번호를 사용하여 파생된 키 쌍과 다릅니다. 동일한 비밀 시드는 다른 유도 경로나 비밀번호를 사용하면 다른 키를 파생시킵니다. 키 쌍을 보호하기 위해 비밀 시드 문구에 비밀번호를 추가할 수 있습니다. 비밀 시드 문구와 비밀번호 모두 필요합니다.
하드 키의 자식으로 소프트 키를 파생할 수 있습니다. 이렇게 하면 하드 키의 공개 주소와 선택적 비밀번호를 사용하여 새로운 공개 주소를 파생할 수 있습니다. 파생된 하드 키로 소프트 키를 파생하기 위해 하드 키의 공개 주소를 사용합니다. 파생 경로와 비밀번호를 추가합니다.
명령은 다음과 유사한 출력을 표시합니다:
이 전략을 사용하여 하드 키와 소프트 키를 결합하면 부모 공개 주소와 소프트 파생 경로를 노출하지 않고도 비밀 문구나 비밀번호를 노출하지 않고도 파생된 주소를 모두 제어할 수 있습니다.
사전 정의된 계정과 키
Substrate에는 로컬 개발 환경에서 테스트에 사용할 수 있는 여러 사전 정의된 계정이 포함되어 있습니다. 이러한 사전 정의된 계정은 모두 동일한 시드를 사용하여 단일 비밀 문구를 생성한 키에서 파생됩니다. 모든 사전 정의된 계정의 키를 검사하려면 유도 경로를 사용합니다. 예를 들어:
명령은 다음과 유사한 출력을 표시합니다:
//Alice
와 //alice
는 서로 다른 유도 경로이며, 사전 정의된 계정의 비밀 문구와 유도 경로는 실제로 다음과 같습니다:
다음 명령을 실행하여 키가 일치하는지 확인할 수 있습니다:
명령 출력은 다음과 같습니다:
추가 리소스
Last updated