기존 Wallet 가져오기 / 복구하기

노드에 사용하려는 wallet이 이미 있거나 이전에 Smartnode로 생성한 wallet을 복구하는 경우, 이 가이드는 가져오기/복구 프로세스를 안내합니다.

아래 섹션에서 적절한 옵션을 선택하십시오.

Smartnode Wallet 복구하기

Smartnode를 사용하여 node wallet을 생성했고 새 머신에서 복구하는 경우 프로세스는 매우 간단합니다. Smartnode 소프트웨어를 이미 설치했는지 확인한 다음 설치 후 다음 명령을 실행하기만 하면 됩니다:

rocketpool wallet recover
참고

어떤 이유로든 wallet을 복구하고 싶지만 노드의 minipool에 연결된 validator 키는 복구하고 싶지 않은 경우 -k 플래그를 지정하여 재구축 프로세스를 건너뛸 수 있습니다:

rocketpool wallet recover -k

이 플래그를 지정하지 않으면 Smartnode는 minipool의 validator 키를 복구하려고 시도합니다; 그러나 이는 Execution client가 동기화를 완료할 때까지 작동하지 않습니다. 완료 시기를 확인하려면 로그 파일을 확인하십시오; 완료되면 이 단계를 실행할 수 있습니다.

먼저 wallet을 암호화하는 데 사용할 비밀번호를 묻습니다. 그런 다음 24단어 니모닉 복구 구문을 요청합니다. 신중하게 입력하십시오 - 안전을 위해 화면에 표시되지 않으며 입력하는 동안 실수하기 매우 쉽습니다. 천천히 진행하십시오.

완료되면 다음과 유사한 출력이 표시됩니다:

$ rocketpool wallet recover

Please enter a password to secure your wallet with:

Please confirm your password:

Please enter your recovery mnemonic phrase:

Recovering node wallet...
The node wallet was successfully recovered.
Node account: <your wallet address>
No validator keys were found.

오류가 표시되지 않으면 wallet과 validator가 복구됩니다.

완료되면 Docker 및 Hybrid mode 사용자의 경우 다음 명령으로 Validator client를 다시 시작해야 합니다:

docker restart rocketpool_validator

Native mode 사용자는 Validator 컨테이너 프로세스를 다시 시작하기만 하면 됩니다.

이렇게 하면 VC가 새로 복원된 모든 validator 키를 선택합니다.

기존 주소를 Node Wallet으로 가져오기

노드에 사용하려는 주소가 있지만 Smartnode로 생성하지 않은 경우(예: MetaMask 또는 하드웨어 wallet으로 생성), 이 섹션을 따르십시오.

경고

이렇게 하면 주소가 핫 wallet이 됩니다. 개인 키가 노드 머신에 저장됩니다.

하드웨어 wallet과 같은 콜드 wallet인 주소를 가져오는 경우 하드웨어 wallet이 제공하는 보호가 더 이상 존재하지 않습니다!

이 wallet을 다른 암호화폐 활동에 사용하는 경우 주소를 노드로 가져오기 전에 모든 자금을 별도의 주소(예: 다른 하드웨어 wallet)로 마이그레이션해야 합니다! 노드의 가스 비용에 충분한 ETH만 이 주소에 남겨두십시오(일반적으로 0.5 ETH면 충분합니다).

주소를 node wallet으로 가져오기 전에 노드 보안 가이드의 단계를 따라 머신을 최대한 보호했는지 확인하십시오.

이 기능은 Smartnode v1.4.3 이상에서만 사용할 수 있습니다. 더 낮은 버전이 있는 경우 먼저 업그레이드해야 합니다.

이것은 다단계 프로세스이므로 아래 섹션을 주의 깊게 따르십시오.

1단계: 외부 생성 Validator 키 추가하기

가져오는 주소에 연결된 기존 minipool이 없는 경우 이 단계를 건너뛸 수 있습니다.

주소가 이미 Rocket Pool node wallet으로 등록되어 있고(Allnodes와 같은 서비스를 통해) 이미 활성 minipool이 있으며, 주소와 함께 Smartnode 스택으로 가져오려는 경우 각 해당 validator에 대한 개인 keystore 파일을 제공해야 합니다. 이러한 파일은 선택한 비밀번호로 암호화되므로 각 파일에 대한 비밀번호도 필요합니다.

이를 가져오려면 현재 노드를 실행 중인 서비스에서 이러한 파일을 가져와야 합니다. 일부 서비스 제공자는 요청 시 이러한 파일을 검색할 수 있습니다. Allnodes를 사용하는 경우 초기 설정 프로세스 중에 이러한 파일을 가져올 수 있지만 minipool 생성 중에 저장하지 않은 경우 나중에 검색할 수 없습니다.

