> For the complete documentation index, see [llms.txt](https://sodex.com/documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sodex.com/documentation/for-developers/developers/valuechain-evm/developer-tools.md).

# Developer Tools

ValueChain is EVM-compatible. Point Foundry, Hardhat, Remix, Ethers.js, or Viem at the [network endpoints](/documentation/for-developers/developers/valuechain-evm.md#network-configuration). Solidity and Vyper deploy without a ValueChain-specific rewrite. The native currency is SOSO (18 decimals), not ETH.

Do not apply Ethereum confirmation depth. A receipt is inclusion. See [Differences from Ethereum](/documentation/for-developers/developers/valuechain-evm/differences-from-ethereum.md#consensus-finality) and [Transaction Finality](/documentation/for-developers/developers/valuechain-evm/transaction-finality.md).

Add the chain to a wallet with Currency Symbol `SOSO`. See [How do I add the ValueChain network?](/documentation/user-guide/faq/how-do-i-add-the-valuechain-network.md).

## Chain config

|                 | Mainnet                            | Testnet                            |
| --------------- | ---------------------------------- | ---------------------------------- |
| Chain ID        | `286623`                           | `138565`                           |
| HTTP RPC        | `https://mainnet.valuechain.xyz`   | `https://testnet.valuechain.xyz`   |
| WebSocket       | `wss://mainnet-ws.valuechain.xyz`  | `wss://testnet-ws.valuechain.xyz`  |
| Explorer        | `https://main-scan.valuechain.xyz` | `https://test-scan.valuechain.xyz` |
| Native currency | SOSO, 18 decimals                  | SOSO, 18 decimals                  |

### Foundry

```toml
[rpc_endpoints]
valuechain = "https://mainnet.valuechain.xyz"
valuechain_testnet = "https://testnet.valuechain.xyz"
```

```bash
forge create src/MyContract.sol:MyContract \
  --rpc-url https://mainnet.valuechain.xyz \
  --chain-id 286623 \
  --private-key "$PRIVATE_KEY"
```

### Hardhat

```javascript
networks: {
  valuechain: {
    url: "https://mainnet.valuechain.xyz",
    chainId: 286623,
  },
  valuechainTestnet: {
    url: "https://testnet.valuechain.xyz",
    chainId: 138565,
  },
}
```

### Viem

```javascript
import { defineChain } from "viem";

export const valuechain = defineChain({
  id: 286623,
  name: "ValueChain",
  nativeCurrency: { name: "SOSO", symbol: "SOSO", decimals: 18 },
  rpcUrls: {
    default: {
      http: ["https://mainnet.valuechain.xyz"],
      webSocket: ["wss://mainnet-ws.valuechain.xyz"],
    },
  },
  blockExplorers: {
    default: { name: "ValueChain Explorer", url: "https://main-scan.valuechain.xyz" },
  },
});
```

For testnet use `id: 138565`, `https://testnet.valuechain.xyz`, `wss://testnet-ws.valuechain.xyz`, and `https://test-scan.valuechain.xyz`.

## Contract verification

View deployments on [main-scan](https://main-scan.valuechain.xyz) or [test-scan](https://test-scan.valuechain.xyz). Verify source from the contract page in the explorer, or with Foundry:

```bash
forge verify-contract <address> src/MyContract.sol:MyContract \
  --chain-id 286623 \
  --verifier blockscout \
  --verifier-url https://main-scan.valuechain.xyz/api/
```

On testnet use `--chain-id 138565` and `--verifier-url https://test-scan.valuechain.xyz/api/`.

## Development environments

* [Foundry](https://github.com/foundry-rs/foundry)
* [Hardhat](https://hardhat.org/)
* [Remix](https://remix.ethereum.org/)

## Smart contract programming languages

* [Solidity](https://docs.soliditylang.org/en/latest/)
* [Vyper](https://docs.vyperlang.org/en/stable/)

## Frontend libraries

* [Ethers.js](https://docs.ethers.org/v6/)
* [Viem](https://viem.sh/)
