Skip to main content

2. Onboarding and prepare gentx

D-Foundation is using Gayadeed to perform KYC, document composition and digital signatures.

There are 3 steps to onboard and prepare the genesis file for the testnet:

  1. Submit D-Chain address for Testnet pre-genesis allocation
  2. Onboard and Obtain for Verifiable Presentation
  3. Create and submit genesis transaction and peer id

1. Prepare and Submit Addresses

1. Submit dchain address for Testnet pre-genesis allocation

Build the binary and submit base account address (starts with dchain1) for pre-genesis allocation.

# Go version 1.21.1 is required

git clone --branch v0.4.1 --depth 1 git@repos.gayadeed.it:d-foundation/protocol.git
cd protocol
make build
# or install sudo mv ./dchain /usr/local/bin

# check version to be the below:
dchain version --long

# commit: 54b87f2500aa181ef9f5061cd2dec07f9c4e58d3
# cosmos_sdk_version: v0.0.0-20240820023506-6f2d52be7a55
# go: go version go1.21.1 linux/amd64
# name: dchain
# server_name: dchain
# version: HEAD-54b87f2500aa181ef9f5061cd2dec07f9c4e58d3

2. Prepare Consensus Address to onboard with Gayadeed

Please ensure you have the consensus address for next steps - Onboarding with Gayadeed.

dchain cometbft show-address # shows your validator consensus address starting with `dchainvalcons1`

2. Onboard and obtain Verifiable Presentation

This step completes KYB requirements for testnet and mainnet.

Please ensure you have the following for this step:
- your passport
- company business registration
- all of the significant controllers' identity documents (individuals controlling over > 25% of the company)
- valid phone number to receive SMS
- Consensus Address

Below is an example for Gayadeed Srl to onboard as a testnet validator.

1. Register on Gayadeed

After we have received your base account address, we will invite you to participate in a deed. You will receive an invitation email to setup password and login.

Gayadeed Invitation Email

Please select KYX option to proceed.

Gayadeed KYX

You will be redirected to complete KYX via Jumio, which you can do via mobile.

Mobile Jumio KYC

After you have completed the process with Jumio, you will be redirected back to Gayadeed. The final check may take a few minutes and you will be notified via email once it has been completed.

You can refresh the setup page once you have received the email

2. Upload & Generate Documents

Click Manage Checklist to upload & generate documents for the testnet.

Manage Checklist

Your KYX information will be auto-populated in the first row.

Click Document Attachments and upload

  • Business registration certificate
  • Significant controllers identity documents (if there are more than one, please upload the other by clicking Attach optional files)
Document attachments

Click Generate to generate a document where you will have to add the consensus address.

Generate Document

The generated form will pre-populate with some of the information you provided during the KYC process. Please add you Company Name and Consensus Address.

Generated Form

After you have completed the checklist, they will be shown in the Deed section.

Note: Modulo FEA.pdf is a bilateral agreement required for Advanced Electronic Signatures for first time signers with D-Foundation.

Completed Checklist

This is the end of this step. You will be notified via email once the documents are ready to be signed via email.

D-Foundation will be informed to approve and start the signature flow

3. Sign Documents and Receive Verifiable Presentation

Please ensure you can receive SMS on the provided number for this step

Once documents are checked, you will receive an email to digitally sign the documents.

Signature Invitation Email

Please log in and start the document signing process.

Signature Async

This will redirect you to the signature process.

1: You will be asked to sign the previously generated document with the Consensus Address as one of the Electron Attestation of Attributes.

Click Read and Accept to sign the document.

Sign EAA Doc

2: You will be asked to sign bilateral agreement required for Advanced Electronic Signatures with D-Foundation if this is your first agreement with D-Foundation.

Click All Three Boxes to sign the document.

Sign FEA Doc

3: You will be asked to enter an OTP sent to your mobile number.

OTP

4: IMPORTANT! Finally after the process is completed please click Finish

Finish Signature Process

5: Receive signed documents and verifiable presentation for testnet. You will then 2 emails:

  1. All of the signed documents
  2. A verifiable presentation to be used for the validator node (see next step).
Email VP

3. Create and Submit Genesis Transaction and Peer ID

WIP: Todo link pre-genesis once ready

1. Create and Submit Genesis Trasaction

After the pre-genesis file has been prepared, you can now create the genesis transaction.

The pre-genesis file can be found in the D-Foundation Networks repo.

2. Create genesis transaction keys

dchain genesis gentx <key-name> 100000000000000udt \
--chain-id="test-theodoric-1" \
--moniker=<moniker>\
--commission-max-change-rate="0.01" \
--commission-max-rate="0.1" \
--commission-rate="0.05" \
--min-self-delegation="30000000000000" \
--details="" \
--security-contact="" \
--node-id=$(dchain cometbft show-node-id)

which should result in a file written to Genesis transaction written to "/home/debian/.dchain/config/gentx/gentx-<>.json"

Upload this file to the Networks repo under testnets/test-theodoric-1/gentx. Please also add peer information to testnets/test-theodoric-1/peers. It should be in the form of $(dchain comet show-node-id)@<ip>:<port>.