135 subscribers



Table of Contents

System Requirements:

  • 4 core CPU
  • 8GB RAM
  • 100GB Storage

System Requirements:Before continuing, please check that you completed all these steps before creating your own collator.

  • Read the introduction to Pontem staking.
  • You have an account on Pontem network that contains at least +101 PONT tokens to create collator and pay network fees:
  • Create an account using UI or use CLI.
  • Use FAUCET to get free testnet tokens (you can use it once every 24 hours).
  • Synchronized bootstrap node. Read docs in the repository to update your own node.
  • Collator Nimbus mnemonic phrase key (you create this when initializing your bootstrap node).

After you complete all the required steps, you can start with the process of creating a collator.

Map author to your account id

  1. Before you can create a collator you need to map your node's Nimbus key with your account.

It's done in the following way because of security requirements:

  • Your node generates new blocks using the Nimbus key, but you don't share your account key where you are storing the rewards generated.
  • All rewards generated by your collator go to your account (separate from the Nimbus account).
  1. Copy public key from your bootstrap node:

IMPORTANT: use the same mnemonic seed you used during the creation of your bootstrap node!

# Replace <you_mnemonic> with your mnemonic phrase.
docker-compose run pontem-node pontem key inspect --keystore-path /opt/pontem/keys "<your_mnemonic>"

You will see something like this in the output:

Secret Key URI `//Bob` is account:
Secret seed:       0x02ca07977bdc4c93b5e00fcbb991b4e8ae20d05444153fd968e04bed6b4946e7
Public key (hex):  0xb832ced5ca2de9fe76ef101d8ab1b8dd778e1ab5a809d019c57b78e45ecbaa56
Public key (SS58): 5GEDm6TY5apP4bhwuTtTzA7z9vHbCL1V2D5nE8sPga6WKhNH
Account ID:        0xb832ced5ca2de9fe76ef101d8ab1b8dd778e1ab5a809d019c57b78e45ecbaa56
SS58 Address:      5GEDm6TY5apP4bhwuTtTzA7z9vHbCL1V2D5nE8sPga6WKhNH

Copy Public key (hex) as your public key, it's going to be your validator public key.

Now you need to map your public key with your account:

  1. Navigate to extrinsics.
  2. Choose authorMapping pallet under 'submit the following extrinsic'.
  3. Choose addAssociation(author_id) function.
  4. Put your public key in author_id field.
  5. Send transaction from your account.

After the transaction is executed you will lose 1 PONT coin as a reserved amount for mapping public key. If you don't want to participate anymore, you can get your PONT back by calling the clearAssociation method of the same pallet.

Let's check that the author mapped correctly:

  1. Navigate to Chain State
  2. Choose authorMapping pallet under 'selected state query'.
  3. Choose mappingWithDeposit(NimbusPrimitivesNimbusCryptoPublic):Option<PalletAuthorMappingRegistrationInfo>
  4. Put your public key in AuthorId field.
  5. Make call.

NOTE: You will see a deposit amount of 10,000,000,000. This is normal and still just 1 PONT

Become collator

First you need to query current amount of collator candidates.

  1. Navigate to Pontem UI. Javascript
  2. Execute there following code (remove pre-defined code before):
// Simple script to get candidate pool size
const candidatePool = await api.query.parachainStaking.candidatePool();
console.log(`Candidate pool size is: ${candidatePool.length}`);

Copy printed number after Candidate pool size is:

Create your collator candidate:

  1. Navigate to extrinsics.
  2. Choose parachainStaking pallet.
  3. Choose joinCandidates(bond, candidate_count) function.
  4. Put amount to bond in the bond field. For example 11000000000000 is 1100 PONT (we recommend to put at least 1100 PONT).

NOTE: Do not forget about 10 decimals! You need to add ten zeros to the amount. For example, to put 1100 PONT - enter 11000000000000

  1. For candidate_count use value you copied in the previous step.
  2. Send transaction from your account.

IMPORTANT: To become an active collator (produce blocks), you need at least 1000 PONT staked for your collator. You can stake it yourself or ask nominators to stake for you.

Once your collator is among the top positions you will become active and start generating blocks.

Also, you need to wait at least 1 round to make changes appear (the same is required for almost any other staking related methods and changes).

Self Stake

You can self-stake more or less for your collator.

Bond More

  1. Navigate to extrinsics.
  2. Choose parachainStaking pallet.
  3. Choose candidateBondMore(more) function.
  4. Specify the additional amount to be bonded in the more field (do not forget about 10 decimals!).
  5. Submit the transaction.

You can get your staked coins back using candidateBondLess method.

Bond less

  1. Navigate to extrinsics.
  2. Choose parachainStaking pallet.
  3. Choose candidateBondLess(less) function.
  4. Specify the amount by which you want to decrease your bond in the less field (do not forget about 10 decimals!).
  5. Submit the transaction.

Go Offline

You can go offline as a collator. In extrinsics use the parachainStaking pallet and goOffline() method, after you are ready again to produce blocks: send transaction contains method goOnline.

Leave Candidates

If you want to leave the collators list, send a transaction that contains the method leaveCandidates. You will leave in the next round, get self-stake back and your nominators also will get their stakes back.

More Methods

  1. Navigate to extrinsics.
  2. Choose parachainStaking pallet.
  3. Scroll methods list and review methods descriptions.

Useful links

The staking mechanism that the Pontem Network uses was initially implemented by the Moonbeam team, so we also recommend reviewing their documentation that is very useful.

Install our wallet and try DEX

Related posts