설치 모드를 선택하고 아래 단계를 따르십시오.

Docker and Hybrid Mode
Native Mode

먼저 rocketpool service start로 Smartnode를 시작했는지 확인합니다. 이렇게 하면 validator의 암호화된 keystore 파일을 보관하는 데 사용할 수 있는 특수 폴더가 생성됩니다.

기본적으로 폴더는 ~/.rocketpool/data/custom-keys에 있습니다. 설치 또는 데이터 디렉토리를 사용자 정의한 경우 custom-keys 폴더를 찾기 위해 적절히 대체하십시오.

파일 탐색기 또는 ls 명령으로 이 폴더가 존재하는지 확인합니다. 없으면 걱정하지 마십시오 - 다음 명령으로 폴더를 만들기만 하면 됩니다:

mkdir ~/.rocketpool/data/custom-keys

다음으로 각 validator keystore 파일을 이 폴더에 배치합니다. 파일 이름은 중요하지 않지만 EIP-2335 형식을 준수하는 JSON 파일이어야 합니다.

Smartnode는 다음 단계에서 여기에 배치한 keystore 파일을 이 디렉토리에서 찾습니다.

참고

가져오기 프로세스는 가져오는 주소에 등록된 minipool에 연결된 validator 키 찾습니다. 이 프로세스를 사용하여 솔로 staking validator와 같은 다른 validator 키를 Smartnode 스택에서 관리하는 Validator client로 가져올 수 없습니다.

이에 관심이 있는 경우 역방향 Hybrid Mode에서 실행하는 방법에 대한 문서를 참조하십시오.

2단계 (선택 사항): 주소 가져오기 테스트하기

올바른 니모닉과 비밀번호를 가지고 있는지 확인하기 위해 실제로 node wallet의 개인 키를 재생성하거나 validator 키를 가져오지 않고 복구 프로세스를 테스트하려면 다음 명령을 사용하면 됩니다:

rocketpool wallet test-recovery -a 0x1234abcd...

여기서 0x1234abcd...0x 접두사로 시작하여 가져오려는 주소입니다. 주소의 개인 키를 가져오려면 니모닉 구문이 필요합니다.

어떤 이유로든 wallet을 복구하고 싶지만 minipool의 validator 키는 복구하고 싶지 않은 경우 -k 플래그를 지정하여 validator 키 복구 프로세스를 건너뛸 수 있습니다. 예를 들어:

rocketpool wallet test-recovery -a 0x1234abcd... -k

Smartnode는 가장 인기 있는 파생 경로(예: Ledger Live, MyEtherWallet, Trezor 및 Smartnode 스택에서 사용하는 경로) 및 주소 인덱스를 자동으로 검색하여 제공한 주소에 해당하는 설정을 찾습니다.

커스텀 파생 경로가 있는 경우 -d 플래그를 사용하여 지정합니다. 예를 들어:

rocketpool wallet test-recovery -d "m/44'/60'/0'/%d"

다른 인덱스를 사용하도록 반복할 수 있는 경로 부분에는 %d를 사용합니다.

커스텀 주소 인덱스가 있는 경우 -i 플래그를 사용하여 지정합니다. 예를 들어 주소가 표준 파생 경로의 6번째인 경우 다음을 사용할 수 있습니다:

rocketpool wallet test-recovery -i 5

필요한 경우 -d-i 플래그를 동시에 사용할 수 있습니다.

먼저 주소의 니모닉 구문을 묻는 메시지가 표시됩니다:

Please enter the number of words in your mnemonic phrase (24 by default):
24

Enter Word Number 1 of your mnemonic:

신중하게 입력하면 Smartnode가 모든 표준 옵션을 검색하여 찾기 시작합니다(-d 및/또는 -i 플래그를 사용하여 명시적으로 지정하지 않은 경우).

다음으로 1단계에서 가져올 개인 keystore 파일이 있는 경우 각 keystore 파일의 비밀번호를 묻는 메시지가 표시됩니다:

It looks like you have some custom keystores for your minipool's validators.
You will be prompted for the passwords each one was encrypted with, so they can be loaded into the Validator Client that Rocket Pool manages for you.

Please enter the password that the keystore for <validator pubkey> was encrypted with:

파일 이름이 아닌 pubkey 목록별로 구성됩니다. 올바른 비밀번호를 입력할 수 있도록 어떤 파일이 어떤 validator pubkey에 해당하는지 확인하십시오.

