- Make sure your node is up and running and fully synced by following https://github.com/iotexproject/iotex-bootstrap
- Have the command line tool installed
Latest/nightly build
curl https://raw.githubusercontent.com/iotexproject/iotex-core/master/install-cli.sh | sh -s "unstable"
Last released build
curl https://raw.githubusercontent.com/iotexproject/iotex-core/master/install-cli.sh | sh
- Config the command line tool by
ioctl config set endpoint api.testnet.iotex.one:80
- Request IOTTT (testing tokens on Ethereum mainnet) from IoTeX Team.
- Register a delegate name (12 chars, all lower-case) in https://member-testnet.iotex.io/profile/. Need to fill in IoTeX addresses (generated by
ioctl account create
). No need to fill up profile information. - Wait until the txs are done. If txs failed and the gas usage is 100%, please bump the gas usage as Metamask is conservative about it.
- Stake/vote for the delegate name you just registered on https://member-testnet.iotex.io/my-votes
- Wait until the txs are done.
-
Install grpcurl, e.g.,
brew install grpcurl
-
Get the height of Ethereum mainnet that election service has sycned up to:
➜ grpcurl -v -plaintext 35.203.165.104:8089 api.APIService.getMeta
Response contents:
{
"height": "8128200",
"totalCandidates": 2,
"totalVotedStakes": "22535256000000000000000000",
"totalVotes": "26699190643280406696696617"
}
- Use height from the obtained response, and check the current ranking status
➜ grpcurl -v -plaintext -d '{"height": "7356100", "offset": 0, "limit": 100}' 35.203.165.104:8089 api.APIService.getCandidates
Response contents:
{
"candidates": [
{
"name": "313233343536373839306363",
"address": "859f8c4f109621b7b8abe05dd5f864189c2312a0",
"totalWeightedVotes": "13000000000000000000000000"
},
{
"name": "7261756c6c656e6368616978",
"address": "70848b6bf2cd4c72b4874d1250b5967b219c210e",
"totalWeightedVotes": "3970496863824852444846414"
},
{
"name": "726f626f7462703030303233",
"address": "29aa546d82754dfaf2d4a8759ec1164ee80f7ba5",
"totalWeightedVotes": "1582623286136911937580000"
},
{
"name": "726f626f7462703030303232",
"address": "6a1036fb5623cc6dd0bf2d5a3e69ee89517c573e",
"totalWeightedVotes": "1571555990429660805140000"
},
{
"name": "726f626f7462703030303231",
"address": "5d34b7115124b80863f20cb07d16e403a280c1ce",
"totalWeightedVotes": "1560488694722409672720000"
},
{
"name": "726f626f7462703030303230",
"address": "38d9e60d6e1e3f0a1b42f0ca9ab5793de234f292",
"totalWeightedVotes": "1549421399015158540280000"
},
{
"name": "726f626f7462703030303139",
"address": "8d6a4fae6d134c55aaaf2553887c226235421098",
"totalWeightedVotes": "1538354103307907407840000"
},
{
"name": "726f626f7462703030303138",
"address": "fd5edc5405a261268477c23b400c2d84aba045c1",
"totalWeightedVotes": "1527286807600656275420000"
},
{
"name": "726f626f7462703030303137",
"address": "34d0cf40f647c1eb11d8e5dbe526a4e47ac5bad9",
"totalWeightedVotes": "1516219511893405142980000"
},
{
"name": "726f626f7462703030303136",
"address": "13f8ebd57488019a9652120a5b2be7554aa31fba",
"totalWeightedVotes": "1505152216186154010560000"
},
{
"name": "726f626f7462703030303135",
"address": "8ef5a73e525eeb49208525b0cdd84a72f804ee4c",
"totalWeightedVotes": "1494084920478902878120000"
},
{
"name": "726f626f7462703030303134",
"address": "c24c4a42c88c213264fc706b65bdbc62f0a18ab4",
"totalWeightedVotes": "1483017624771651745700000"
},
{
"name": "726f626f7462703030303133",
"address": "2b7c5cc4dc19744380c306da66c2826c5da3630b",
"totalWeightedVotes": "1471950329064400613270000"
},
{
"name": "726f626f7462703030303132",
"address": "800e135750dc4dfe6a2f38ba0312575db174a64c",
"totalWeightedVotes": "1460883033357149480840000"
},
{
"name": "726f626f7462703030303131",
"address": "516f5a2fb2da79201304bd74b779403062648045",
"totalWeightedVotes": "1449815737649898348400000"
},
{
"name": "726f626f7462703030303130",
"address": "c30ee17f6f71c1266ee7d8fbf832b6d3687e40e1",
"totalWeightedVotes": "1438748441942647215970000"
},
{
"name": "726f626f7462703030303039",
"address": "6d449655286b3449dcf787c79097e8addbbc316c",
"totalWeightedVotes": "1427681146235396083540000"
},
{
"name": "726f626f7462703030303038",
"address": "51745cd1670878c2e06c5385cfd2177eed63e433",
"totalWeightedVotes": "1416613850528144951110000"
},
{
"name": "726f626f7462703030303037",
"address": "22a8a691599704a58a2360f7680ad650d75983dd",
"totalWeightedVotes": "1405546554820893818680000"
},
{
"name": "726f626f7462703030303036",
"address": "bb897aa2cbed13e539beccf7efc4dd932184c3e1",
"totalWeightedVotes": "1394479259113642686250000"
},
{
"name": "726f626f7462703030303035",
"address": "38f558bb09ab2e364763b030f369b6691c65c577",
"totalWeightedVotes": "1383411963406391553820000"
},
{
"name": "726f626f7462703030303034",
"address": "d502ea61d570301c22133c1018ff8379179cafd3",
"totalWeightedVotes": "1372344667699140421390000"
},
{
"name": "726f626f7462703030303033",
"address": "58d1d787c6846f973c499dc09ed39937461d39cf",
"totalWeightedVotes": "1361277371991889288960000"
},
{
"name": "726f626f7462703030303032",
"address": "0524b9826c6127a8b2702d782c720771860e075e",
"totalWeightedVotes": "1350210076284638156530000"
},
{
"name": "726f626f7462703030303031",
"address": "029d72237b106e352937a79f1fbeb2152d72aef2",
"totalWeightedVotes": "1339142780577387024100000"
},
{
"name": "726f626f7462703030303030",
"address": "10c7f115eb6efcf55483d63e6fb78fa39b5f02de",
"totalWeightedVotes": "1328075484870135891670000"
}
]
}
- Find your name (in the hex form, https://codebeautify.org/string-hex-converter can be useful here) in the reponse.
-
If your node is ranked in top 24, it will be swap into delegate group in about 1.5 hours. Stay tuned!
-
Once it is in, check its performance by
ioctl node delegate
and its earning by
➜ wss ioctl node reward io1j07xpufsj03sc0dg020jahacx2pnt6m8cdl6qt
io1j07xpufsj03sc0dg020jahacx2pnt6m8cdl6qt: 1621920.27288700615265475 IOTX
- You could claim the reward to an IoTeX address by using
ioctl action claim