경고

Saturn 1 준비를 위해 현재 minipool 예치가 비활성화되어 있습니다.

새로운 Minipool (Validator) 생성하기

먼저 상기하자면, Rocket Pool에서 minipool은 노드가 관리하는 실행 레이어의 고유한 스마트 컨트랙트 인스턴스를 의미합니다. Minipool은 채권 금액으로 알려진 여러분의 ETH 일부와 차입 금액으로 알려진 rETH 스테이킹 풀의 ETH 일부를 처리합니다. 이들을 합쳐 총 32 ETH를 만들고, 이는 Beacon Chain 예치 컨트랙트로 전송되어 새로운 validator를 생성합니다. 따라서 Rocket Pool을 사용하여 validator를 생성하려면 minipool을 생성해야 합니다.

경고

Minipool 생성은 두 개의 대기열에 의해 관리됩니다.

첫 번째는 Rocket Pool 예치 대기열로, Rocket Pool 프로토콜에 의해 관리되며 minipool이 차입 ETH를 받을 시기를 결정합니다. 예치 풀에 ETH가 있어야 여러분의 8 ETH를 예치 풀의 24 ETH와 매칭하여 minipool을 생성할 수 있습니다.

두 번째는 Beacon Chain 대기열로, Ethereum Beacon Chain에 의해 관리되며 validator가 활성화될 시기를 결정합니다.

Minipool이 활성화되는 데 걸리는 시간은 각 대기열의 위치와 네트워크의 현재 상태에 따라 크게 달라질 수 있음을 유의하시기 바랍니다.

참고

Beacon Chain validator 대기열 활성화(및 종료) 시간은 네트워크의 현재 상태에 따라 크게 달라질 수 있습니다.

이는 Rocket Pool의 통제 범위를 벗어나며 Beacon Chain 자체의 기능입니다.

다음 도구는 대기 시간에 대한 좋은 추정치를 제공합니다: https://www.validatorqueue.com/

Validator가 활성화되기까지 얼마나 기다려야 하는지 파악하기 위해 이 도구를 검토하시기 바랍니다.

웹사이트를 통한 RPL 스테이킹

노드를 위해 RPL을 스테이킹하는 가장 쉽고 안전한 방법은 Atlas 업그레이드와 함께 재도입된 프로토콜의 Stake-on-Behalf 기능을 사용하는 것입니다. 이렇게 하면 RPL을 획득하는 데 사용한 지갑에 RPL이 있는 상태에서 노드를 위해 RPL을 스테이킹할 수 있습니다. 즉, 스테이킹하기 위해 노드의 핫 지갑으로 RPL을 보낼 필요가 없습니다.

대신 스테이킹할 주소 화이트리스트 등록

노드를 대신하여 스테이킹하려면 주소가 화이트리스트에 등록되어 있어야 합니다. 인출 주소는 항상 화이트리스트에 등록되어 있으므로, RPL이 인출 주소에 있다면 이 단계를 건너뛸 수 있습니다. 주소를 한 번만 화이트리스트에 등록하면 해당 주소에서 스테이킹할 수 있습니다. 다음 Smartnode 명령을 통해 이를 수행할 수 있습니다:

rocketpool node add-address-to-stake-rpl-whitelist address-or-ens

여기서 address-or-ens는 원하는 주소로 해석되는 주소 또는 ENS 이름입니다. 화이트리스트 추가를 확인하라는 메시지가 표시되고 트랜잭션이 확인되면 아래의 관련 페이지로 이동할 수 있습니다.

대신하여 RPL 스테이킹

아래 탭에서 사용 중인 네트워크를 선택하세요:

MetaMask, WalletConnect 또는 웹사이트가 지원하는 다른 방법을 사용하여 지갑을 웹사이트에 연결하는 것부터 시작하세요. 그러면 노드 주소를 조회할 수 있는 다음 대화상자가 표시됩니다.

노드 주소를 입력하고 "Lookup"을 클릭하세요.

