---
# System prepended metadata

title: Energy Web Chain - Smart contracts

---

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