# 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/