Skip to content

Latest commit

 

History

History
81 lines (55 loc) · 3.84 KB

README.CN.md

File metadata and controls

81 lines (55 loc) · 3.84 KB

NEO3 开发指南

NEO3 Development Guide

NEO3 开发指南, 协助NEO3早期基础工具开发者完成NEO3底层建设

目录

NEO3变更部分

钱包

  • 更新
    • 地址脚本:调整通过公钥构建地址脚本的方式。

      • 普通地址:
      NEO2: 0x21 + publicKey(压缩型 33字节) + 0xac
      NEO3: 0x21 + publicKey(压缩型 33字节) + 0x68 + 0x747476aa
      
      • 多方签名地址:
      NEO2: emitPush(N) + 0x21 + publicKey1(压缩型 33字节) + .... + 0x21 + publicKeym(压缩型 33字节)  + emitPush(M) + 0xae
      NEO3: emitPush(N) + 0x21 + publicKey1(压缩型 33字节) + .... + 0x21 + publicKeym(压缩型 33字节)  + emitPush(M) + 0x68 + 0xc7c34cba
      

交易

  • 更新

    • 系统手续费:取消了每笔交易10 GAS的免费额度,并重新定义每种虚拟机指令集所对应的执行费用
    • 网络手续费:重新定义网络手续费的计算公式。
  • 删除

    • 交易类型:弃用NEO2中使用的9种交易类型,统一使用transaction类型,并重新定义其交易结构
    • 资产:NEO和GAS代币弃用UTXO模型,使用原生合约实现的账户模型。

RPC

  • 更新

  • 删除

    • claimgas, dumpprivkey, getaccountstate, getapplicationlog, getassetstate, getbalance, getclaimable, getmetricblocktimestamp, getnep5balances, getnep5transfers, getnewaddress, gettxout, getunclaimed, getunclaimedgas, getunspents, getwalletheight, importprivkey, invoke, listaddress, sendfrom, sendtoaddress, sendmany 等API指令。

智能合约

  • 新增

    • Manifest文件:用于描述合约的特征,随avm文件一起部署到Neo区块链。
    • 原生合约:不通过虚拟机执行,而直接运行在Neo原生代码中,目前包括:NeoToken,GasToken,以及PolicyToken。
    • 网络资源访问: 待补充。
    • system 触发器:用于节点收到新区块后,触发原生合约的执行。
    • 互操作服务接口:System.Blockchain.GetTransactionFromBlock
  • 更新

    • 降低了合约执行互操作接口所对应的系统费用
  • 删除

    • 互操作服务接口:Neo.Header.GetVersion, Neo.Header.GetMerkleRoot, Neo.Header.GetNextConsensus, Neo.Transaction.GetScript, Neo.Transaction.GetWitnesses, Neo.Witness.GetVerificationScript, Neo.Contract.GetScript, Neo.Contract.IsPayable, System.Blockchain.GetHeader, System.Header.GetIndex, System.Header.GetHash, System.Header.GetPrevHash, System.Header.GetTimestamp, System.Block.GetTransactionCount, System.Block.GetTransactions, System.Block.GetTransaction, System.Transaction.GetHash

虚拟机

  • 新增
  • 删除
    • APPCALL, TAILCALL, SHA1, SHA256, HASH160, HASH256, CHECKSIG, VERIFY, CHECKMULTISIG, CALL_I, CALL_E, CALL_ED, CALL_ET, CALL_EDT` 等OpCodes。

点击此处查看README英文版