Neo N3 Deployment Model
Overview
On Neo N3, contract deployment is a transaction that calls the native ContractManagement.deploy method. The transaction payload includes:
- The NEF binary (bytecode + method tokens + checksum)
- The manifest JSON (ABI + permissions + standards)
- Optional deployment data (passed to the contract's
_deploymethod)
The Neo node validates the manifest, computes a contract hash from the sender address + NEF checksum + manifest name, and stores the contract on-chain. After deployment, the contract is callable by its hash.
Contract Hash
The contract hash is deterministic: it is derived from hash160(sender_scripthash + nef_checksum + contract_name). You can predict it before deployment using neo-solc --deployer <sender_hash>.