이 작업을 수행하기 전에 올바른 노드 주소가 있는지 확인하세요! 노드의 주소를 확인해야 하는 경우 rocketpool node status 명령을 사용하여 CLI를 통해 빠르게 검색할 수 있습니다.

이렇게 하면 주소가 등록된 노드인지, 노드가 연결된 지갑을 화이트리스트에 등록했는지 확인합니다. 인출 주소는 기본적으로 화이트리스트에 등록되어 있지만, 다른 주소를 허용하려면 노드에서 다음 명령을 통해 화이트리스트에 등록해야 합니다.

rocketpool node add-address-to-stake-rpl-whitelist address-or-ens

이것은 2단계 프로세스입니다.

먼저, 스테이킹하려는 RPL의 양을 입력하고 Approve를 클릭합니다 - 이렇게 하면 스테이킹 컨트랙트가 지갑에서 그만큼의 RPL에 액세스할 수 있도록 승인하지만, 그 금액 이상은 승인하지 않습니다.

Rocket Pool 스테이킹 컨트랙트를 신뢰하고 RPL을 추가로 스테이킹할 때마다 이 추가 승인 트랜잭션을 수행하지 않으려면, 스테이킹하려는 금액보다 많이 승인할 수 있습니다.

RPL이 승인되면 노드를 대신하여 스테이킹할 수 있습니다.

Stake RPL 박스에 스테이킹하려는 RPL의 양을 입력하고, on behalf of Node Address 박스에 노드 주소를 입력하세요.

해당 정보를 입력했으면 Stake 버튼을 누르고 트랜잭션을 승인하세요.

Ethereum 네트워크로 전송되고 블록에 포함되면 모든 설정이 완료됩니다!

rocketpool node status를 실행하면 === RPL Stake === 섹션 아래에 스테이킹된 RPL이 표시됩니다.

스테이크 화이트리스트에서 주소 제거

Stake-on-behalf 화이트리스트에서 주소를 제거하려면 다음 Smartnode 명령을 사용할 수 있습니다:

rocketpool node remove-address-from-stake-rpl-whitelist address-or-ens

여기서 address-or-ens는 화이트리스트에서 제거하려는 주소로 해석되는 주소 또는 ENS 이름입니다.

노드 CLI를 통한 스테이킹

웹사이트를 사용하여 RPL을 스테이킹할 수 없거나 원하지 않는 경우, 노드의 CLI를 통해 직접 스테이킹할 수도 있습니다.

먼저, 획득한 지갑에서 노드의 주소로 RPL을 전송하세요.

경고

신중하게 수행하고 노드의 주소로 RPL을 보내고 있는지 확인하세요 - Ethereum의 전송은 취소할 수 없습니다! 잘못된 주소로 RPL을 보내면 RPL이 손실됩니다.

노드의 주소가 확실하지 않은 경우 rocketpool node status 명령을 사용하여 확인하세요.

다음 명령을 실행하세요:

rocketpool node stake-rpl

출력은 다음과 같습니다:

Please choose an amount of RPL to stake:
1: Your entire RPL balance (1440.000000 RPL)?
2: A custom amount

스테이킹하려는 금액을 선택한 다음 작업을 확인하세요.

이 명령을 처음 실행하면 두 개의 트랜잭션이 포함됩니다 - 하나는 Rocket Pool 스테이킹 컨트랙트가 RPL에 액세스하도록 승인하는 것이고, 다른 하나는 RPL을 스테이킹하는 것입니다. 이후 실행에서는 토큰이 이미 승인되었으므로 스테이크 트랜잭션만 필요합니다.

두 트랜잭션이 완료되면 rocketpool node status로 스테이킹된 RPL 금액을 확인할 수 있습니다. 다음 출력 부분을 확인해야 합니다:

The node has a total stake of 300.000000 RPL.
This is currently 29.76% of its borrowed ETH and 89.29% of its bonded ETH.
It can earn max apy on up to 151.209677 RPL (15% of borrowed ETH), and still earn at lower APY with more RPL.

