Hello all!
We have completed the guide outlining the steps necessary for Gen-1.a nodes to be run after the 48-months is complete. Please note in particular the timing requirement so that DFINITY DRE team can maintain subnets through the transition.
In addition to this post, the steps are also on the wiki here:
Steps for Gen-1 Node onboarding after 48 months
As discussed in other forum posts here and here, all of our Gen-1 Node Providers who helped launch the network at Genesis are nearing the end of their first 48 months hosting nodes. This means that the NNS registration and rewards for all type-1 nodes will end when the 48 months are up.
In the motion proposal 132553, it was decided that it would be beneficial for the IC to keep as many Gen-1 nodes as possible, due to the lower cost and an infrastructure that is already set up. This entails Gen1 Node Providers keeping a maximum of 42 node machines, and allowing Gen1 Node Providers to sell excess nodes to existing or new Node Providers while keeping the node machines in the same data center. Please refer to this forum post for more details.
The motion proposal was followed by the node reward configuration proposal 133145, that implements the updated node reward scheme for Gen1 node machines after 48 months in the NNS registry. Please refer to this forum post for more details.
In line with the above, and in order for nodes to earn rewards beyond the 48 months, each Gen1 Node Provider will need to follow the below steps. For Gen1 Node Providers with less than 42 nodes, only steps 1 and 1a are applicable.
Step 1 - Update of reward configuration of remaining node machines (action holder existing node provider)
A. On the forum (in this thread and cross-posted on the new NP thread here)*, a post with at least the following information:
- A link to your self-declaration on the wiki, to declare that you will act in the best interest of the IC. If not already published, the instruction for publication of the self-declaration can be found here
- A statement of how many nodes you wish to continue running under the new remuneration (link)
- A statement of which DC(s) those nodes will run in
- A confirmation that you have deployed two nodes with IPv4 and a domain name in each DC(s)
- The date when these nodes will start earning the new reward values (which should be the day after your original 48 months end)
- The Element/Matrix alias on which the node provider can be reached.
Note: If the forum will not permit you to add a link, DM Katie here or on Element.
B. NNS - using your existing Node Operator Id, submit an NNS proposal using the template below to submit the new count of nodes into the registry as node type1.1*
Your forum post (Edited: not proposal) should be submitted 30 days prior to the date specified Step 1.A.5 to allow the DRE team to submit the subnet membership change proposals, as active excess nodes need to be removed from subnets. (ETA:) The proposal to change node rewards will need to wait until after Feb 13 to allow for your last reward minting under current rewards.
Step 1a (optional, but recommended. Action holder existing node provider)
Reconfigure remaining node machines without HSM-key, to allow for better support by DRE team. The timing for this must be coordinated with DFiNITY so subnets can be maintained.
The following steps need to be followed when reconfiguring the remaining node machines without HSM:
- Get new node operator private keys and node operator principle using the installation instructions, without the use of an HSM, i.e. steps 6 and 7.
- NNS - in collaboration with Dfinity DRE team, remove any node machines from active subnets, making node machines “ready to join a subnet”.
- Redeploy the remaining number of nodes (max 42) to the new node operator record following the node deployment instructions (keeping the IPv6 for the first two nodes).
- NNS - create a node operator record with the allowance for the remaining number of nodes, following the installation instruction, step 10.
- NNS - remove the old node operator record
- NNS - Update the new node operator record with the reward configuration (same as step 1.6, but with the new NO id) with the nodes that have been redeployed.
Step 2 - Handover (action holder - existing node provider)
Any excess node machines (above the maximum of 42 nodes) can be sold by the existing node provider to a new (or existing) other node provider that is not in any way controlled by the existing node provider. The following steps need to be followed:
A. A statement, published on the IC wiki, signed by both the existing and the new node provider, of the hand-over of <> node machines. It should also include:
- In which Data Center these excess node machines will be operated
- Declaration that both NPs do not have any majority control in each other’s operations
- A confirmation that you have deployed two nodes with IPv4 and a domain name in each DC(s)
- The date when these nodes will start earning the new reward values
B. On the forum, a post describing the handover of the excess nodes that links to the above wiki statement and which also includes the same four details. Note: If the forum will not permit you to add a link, DM Katie here or on Element.
After these above steps, the node provider acquiring the excess nodes will commence with officially onboarding as a new node provider following the regular steps described in the wiki. These steps are summarized below.
Step 3 - Onboarding of excess Gen1 node machines that are sold to a new or an existing NP (action holder - acquiring node provider)
- (If new NP) On IC wiki - Post self-declaration document, as described here.
- (If new NP) On IC wiki - Post proof of identity document, as described here.
- (If new NP) Follow the onboarding process for a new node provider.
- (If new NP) On Forum - Introduction by the new NP, including the Element/Matrix alias on which the node provider can be reached.
- (If new NP) NNS - Submit a new NP proposal, as per step 8 of the NP onboarding instructions.
- (New NP or existing NP, if nodes are going into a new DC) NNS - submit a new Data Center Record, as per step 9 of the onboarding process. This step can be skipped if the node machines will remain in the current data center where the nodes were hosted by the previous node providers.
- (New NP or existing NP) NNS - submit Node Operator record for node allowance, as per step 10 of the onboarding process.
- (New NP or existing NP) NNS - submit Node Operator record for reward configuration.
SAMPLE PROPOSALS
Sample proposal for Step 1.A.4
$ NEURON_ID=XXXXXXXXXXXXXXXXXXXX
$ NODE_PROVIDER_PRINCIPAL=xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxx
$ NODE_OPERATOR_PRINCIPAL_NEW=xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxx
$ NODE_PROVIDER_NAME="My Company"
$ NODE_ALLOWANCE=8
$ FORUM_POST_URL="https://forum.dfinity.org/..."
$ WIKI_URL="https://wiki.internetcomputer.org/wiki/..."
$ DC_ID=dl1
$ ./ic-admin \
--nns-url https://ic0.app \
-s ~/.config/dfx/identity/node-provider-hotkey/identity.pem \
propose-to-add-node-operator \
$NODE_PROVIDER_PRINCIPAL \
--summary "Node provider '$NODE_PROVIDER_NAME' is creating a new Node Operator id for adding $NODE_ALLOWANCE nodes in the $DC_ID data center. This proposal is in line with motion proposal 132553 for node rewards after 48 months, the proposal is clarified in this forum post: $FORUM_POST_URL and this wiki link $WIKI_URL" \
--proposer $NEURON_ID \
--node-operator-principal-id $NODE_OPERATOR_PRINCIPAL_NEW \
--node-allowance $NODE_ALLOWANCE \
--dc-id $DC_ID
Sample proposal for Step 1.A.5:
$ NEURON_ID=XXXXXXXXXXXXXXXXXXXX
$ NODE_PROVIDER_PRINCIPAL=xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxx
$ NODE_OPERATOR_PRINCIPAL_OLD=xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxx
$ NODE_PROVIDER_NAME="My Company"
$ FORUM_POST_URL="https://forum.dfinity.org/..."
$ WIKI_URL="https://wiki.internetcomputer.org/wiki/..."
$ ./ic-admin \
--nns-url https://ic0.app \
-s ~/.config/dfx/identity/node-provider-hotkey/identity.pem \
propose-to-remove-node-operator \
$NODE_OPERATOR_PRINCIPAL_OLD \
--summary "Node provider '$NODE_PROVIDER_NAME' is removing the old Node Operator ID in the $DC_ID data center. This proposal is in line with motion proposal 132553 for node rewards after 48 months, the proposal is clarified in this forum post $FORUM_POST_URL and this wiki link $WIKI_URL" \
--proposer $NEURON_ID
Sample proposal for step 1a6:
$ NEURON_ID = XXXXXXXXXXXXXXXXXXXX
$ NODE_OPERATOR_PRINCIPAL = xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxx
$ ./ic-admin \
--nns-url https://ic0.app \
-s ~/.config/dfx/identity/node-provider-hotkey/identity.pem \
propose-to-update-node-operator-config \
--proposer $NEURON_ID \
--summary "In line with motion proposal 132553 for node rewards after 48 months, set rewards for the following nodes:
* NODE_1_MACHINE_ID
* NODE_2_MACHINE_ID
* ...
* NODE_N_MACHINE_ID
" \
--node-operator-id $NODE_OPERATOR_PRINCIPAL \
--rewardable-nodes '{"type1.1": NODE_COUNT}'
Sample proposal for step 1B:
$ NEURON_ID=XXXXXXXXXXXXXXXXXXXX
$ NODE_OPERATOR_PRINCIPAL=xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxx
$ FORUM_POST_URL="https://forum.dfinity.org/..."
$ WIKI_URL="https://wiki.internetcomputer.org/wiki/..."
$ ./ic-admin \
--nns-url https://ic0.app \
-s ~/.config/dfx/identity/node-provider-hotkey/identity.pem \
propose-to-update-node-operator-config \
--proposer $NEURON_ID \
--summary "In line with motion proposal 132553 for node rewards after 48 months, set rewards for the following nodes:
* NODE_1_MACHINE_ID
* NODE_2_MACHINE_ID
* ...
* NODE_N_MACHINE_ID
For a detailed clarification of the proposal, please refer to the following forum post $FORUM_POST_URL
" \
--node-operator-id $NODE_OPERATOR_PRINCIPAL \
--rewardable-nodes '{"type1.1": NODE_COUNT}'
(Edited to add links and notes to address questions I was getting)