We’re thrilled to announce that the Gitopia mainnet is going live on May 17th after over two years of non-stop ideation and development! This marks a momentous occasion as it will signal the official birth of the Gitopia network and establish the foundations of our decentralized code collaboration platform. Bootstrapped by a large group of independent validators, the mainnet will usher in a new era of decentralized code collaboration and open-source incentivization.

In this blog, we will walk you through the steps to participate in the Genesis ceremony of Gitopia. This genesis ceremony is critical in establishing the foundations of the Gitopia network and allows for the creation of the first set of validators, who will be responsible for securing the network and validating transactions.

Before you consider participating in this ceremony, please read this entire blog.


Genesis Ceremony Process

Genesis transactions will be collected on GitHub in the mainnet repository and checked for validity by an automated script.

Timeline

  • May 6: Proposal to halt the testnet (proposal link)

  • May 8: Testnet halt and state export

  • May 9: Publish mainnet state, including Game of LORE airdrop

  • May 9: Mainnet gentx submissions open

  • May 14: gentx submission window closes

  • May 17: Mainnet launch

By participating in this ceremony and submitting a gentx, you are making a commitment that you will be around to bring your validator online by the recommended genesis time of 17th May 2023 to launch the network. Note that you can start gitopiad with the final genesis file before that time, and assuming you configure it successfully, it will automatically start the peer-to-peer and consensus processes once the genesis timestamp is reached.

Please keep the following things in mind.

  1. This process is intended for technically inclined people who have participated in the Gitopia Janus testnet. If you aren’t already familiar with this process, you are advised against participating due to the risks involved. There is no need for you to participate if you feel unprepared - you can create a validator or stake LORE any time after launch.

  2. LORE staked during genesis will be at risk of 5% slashing if your validator double signs. If you accidentally misconfigure your validator setup, this can easily happen, and slashed LORE is not expected to be recoverable by any means. Additionally, if you double-sign, your validator will be tombstoned, and you will be required to change the operator and signing keys.

  3. LORE staked during genesis or after will be locked up as part of the defense against long-range attacks for 3 weeks. They can be re-delegated or undelegated but will not be transferrable until a proposal enables transfers.

Genesis File

The mainnet repository will contain a genesis file called pre_genesis.json. If you find an error in this genesis file, please contact us immediately.

Any validator from Janus testnet with a LORE allocation in the pre_genesis.json can participate in the genesis ceremony. They must submit a pull request containing a valid gentx to this repository in the /gentx folder with a file name like <moniker>.json. However, we’ll accept PRs only from the known validators to ensure that 2/3 of the voting power is online at the time of genesis. Others are free to join as a validator once the chain is live.

LORE Tokens

Validators on the Janus testnet have been allocated LORE tokens based on their uptime, services and other contributions during Game of LORE incentivization. Validators who are interested can review the proposed genesis file to confirm their wallet addresses and their token allocations, as well as to audit other allocations.

Instructions

The steps to join as a validator in the genesis event of Gitopia are as follows:

Step 1: Install gitopiad

The first step is to install the Gitopia binary, gitopiad. Get the latest release or build the binary yourselves using the source code here to install gitopiad in your system.

Step 2: Fork genesis repo and clone

Once you have installed the Gitopia binary, you need to fork the Gitopia genesis repository and clone it to your local machine. The Gitopia genesis repository contains the initial configuration and parameters for the Gitopia blockchain.

Step 3: Verify genesis file and create gentx transaction

After cloning the Gitopia genesis repository, copy the pre-genesis.json to gitopia home directory and verify the correctness of the configuration by running the following command:

cp pre-genesis.json ~/.gitopiad/config/genesis.json
gitopiad validate-genesis

Once you have verified the genesis file, you need to create a gentx transaction. A gentx transaction is a special type of transaction that allows you to become a validator on the Gitopia network. To create a gentx transaction, run the following command:

gitopiad gentx \
  --amount <amount_of_delegation_ulore> \
  --commission-rate <commission_rate> \
  --commission-max-rate <commission_max_rate> \
  --commission-max-change-rate <commission_max_change_rate> \
  --pubkey <consensus_pubkey> \
  --name <key_name>

This will produce a file in the ~/.gitopiad/config/gentx/ folder that has a name with the format gentx-<node_id>.json. The content of the file should have a structure as follows:

