Smart Contracts
Overview
┌─────────────────────────────────────────────────────────────────────────────┐
│ NCN Smart Contracts │
│ │
│ ┌───────────────────────────────────────────────────────────────────┐ │
│ │ InferencePayment Contract │ │
│ │ │ │
│ │ • Escrow-based payment system │ │
│ │ • Validator signature verification │ │
│ │ • Multi-party payment distribution │ │
│ │ • Automatic refunds on expiry │ │
│ │ │ │
│ │ Functions: │ │
│ │ - initiateInferenceRequest() │ │
│ │ - completeInferenceRequest() │ │
│ │ - handleExpiredRequest() │ │
│ │ - markRequestFailed() │ │
│ │ │ │
│ └───────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌───────────────────────────────────────────────────────────────────┐ │
│ │ NCNToken Contract │ │
│ │ │ │
│ │ • ERC20 token for payments │ │
│ │ • Standard transfer/approve functions │ │
│ │ │ │
│ └───────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌───────────────────────────────────────────────────────────────────┐ │
│ │ NCNValidatorRegistry Contract │ │
│ │ │ │
│ │ • On-chain validator registration │ │
│ │ • Stake management │ │
│ │ • Slashing functionality │ │
│ │ │ │
│ └───────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────┘Deployed Contracts
Forknet Testnet
Contract
Address
Status
Network Configuration
Setting
Value
Contract Documentation
Quick Start
Prerequisites
Build Contracts
Deploy to Local Network
InferencePayment Contract
Core Functions
initiateInferenceRequest
initiateInferenceRequestcompleteInferenceRequest
completeInferenceRequesthandleExpiredRequest
handleExpiredRequestEvents
Integration
JavaScript/TypeScript
Rust (ethers-rs)
Security
Implemented Protections
Protection
Description
Security Considerations
Testing
Run Tests
Test Coverage
Test Files
File
Coverage
Gas Costs
Estimated Gas Usage
Function
Gas (approx)
Optimization Tips
Contract Verification
Verify on Etherscan
Related Documentation
Last updated