이를 통해 RPL 담보를 기반으로 각 채권 크기의 minipool을 몇 개 만들 수 있는지 확인할 수 있습니다.

(선택 사항) Minipool을 위한 맞춤 배니티 주소 찾기

기본적으로 새 minipool을 생성하면 Rocket Pool이 무작위로 고유한 주소를 생성합니다. 그러나 Smartnode는 minipool을 위한 맞춤 배니티 주소를 검색하는 기능을 제공합니다.

배니티 주소는 주소가 시작하는 문자를 개인적으로 선택하는 주소입니다. 이것은 순전히 미적인 연습이며 minipool의 작동에 실질적인 영향을 미치지 않습니다. Ethereum 주소는 16진수이므로 다음 문자 중 하나를 사용할 수 있습니다:

0 1 2 3 4 5 6 7 8 9 a b c d e f

몇 가지 예를 들면, minipool의 주소를 0으로 시작하게 만들 수 있습니다(0x000000...), 0x600d(16진수로 "good") 또는 0xa77e57ed(16진수로 "attested", minipool에 적합한 접두사).

이러한 배니티 주소를 찾으려면 검색해야 합니다. 이 검색 프로세스는 숫자를 선택하고 해시 알고리즘에 "솔트"로 적용한 다음 결과를 찾고 있는 것과 비교하는 것입니다. 결과는 사실상 무작위이지만(주어진 솔트는 항상 동일한 결과를 생성함), 원하는 접두사가 있는 주소를 찾는 유일한 방법은 작동하는 솔트를 찾을 때까지 많은 솔트를 시도하는 것입니다.

Minipool을 생성할 때 사용할 맞춤 배니티 주소를 원한다면 다음 명령을 사용하여 검색할 수 있습니다:

rocketpool minipool find-vanity-address

이렇게 하면 검색하려는 접두사를 입력하라는 메시지가 표시되고 수행할 예치 유형(16 ETH 또는 32 ETH 예치 - 이러한 유형에 대한 자세한 내용은 아래 참조)을 묻습니다. 해당 정보를 입력하면 원하는 접두사를 생성하는 솔트를 찾을 때까지 많은 솔트를 시도합니다!

다음은 프로세스의 전체 예입니다:

$ rocketpool minipool find-vanity-address
Please specify the address prefix you would like to search for (must start with 0x):
0xa77e57
Running with 12 threads.
Found on thread 3: salt 0x5cd7fb = 0xA77E57c892C9e98B0B81289e4AfdA62fb59c5DDD
Finished in 1.91145873s

이 경우 접두사로 0xa77e57을 검색했고 이를 생성할 수 있는 솔트 0x5cd7fb를 찾았습니다. 다음 단계에서 minipool을 생성할 때 이 솔트를 선택적 인수로 지정하여 솔트와 연결된 주소(위에 표시된 대로 0xA77E57c892C9e98B0B81289e4AfdA62fb59c5DDD)에 새 minipool을 생성할 수 있습니다.

일반적으로 검색하는 각 추가 문자는 검색 시간을 약 16배 늘립니다. 따라서 CPU 코어가 많은 매우 강력한 머신이 없는 한 최대 7자 또는 8자의 접두사만 찾는 것이 좋습니다. 그렇지 않으면 원하는 접두사를 생성하는 솔트를 찾는 데 너무 오래 걸릴 수 있습니다.

예를 들어, 6개 코어(12개 스레드), 4.8GHz의 AMD 5600x는 초당 약 320만 개의 솔트를 검색할 수 있습니다. 평균적으로 6자 접두사를 찾는 데 몇 초, 7자 접두사를 찾는 데 몇 분, 8자 접두사를 찾는 데 몇 시간이 걸립니다.

참고

생성되는 솔트는 다음 변수에 따라 다릅니다:

  • 사용 중인 네트워크(Hoodi Testnet 또는 Mainnet)
  • 노드 주소
  • 채권 금액
  • 솔트

