- Manifest is a Layer 1 blockchain built using Cosmos SDK and Tendermint Consensus with an EVM execution layer (Ethermint Module) and network owned/incentivized defi primitives(stablecoin, dex, lending market).
- Manifest's blockchain infrastructure is forked from Evmos (Standard Cosmos SDK modules + Ethermint Module + ERC20 Module).
- Manifest includes a new additional functionality in the form of a novel cross-runtime governance mechanism via the unigov (unified governance) module. The unigov module allows Manifest Network stakeholders to vote on proposals which are read and executed by smart contracts deployed on the EVM.
You will see blocks printing if your node is successfully running.
- Submit a proposal while the testnode is running
Manifestd tx gov submit-proposal lending-market ./proposal/metadata.json --from mykey --title="title" --description="desc" --chain-id=$(Manifestd config "chain-id") --from mykey --deposit=40aManifest --gas=auto --fees=250aManifest --broadcast-mode=block
- Within 1 minute of submitting the proposal, vote on it (voting period is lowered to make testing easier)
Manifestd tx gov vote 1 yes --from mykey --fees=100aManifest --gas=auto --chain-id=$(Manifestd config "chain-id") --broadcast-mode=block
- Proposal will pass. You can now query this proposal on the EVM.
- Address of proposal contract is
0x30E20d0A642ADB85Cb6E9da8fB9e3aadB0F593C0
- You can query any proposal at this contract using the QueryProp(propID) function
- Address of proposal contract is
- Proposals are added to the proposal store contract using the
AppendLendingMarketProposal
function inx/unigov/keeper/proposals.go
- The proposal store contract (also called the map contrat) can be found in
contracts/Proposal-Store.sol
- The
QueryProp
method in the ProposalStore contract is used to query the proposal from the EVM using the proposal ID generated from the Cosmos SDK governance module.
Evmos readme below:
Evmos is a scalable, high-throughput Proof-of-Stake blockchain that is fully compatible and interoperable with Ethereum. It's built using the Cosmos SDK which runs on top of Tendermint Core consensus engine.
Note: Requires Go 1.17.5+
For prerequisites and detailed build instructions please read the Installation instructions. Once the dependencies are installed, run:
make install
Or check out the latest release.
To learn how the Evmos works from a high-level perspective, go to the Introduction section from the documentation. You can also check the instructions to Run a Node.
The following chat channels and forums are a great spot to ask questions about Evmos:
Looking for a good place to start contributing? Check out some good first issues
.
For additional instructions, standards and style guides, please refer to the Contributing document.
See our open positions on Cosmos Jobs, Notion, or feel free to reach out via email.