Warning
THE CODE IN THIS REPOSITORY HAS NOT BEEN AUDITED YET.
PLEASE USE EXTREME CAUTION WHEN USING THIS SOFTWARE, AND USE IT AT YOUR OWN RISK. FOR THE TIME BEING, WE ADVISE THAT YOU NOT USE IT WITH YOUR PERSONAL PRIVATE KEY(S).
THIS IS ESPECIALLY IMPORTANT AS GOVGEN RELIES ON AND USES ACCOUNTS DERIVED FROM THE COSMOS HUB, AND THEREFORE THERE IS RISK OF COMPROMISING YOUR COSMOS HUB ACCOUNT AS WELL.
GovGen is built using the Cosmos SDK as a fork of the Cosmos Hub at version v14.1.0.
The following modifications have been made to the Cosmos Hub software to create GovGen:
- Removed x/globalfee module and revert to older and simpler fee decorator
- Removed IBC and related modules (e.g. ICA, Packet Forwarding Middleware, etc.)
- Removed Interchain Security module
- Reverted to standard Cosmos SDK v0.46.16 without the Liquid Staking Module (LSM)
- Changed Bech32 prefixes to
govgen
(seecmd/govgend/cmd/config.go
) - Reduced hard-coded ante min-deposit percentage to 1% (see
ante/gov_ante.go:minInitialDepositFraction
) - Removed ability for validators to vote on proposals with delegations, they can only use their own stake
- Removed community spend proposal
- Allowed setting different voting periods for different proposal types
- Stake automatically 50% of balance for accounts that have more than 25 $GOVGEN at genesis initialization. The resulting stake distribution will provide approximately the same voting power to all genesis validators. Accounts will automatically stake to a maximum of 5 validators if 50% of the balance is less than 500 $GOVGEN, a maximum of 10 validators if less than 10,000 $GOVGEN and a maximum of 20 validators if more, uniformly. The number of validators elected for the delegations is not a constant because it depends on the state of the distribution.
An effort has been made to make it possible to build the exact same binary
locally as the Github Release section. To do this, checkout to the expected
version and then simply run make build
(which will output the binary to the
build
directory) or make install
. The resulted binary should have the same
sha256 hash than the one from the Github Release section.
Run make build-ledger
to have ledger support in ./build/govgend
binary.
Note that this will disable reproducible builds, as it introduces OS
dependencies.
Check out https://cosmos.directory/govgen to have a list of available RPCs and REST interfaces. Among the available rpc nodes one that can be used is https://rpc.govgen.io:443