이러한 변수 중 하나를 변경하면 주어진 솔트에 대한 minipool 주소도 변경됩니다.

고급 사용법(다른 노드 주소 검색 또는 검색에 사용되는 CPU 코어 수 변경 등)은 rocketpool minipool find-vanity-address --help의 도움말 텍스트를 참조하세요.

ETH 예치 및 Minipool 생성

rETH의 시장 가치가 ETH 백킹보다 높은 경우(즉, rETH가 시장에서 프리미엄인 경우), minipool을 생성할 때 차익 거래 기회가 있습니다. 차익 거래의 가치는 minipool의 프로토콜 ETH 양에 프리미엄을 곱한 값(소량의 가스 빼기)과 같습니다. 예: 2.5% 프리미엄이 있을 때 minipool을 만드는 경우: 16 ETH * .025 = 0.4 ETH. 즉, 이러한 조건에서 minipool을 생성하기만 하면 0.4 ETH를 돌려받을 수 있습니다!

이 기회를 활용하는 데 관심이 있다면, minipool 시작 시 발생하는 MEV rETH 차익 거래 기회의 이익을 포착하기 위해 커뮤니티에서 개발한 rocketarb 도구를 사용하는 것을 고려하세요.

rocketarb에 대해 자세히 알아보려면 RP discord 서버에서 문의하세요.

지금까지 수행한 모든 작업 후에 마침내 ETH를 예치하고 새 minipool을 생성하며 Beacon Chain validator를 생성할 준비가 되었습니다. 이는 다음 명령으로 수행됩니다:

rocketpool node deposit
경고

CLI가 다음 단계의 많은 부분을 자동화하지만, prelaunch에서 staking으로 성공적으로 전환되도록 노드와 트랜잭션을 모니터링할 것을 강력히 권장합니다.

실패한 트랜잭션(조정된 가스 설정 또는 ETH 부족으로 인한)은 minipool이 dissolved 상태로 전환될 수 있으며, 이는 피하고 싶은 상태입니다.

성공적인 스테이크 확인 방법에 대해 자세히 알아보기

참고

위 프로세스를 사용하여 찾은 배니티 주소에 대한 솔트를 사용하려면 다음 명령을 대신 실행하세요:

rocketpool node deposit --salt <your salt, e.g. 0x1234abcd>

먼저 새 minipool을 예치하면 노드의 수수료 분배기 컨트랙트(Smoothing Pool에 가입하지 않은 경우 MEV 보상을 캡처하는 데 사용됨)의 잔액이 자동으로 분배된다는 메모가 표시됩니다:

Your eth2 client is on the correct network.
NOTE: by creating a new minipool, your node will automatically claim and distribute any balance you have in your fee distributor contract. If you don't want to claim your balance at this time, you should not create a new minipool.
Would you like to continue? [y/n]

이미 minipool이 있고 수수료 분배기에 잔액이 있는 경우, 이 잔액을 분배하면 관할권에서 과세 대상 이벤트가 발생하는 경우 다른 minipool을 생성하지 않기로 결정할 수 있습니다.

그런 다음 새 minipool의 수수료율과 노드의 크레딧 잔액을 사용하여 minipool 채권 비용을 충당할 수 있는지에 대한 메모가 표시됩니다:

Your minipool will use the current fixed commission rate of 5.00%.
If you participate in the smoothing pool, your minipool will receive at least a 5% commission boost, and up to a 9% commission boost based on RPL stake.
You currently have 8.00 ETH in your credit balance.
This deposit will use 8.000000 ETH from your credit balance and will not require any ETH from your node.

다음으로 네트워크의 현재 가스 비용 권장 사항이 표시됩니다. 가스 가격 선택을 확인하고 나머지 프롬프트를 따르세요.