{
  "type": "auth/StdTx",
  "value": {
    "msg": [
      {
        "type": "cosmos-sdk/MsgCreateValidator",
        "value": {
          "description": {
            "moniker": "<moniker>",
            "identity": "",
            "website": "",
            "details": ""
          },
          "commission": {
            "rate": "<commission_rate>",
            "max_rate": "<commission_max_rate>",
            "max_change_rate": "<commission_max_change_rate>"
          },
          "min_self_delegation": "1",
          "delegator_address": "gitopia1msz843gguwhqx804cdc97n22c4lllfkk39qlnc",
          "validator_address": "gitopiavaloper1msz843gguwhqx804cdc97n22c4lllfkk5352lt",
          "pubkey": "<consensus_pubkey>",
          "value": {
            "denom": "ulore",
            "amount": "100000000000"
          }
        }
      }
    ],
    "fee": {
      "amount": null,
      "gas": "200000"
    },
    "signatures": [
      {
        "pub_key": {
          "type": "tendermint/PubKeySecp256k1",
          "value": "AlT62zuYGlZGUG3Yv0RtIFoPTzVY4N+WEFmBvz1syjws"
        },
        "signature": ""
      }
    ],
    "memo": ""
  }
}

Step 4: Commit and push gentx transaction in the forked repo

After creating your gentx transaction, you need to commit and push it to your forked Gitopia repository.

Step 5: Create a pull request (PR)

The final step in the genesis event of Gitopia is to create a pull request (PR) to submit your gentx transaction to the Gitopia genesis repository. In the PR description, provide details about your validator and your gentx transaction. Once your PR is merged, your gentx transaction will be included in the Gitopia genesis file, and you will become a validator on the Gitopia network at genesis.

Note
We’ll accept PRs only from the known validators to ensure that 2/3 of the voting power is online at the time of genesis. Others are free to join as a validator once the chain is live.

A Note about your Validator Signing Key

Your validator signing private key lives at ~/.gitopiad/config/priv_validator_key.json. If this key is stolen, an attacker would be able to make your validator double sign, causing a slash of 5% of your LORE tokens and the tombstoning of your validator.

Next Steps

Wait for the next release for the gitopiad binary. It’ll be published here and be ready to come online at the recommended time. Peers and seeds would be provided in the same repo before launch, and conveyed through all the channels.

Validators who have been part of the testnet so far and are sure of their uptime and availability during the date can reach out to the team on discord and can be added to the #mainnet-validators channel for all communications and coordinating for a succesful mainnet launch.

At genesis time, the bonded Proof-of-Stake system will kick in to determine the initial validator set (max 100 validators) from the set of gentx transactions. More than 2/3 of the voting power of this set must be online and participating in consensus in order to create the first block and start the gitopia mainnet.

We expect and hope that LORE holders will exercise discretion in initial staking to ensure the network does not ever become excessively centralized as we move steadily to the target of 66% LORE tokens staked. We hope to bootstrap as a decentralized community.

Conclusion

In conclusion, the genesis ceremony is critical in establishing the foundations of the Gitopia blockchain and allows for the creation of the initial set of validators, who will be responsible for securing the Gitopia network and validating transactions. By following the steps outlined in this blog, you can participate in the genesis ceremony and become a validator on the Gitopia network.

Gitopia represents a new era in software development, one that is more collaborative, transparent, and censorship-resistant. By leveraging the power of the decentralized network, Gitopia is creating a new paradigm for how software is developed, shared, and maintained. We look forward to seeing the exciting innovative projects and code collaborations that emerge from the Gitopia ecosystem.


About Gitopia

Gitopia is the next-generation Decentralized Code Collaboration Platform fueled by a decentralized network and interactive token economy. It is designed to optimize the software development process through collaboration, transparency, and open-source incentivization.

Gitopia is a platform for developers and web3 communities to collaborate on open-source projects in a decentralized and censorship-free environment by using permanent storage through Filecoin, Arweave, and IPFS. Additionally, it offers web3-specific features such as Bounties and Proposals, which Gitopia supports through its native LORE token, as well as familiar collaboration tools like Issues and Pull-Requests.


Follow us


Website: https://gitopia.com/

Whitepaper: https://gitopia.com/whitepaper.pdf

Telegram: https://t.me/Gitopia

Discord: https://discord.com/invite/mVpQVW3vKE

Twitter: https://twitter.com/gitopiaDAO

Forum: https://forum.gitopia.com/