Show / Hide Table of Contents

系统使用费

Neo 智能合约在部署和执行的时候都要缴纳一定的系统费和网络费,单位为 GAS。本文主要介绍智能合约执行时产生的系统费用。有关网络费的信息,请参见 收费模型

智能合约费用

当开发者将一个智能合约部署到 Neo 区块链上时,需要向 Neo 系统支付 100~1000 GAS 的系统费用。每执行一条智能合约的指令时也需要向 Neo 系统支付一定的执行费用。

每个智能合约在每次执行过程中有10 GAS 的免费额度,无论是开发者部署还是用户调用,因此,若智能合约的单次执行费用低于10 GAS ,则不需要支付手续费;如果超过10 GAS,则减免10 GAS 的手续费。

所有支付的智能合约手续费将作为系统手续费,并按比例重新分配给所有 Neo 的持有人。

智能合约的手续费结构请参见下表。

系统调用费用

SysCall手续费 [Gas]
Runtime.CheckWitness0.2
Blockchain.GetHeader0.1
Blockchain.GetBlock0.2
Blockchain.GetTransaction0.1
Blockchain.GetAccount0.1
Blockchain.GetValidators0.2
Blockchain.GetAsset0.1
Blockchain.GetContract0.1
Transaction.GetReferences0.2
Account.SetVotes1
Validator.Register1000
Asset.Create(系统资产)5000
Asset.Renew(系统资产)5000
Contract.Create*100~1000
Contract.Migrate*100~1000
Storage.Get0.1
Storage.Put [per KB]1
Storage.Delete0.1
其它(每行OpCode)0.001

关于表格中API的含义,请参见 Neo命名空间

创建智能合约与迁移智能合约目前是根据合约所需功能进行收费。其中基础的费用为 100GAS,需要存储区 +400GAS,需要动态调用 +500GAS。

指令费用

Instruction手续费 [Gas]
OpCode.PUSH16 [or less]0
OpCode.NOP0
OpCode.APPCALL0.01
OpCode.TAILCALL0.01
OpCode.SHA10.01
OpCode.SHA2560.01
OpCode.HASH1600.02
OpCode.HASH2560.02
OpCode.CHECKSIG0.1
OpCode.CHECKMULTISIG(每个签名)0.1
其它(每行OpCode)0.001