Your consensus client is synced, you may safely create a minipool.
+============== Suggested Gas Prices ==============+
| Avg Wait Time |  Max Fee  |    Total Gas Cost    |
| 15 Seconds    | 15 gwei   | 0.0244 to 0.0366 ETH |
| 1 Minute      | 10 gwei   | 0.0157 to 0.0235 ETH |
| 3 Minutes     | 7 gwei    | 0.0100 to 0.0150 ETH |
| >10 Minutes   | 6 gwei    | 0.0080 to 0.0120 ETH |
+==================================================+
These prices include a maximum priority fee of 2.00 gwei.
Please enter your max fee (including the priority fee) or leave blank for the default of 10 gwei:
Using a max fee of 10.00 gwei and a priority fee of 2.00 gwei.
You are about to deposit 8.000000 ETH to create a minipool with a minimum possible commission rate of 14.000000%.
ARE YOU SURE YOU WANT TO DO THIS? Exiting this minipool and retrieving your capital cannot be done until:
- Your minipool has been *active* on the Beacon Chain for 256 epochs (approx. 27 hours)
- The Shapella upgrade of the Ethereum network has been deployed
- The Atlas upgrade of the Rocket Pool protocol has been deployed
- Your minipool has been upgraded to use the Atlas delegate
 [y/n]
y
Creating minipool...
Transaction has been submitted with hash <transaction hash>.
You may follow its progress by visiting:
<link to transaction>
Waiting for the transaction to be included in a block... you may wait here for it, or press CTRL+C to exit and return to the terminal.
The node deposit of 8.000000 ETH was made successfully!
Your new minipool's address is: <new minipool address>
The validator pubkey is: <new validator public key>
Your minipool is now in Initialized status.
Once the remaining ETH has been assigned to your minipool from the staking pool, it will move to Prelaunch status.
After that, it will move to Staking status once 1h0m0s have passed.
You can watch its progress using `rocketpool service logs node`.

Minipool 생성은 비용이 많이 드는 트랜잭션입니다! 총 비용에 주의를 기울이고 수락하는지 확인하세요.

수락하면 minipool 생성이 트리거됩니다. 트랜잭션이 완료되면 실행 레이어의 새 minipool 컨트랙트 주소와 Beacon Chain의 해당 validator 공개 키가 제공됩니다. 원하는 경우 블록 탐색기로 이를 방문할 수 있습니다.

성공적인 스테이크 확인

생성되면 minipool은 initialized 상태가 됩니다. Rocket Pool 대기열에서 차례가 되어 스테이킹 풀에서 24 ETH를 받아 Beacon Chain에 새 validator를 스테이킹할 수 있을 때까지 이 상태로 유지됩니다.

이런 일이 발생하면 minipool은 일정 기간(현재 12시간) 동안 prelaunch 상태로 이동합니다. 8 ETH 예치금이 Beacon Chain으로 전송되고 Oracle DAO가 모든 것이 올바른지 확인합니다. 이 기간 동안 https://beaconcha.in(또는 Hoodi Testnet의 경우 https://hoodi.beaconcha.in)과 같은 Beacon Chain 탐색기로 validator pubkey를 조회하여 validator를 관찰할 수 있습니다.

rocketpool minipool status 명령으로 새 minipool의 상태를 확인할 수 있습니다. 예를 들어, prelaunch로 이동하면 다음과 같이 표시될 것입니다:

1 Prelaunch minipool(s):
--------------------
Address:              <your minipool address>
Penalties:             0
Status updated:        2024-10-31, 04:51 +0000 UTC
Node fee:              5.000000%
Node deposit:          8.000000 ETH
RP ETH assigned:       2024-10-31, 04:51 +0000 UTC
RP deposit:            24.000000 ETH
Minipool Balance (EL): 31.000000 ETH
Your portion:          7.000000 ETH
Available refund:      0.000000 ETH
Total EL rewards:      7.000000 ETH
Validator pubkey:      <your validator public key>
Validator index:       0
Validator seen:        no
Use latest delegate:   no
Delegate address:      <your delegate address>
Rollback delegate:     <none>
Effective delegate:    <your delegate address>
0 finalized minipool(s):

