8000 GitHub - christabelazura/contracts: StakeWise smart contracts.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

christabelazura/contracts

 
 

Repository files navigation

StakeWise smart contracts

CircleCI CodeCov Discord

The StakeWise smart contracts for provisioning Ethereum 2.0 Validators.

  • Extensible: It is possible to create your own contract with logic for accumulating validator deposit amount.
  • Upgradable: By using OpenZeppelin SDK, it's possible to fix bugs and critical issues when the contracts are deployed to the production network.
  • Role-based access: By having Operators, Admins, and Managers contracts, it is possible to restrict user capabilities.
  • Integration friendly: Any contract state change is always followed by an emitted event. Applications can monitor and act on these events.
  • Configurable: Any global setting can be managed through the separate Settings contract.

Deployment

  1. Install dependencies:

    yarn install --prod
  2. Compile contracts:

    yarn run compile
  3. Define network parameters in truffle-config.js. For example:

    module.exports = {
      networks: {
        ropsten: {
          provider: function () {
            return new HDWalletProvider(
              mnemonic,
              'https://ropsten.infura.io/v3/YOUR-PROJECT-ID'
            );
          },
          network_id: '3',
        },
      },
    };
  4. If you are deploying to the network without VRC, run the following commands:

    yarn install
    truffle exec scripts/deployVRC.js --network ropsten
  5. Deploy contracts to the selected network:

    NETWORK=ropsten INITIAL_ADMIN=<address> VRC=<address> yarn deploy

    where NETWORK is the name of the network from truffle-config.js, INITIAL_ADMIN is the first account capable of calling functions restricted only to admins (see Admins contract), VRC is the address of Ethereum 2.0 Deposit Contract.

    The network file will be created at .openzeppelin directory.

Documentation

You can find the documentation for every contract in the contracts directory. In the future, the documentation will be hosted on a dedicated webpage.

Contributing

Development of the project happens in the open on GitHub, and we are grateful to the community for contributing bugfixes and improvements.

License

The project is GNU GPL v3.

About

StakeWise smart contracts.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 63.6%
  • Solidity 35.9%
  • Shell 0.5%
0