Configuration

json — OASISDNA.json
{
  "EthereumOASIS": {
    "ChainPrivateKey":   "0x…",          // ONODE signer wallet private key
    "ChainRPCURL":       "https://mainnet.infura.io/v3/YOUR_KEY",
    "ContractAddress":   "0x…",          // deployed OASIS NFT contract
    "NetworkName":       "mainnet",      // or "sepolia", "polygon", etc.
    "GasLimit":          300000,
    "GasPriceGwei":      20
  }
}
🔴
Never commit private keys

Store ChainPrivateKey in an environment variable or secrets manager, not in OASISDNA.json. Use the %ENV_VAR% substitution syntax in the config file: "ChainPrivateKey": "%ETH_PRIVATE_KEY%".

Supported Chains

NetworkNetworkName valueNotes
Ethereum MainnetmainnetProduction — real ETH costs
Sepolia TestnetsepoliaRecommended testnet
Polygon MainnetpolygonLow gas fees
Polygon MumbaimumbaiPolygon testnet
ArbitrumarbitrumL2 — fast and cheap
Local HardhatlocalhostDevelopment only

OASIS NFT Contract

The OASIS NFT smart contract is an ERC-721 extension with additional metadata fields for holonic parent IDs, karma linkage, and OApp provenance. The contract source lives in NextGenSoftware.OASIS.API.Providers.EthereumOASIS/Contracts/.

Deploy it to your target network using Hardhat:

terminal
cd NextGenSoftware.OASIS.API.Providers.EthereumOASIS/Contracts
npx hardhat deploy --network sepolia