이 prelaunch 기간 후에 minipool은 staking 상태로 전환되고 스테이킹 풀에서 예치 컨트랙트로 추가 ETH를 전송합니다. 이는 rocketpool_node Docker 컨테이너(또는 Native 설정을 사용한 경우 rp-node 서비스)에 의해 수행됩니다 - 어떤 이유로 staking 상태로 전환하는 데 비정상적으로 오래 걸리는 경우, 이 컨테이너/서비스의 로그를 보면 무엇이 잘못되었는지 알 수 있습니다. rocketpool service logs node 명령(또는 Native 모드 설정의 경우 /srv/rocketpool/node_log.sh)으로 이러한 로그를 확인할 수 있습니다.

rocketpool minipool status를 실행하면 다음과 같이 표시됩니다:

$ rocketpool minipool status
1 Staking minipool(s):
--------------------
Address:              <your validator address>
Penalties:             0
RP ETH assigned:       2024-10-31, 05:53 +0000 UTC
Node fee:              5.000000%
Node deposit:          8.000000 ETH
RP ETH assigned:       2024-10-31, 04:51 +0000 UTC
RP deposit:            24.000000 ETH
Minipool Balance (EL): 0.000000 ETH
Your portion:          0.000000 ETH
Available refund:      0.000000 ETH
Total EL rewards:      0.000000 ETH
Validator pubkey:     <your validator public key>
Validator index:      <your validator index number>
Validator active:     yes
Validator balance:    32.018460 ETH
Expected rewards:     16.010614 ETH
Use latest delegate:  no
Delegate address:     <your delegate address>
Rollback delegate:    <none>
Effective delegate:   <your delegate address>
0 finalized minipool(s):
참고

prelaunch에서 staking으로 마이그레이션하는 트랜잭션은 노드에 의해 자동으로 제출되며 rocketpool service config의 가스 설정이 적용됩니다. 가스 설정이 노드가 트랜잭션을 제출하지 못하게 하거나 노드 지갑에 트랜잭션 비용을 지불할 ETH가 부족한 경우, minipool은 prelaunch로 전환된 후 2주 후에 dissolved가 됩니다. 이런 일이 발생하면 잔액을 검색하는 과정이 비용이 많이 들고 시간이 오래 걸리므로 staking 상태에 도달할 때까지 minipool을 면밀히 모니터링하세요!

Beacon Chain이 두 예치금(하나는 귀하로부터, 하나는 스테이킹 풀로부터)을 수락하면 validator는 Beacon Chain 대기열에 진입하여 활성화되어 스테이킹을 시작할 차례를 기다립니다.

이 시점에서 완료되었습니다! 축하합니다! Rocket Pool로 validator를 공식적으로 생성했습니다!

시간이 지남에 따라 validator의 성능과 상태를 관찰하는 방법을 알아보려면 모니터링 및 유지 관리의 다음 섹션을 살펴보세요.

여러 Minipool 생성

편리하게도 Rocket Pool 노드는 원하는 만큼 많은 minipool을 호스팅할 수 있습니다. 각 minipool에 대해 새 노드를 생성할 필요가 없습니다.

노드에 대한 두 번째(또는 세 번째, 네 번째...) minipool을 만들려면 rocketpool node deposit을 다시 실행하기만 하면 됩니다. 또한 이전 배니티 주소 솔트를 재사용할 수 없으므로 각 minipool에 대해 다른 고유한 솔트를 검색해야 합니다.

다음 단계

이제 minipool이 실행 중이므로 다음 단계에서는 노드의 상태를 모니터링하고 업데이트를 확인 및 적용하며 수명 내내 유지 관리하는 방법을 안내합니다.

다음에 이러한 주제에 대해 자세히 알아보려면 모니터링 및 유지 관리 섹션을 읽어보세요.