# Energy Web Chain - Smart contracts ## Networks setup - **Development environment**: Ganache - **Dev/staging server**: Volta testnet - Public RPC node: https://volta-rpc.energyweb.org - Recommended: Shell-owned / hosted RPC node - Volta/EWC node providers: - Anyblocks: https://www.anyblockanalytics.com - Volta block explorer: https://volta-explorer.energyweb.org/ - **Production**: Energy Web Chain (EWC) - Public RPC node: https://rpc.energyweb.org - EWC block explorer: https://explorer.energyweb.org/ ## EVM - Volta & EWC are EVM-based - Support the latest London hardfork - Popular ETH development tools supported: - Hardhat - Truffle - Ganache - OpenZeppelin - Web3 JS - Ethers.js - ... ## Privacy tools - Precise Proofs - Examples and library: https://github.com/energywebfoundation/precise-proofs - Zero-knowledge (ZK) proofs - Support for any EVM-based ZK toolkit - e.g. [Zokrates](https://github.com/Zokrates/ZoKrates) ## Upgradability - OpenZeppelin upgradeability toolkit supported - Approach: Proxy contracts that can be replaceable - https://docs.openzeppelin.com/upgrades-plugins/1.x/writing-upgradeable ## Token standards - [ERC-1155](https://eips.ethereum.org/EIPS/eip-1155) - Multi-token standard - Non-fungible part (NFT) - Generation data, time, place, origin of fuel - Fungible part - Volumes (Litres + tCO2eq) - Possible to transfer parts of the whole NFT individually (partial volume) - Links back to the original NFT metadata - [ERC-1888 Claimable Certificates](https://github.com/ethereum/EIPs/issues/1888) - Extension of ERC-1155 - Allows partially claiming (retiring/redeeming) a part of the NFT volume - Claimed volume is non-transferable - Fit to be used for accounting purposes ## Switchboard short demo https://switchboard.energyweb.org/