이 작업을 완료하면 테스트 복구 프로세스가 진행되고 성공 또는 실패 여부를 보고합니다:

Searching for the derivation path and index for wallet 0x1234abcd...
NOTE: this may take several minutes depending on how large your wallet's index is.
The node wallet was successfully recovered.
Derivation path: m/44'/60'/0'/0/%d
Wallet index:    0
Node account:    0x1234abcd...
Validator keys:
<validator pubkey>

위는 성공적인 테스트 복구를 나타냅니다.

3단계: 주소 가져오기

경고

주소가 자체 호스팅 Smartnode에서 관리하지 않는 Rocket Pool 노드인 경우(예: Allnodes와 같은 외부 서비스에서 호스팅), 이 가져오기 프로세스를 시작하기 전에 노드를 실행하는 서비스와 조정하고 자체 호스팅 시스템으로 마이그레이션하려고 한다고 알리는 것이 중요합니다.

노드에 대한 검증을 종료했으며 절대 재개하지 않을 것이라고 확인하고 https://beaconcha.in과 같은 블록체인 탐색기를 사용하여 validator가 더 이상 attestation하지 않음을 수동으로 확인해야 합니다. 안전하게 마이그레이션할 수 있도록 각 validator가 최소 2개의 ATTESTATION을 놓쳤는지 확인해야 합니다. 그렇지 않으면 둘 다 동시에 attestation하고 MINIPOOL이 SLASHED됩니다!

Smartnode는 가져오기 프로세스를 진행하기 전에 이를 수행했는지 확인하도록 요구합니다.

테스트 복구가 성공했거나 건너뛴 경우, 다음으로 wallet을 가져오고 관련된 모든 키 파일을 재생성합니다. 프로세스는 위와 정확히 동일하지만 test-recovery 명령 대신 recover 명령을 사용합니다:

rocketpool wallet recover -a 0x1234abcd...

이 명령을 실행하면 먼저 가져온 node wallet을 암호화할 비밀번호를 묻는 메시지가 표시됩니다.

Please enter a password to secure your wallet with:

Please confirm your password:

그런 다음 이전과 같이 니모닉 및 커스텀 validator keystore 비밀번호 프롬프트가 진행됩니다.

이 모든 정보를 입력하면 Smartnode가 주소와(비활성화되지 않은 경우) minipool의 커스텀 validator 키를 복구합니다:

Searching for the derivation path and index for wallet 0x1234abcd...
NOTE: this may take several minutes depending on how large your wallet's index is.
The node wallet was successfully recovered.
Derivation path: m/44'/60'/0'/0/%d
Wallet index:    0
Node account:    0x1234abcd...
Validator keys:
<validator pubkey>

주소의 개인 키는 이제 data/wallet 파일(예: ~/.rocketpool/data/wallet)에 저장되고 비밀번호는 data/password 파일(예: ~/.rocketpool/data/password)에 저장됩니다.

각 validator의 개인 키는 Smartnode가 지원하는 각 Consensus client의 data/validators 폴더에 저장됩니다.

참고

이런 식으로 주소를 가져오면 validator 키가 node wallet에서 파생되지 않았으므로 일반 node wallet처럼 rocketpool wallet recover를 실행하는 것만으로는 나중에 복구할 수 없습니다.

이 wallet을 다시 복구하거나 가져와야 하는 경우 동일한 프로세스를 따라야 합니다. 즉 이러한 validator 개인 keystore와 비밀번호를 안전한 곳에 백업해야 합니다.

잃어버리면 더 이상 이러한 validator 키를 복구할 수 없습니다!

4단계: 정리하기

이제 data/custom-keys 디렉토리의 모든 개인 keystore 파일을 삭제할 수 있습니다. Smartnode가 이미 가져와서 무작위 비밀번호를 할당했으므로 해당 keystore 파일은 더 이상 필요하지 않습니다.

마지막으로 data 디렉토리(예: ~/.rocketpool/data/custom-key-passwords)에 custom-key-passwords라는 파일이 없는지 확인합니다. Smartnode는 복구 프로세스 중에만 이 임시 파일을 빌드하고 복구 프로세스의 성공 여부에 관계없이 자동으로 제거합니다; 어떤 이유로든 제거하지 못한 경우 콘솔 출력에 알림을 보냅니다. 그러나 너무 조심하는 것이 해가 되지 않습니다.

다음 단계

node wallet을 가져오거나 복구한 후 명령줄 인터페이스 소개 가이드의 다음 단계를 따르십시오.