Hello , 我是09

此篇内容为我2018~2020年在【库神】工作时,对部分重要知识做的学习总结

随着比特币冲破10万美金,行业又再次兴起,希望相关从业者可以学习到你需要的内容

币种介绍

中文名:小蚁币

NEO 中内置两种原生代币,

  • NEO(缩写符号 NEO)管理代币,总量1亿枚,且不可分割。

  • NeoGas(缩写符号 GAS)燃料代币,最大总量上限为1亿枚,可以分割到最小单位0.00000001

签名算法

  • secp256r1

经济模式

  • NEO 是管理代币,总量 1 亿份,用于实现对 NEO 网络的管理权。管理权包括投票进行记账人选举,NEO 网络参数更改等。NEO 的最小单位为 1,不可再分割。

  • GAS 是燃料代币,最大总量上限为 1 亿,用于实现对 NEO 网络使用时的资源控制。NEO 网络对代币转账和智能合约的运行和存储进行收费,从而实现对记账人的经济激励和防止资源滥用。GAS 的最小单位为 0.00000001。

分发机制

NEO 的分发:

NEO 的 1 亿管理代币分为两部分

  • 第一部分 5000 万份 NEO 用于按轮次和比例分发给 NEO 开发经费众筹的支持者,该部分已经分发完毕。

  • 第二部分 5000 万份由 NEO 理事会管理,用于支持 NEO 网络的长期开发、运维和生态发展。该部分的 NEO 处于锁定期,在 2017 年 10 月 16 日 NEO 网络运行达 1 年时方可解锁被使用。这部分 NEO 不会进入交易所交易,仅用于长期支持 NEO 项目,计划按如下比例分配使用:

GAS 的分发:

  • GAS 伴随着每个新区块的生成而产生。GAS 初期总量为零,伴随着新区块的生成逐渐增多,直至约 22 年后达到总量上限 1 亿。NEO 每个区块的间隔时间约为 15-20 秒,200 万个区块约合 1 年时间。

共识机制

  • 共识机制:DBFT(结合POS与DPOS特性,持有NEO的用户根据币龄分红NeoGas)

  • 出块时间: 15-20 s

开发文档

白皮书:https://docs.neo.org/zh-cn/whitepaper.html

技术开发文档:https://docs.neo.org/developerguide/zh/articles/introduction.html

单笔Output交易解析

GAS:

602c79718b16e442de58778e148d0b1084e3b2dffd5de6b7b16cee7969282de7

NEO:

c56f33fc6ecfcd0c225c4ab356fee59390af8560be0e930faebe74a6daff7c9b

完整的序列化交易数据

80000001C6E6A789F4D7C0A1038A445EFEE840DFBCEF7A25EA3A33FDD65BC6E19F55C5C40000019B7CFFDAA674BEAE0F930EBE6085AF9093E5FE56B34A5C220CCDCF6EFC336FC500E1F505000000001DC8EFE38961B2C7DF81C964F912707D9FB7FE1B014140717462F33535BA853535C6BCE89374F4109306DD82B816020E2203284F92098400DC90F4D0319F1631A6FF10FAF8EC650FF9184643B44DAE3EA00CA64B295EDB232102A45A2D0519A628E5E41E46EB27CE0C651AD3B2BB20FF63FFB41F270B349F8A50AC

数据解析

8000//prefex
0001 //inputNumber
C6E6A789F4D7C0A1038A445EFEE840DFBCEF7A25EA3A33FDD65BC6E19F55C5C40000//inputdata

01 //outputNumber
9B7CFFDAA674BEAE0F930EBE6085AF9093E5FE56B34A5C220CCDCF6EFC336FC500E1F505000000001DC8EFE38961B2C7DF81C964F912707D9FB7FE1B //outputData

01//1个签名
41//签名总长度
40//当前签名长度
717462F33535BA853535C6BCE89374F4109306DD82B816020E2203284F92098400DC90F4D0319F1631A6FF10FAF8EC650FF9184643B44DAE3EA00CA64B295EDB//signatureData
23//contract

21
02A45A2D0519A628E5E41E46EB27CE0C651AD3B2BB20FF63FFB41F270B349F8A50//publickey
AC

input的解析
C6E6A789F4D7C0A1038A445EFEE840DFBCEF7A25EA3A33FDD65BC6E19F55C5C40000
C4C5559FE1C65BD6FD333AEA257AEFBCDF40E8FE5E448A03A1C0D7F489A7E6C6//TXID ,
C6E6A789F4D7C0A1038A445EFEE840DFBCEF7A25EA3A33FDD65BC6E19F55C5C4//TXID 大端存储
0000//index

output的解析
9B7CFFDAA674BEAE0F930EBE6085AF9093E5FE56B34A5C220CCDCF6EFC336FC500E1F505000000001DC8EFE38961B2C7DF81C964F912707D9FB7FE1B
9B7CFFDAA674BEAE0F930EBE6085AF9093E5FE56B34A5C220CCDCF6EFC336FC5 //assetId
00E1F50500000000 //amount 
1DC8EFE38961B2C7DF81C964F912707D9FB7FE1B //to hash160

GAS:
602c79718b16e442de58778e148d0b1084e3b2dffd5de6b7b16cee7969282de7

NEO:
c56f33fc6ecfcd0c225c4ab356fee59390af8560be0e930faebe74a6daff7c9b

单笔input-多笔output交易

完整的序列化交易数据

80000001C6E6A789F4D7C0A1038A445EFEE840DFBCEF7A25EA3A33FDD65BC6E19F55C5C40000029B7CFFDAA674BEAE0F930EBE6085AF9093E5FE56B34A5C220CCDCF6EFC336FC580969800000000001DC8EFE38961B2C7DF81C964F912707D9FB7FE1B9B7CFFDAA674BEAE0F930EBE6085AF9093E5FE56B34A5C220CCDCF6EFC336FC5804A5D0500000000129C4988808CE38DC505A414E48E5083A82BF734014140035BAE8D4CABF89D2486D3304D22776350BF50A25FC38455BB9426B8267D5DB0DBD3E206A914BDF61E009162C93F1D698351B0B0540FF0C3DB4E3D8F80C7BE69232102A45A2D0519A628E5E41E46EB27CE0C651AD3B2BB20FF63FFB41F270B349F8A50AC

数据解析

8000
0001
C6E6A789F4D7C0A1038A445EFEE840DFBCEF7A25EA3A33FDD65BC6E19F55C5C40000
02//out Number
9B7CFFDAA674BEAE0F930EBE6085AF9093E5FE56B34A5C220CCDCF6EFC336FC5//assetId
8096980000000000
1DC8EFE38961B2C7DF81C964F912707D9FB7FE1B // toAddress hash
9B7CFFDAA674BEAE0F930EBE6085AF9093E5FE56B34A5C220CCDCF6EFC336FC5//assetId
804A5D0500000000
129C4988808CE38DC505A414E48E5083A82BF734 // toAddress hash
01
41
40
035BAE8D4CABF89D2486D3304D22776350BF50A25FC38455BB9426B8267D5DB0DBD3E206A914BDF61E009162C93F1D698351B0B0540FF0C3DB4E3D8F80C7BE69
23
21
02A45A2D0519A628E5E41E46EB27CE0C651AD3B2BB20FF63FFB41F270B349F8A50
AC

多笔input多笔output

8000
0003
C6E6A789F4D7C0A1038A445EFEE840DFBCEF7A25EA3A33FDD65BC6E19F55C5C40000//txid 和index
C6E6A789F4D7C0A1038A445EFEE840DFBCEF7A25EA3A33FDD65BC6E19F55C5C40000
C6E6A789F4D7C0A1038A445EFEE840DFBCEF7A25EA3A33FDD65BC6E19F55C5C40000

02
9B7CFFDAA674BEAE0F930EBE6085AF9093E5FE56B34A5C220CCDCF6EFC336FC5
8058840C000000001DC8EFE38961B2C7DF81C964F912707D9FB7FE1B
9B7CFFDAA674BEAE0F930EBE6085AF9093E5FE56B34A5C220CCDCF6EFC336FC5
804A5D0500000000129C4988808CE38DC505A414E48E5083A82BF734

01
41
40
23B984F1275A22BE9B57410314ED89C36FB75D697B3CE460F4FCEA0ADB03A01FE11937CF5DB1553D0EEE8A46E603DEDEF685425C8A320C46B70D5CA5A2E6B52E
23
21
02A45A2D0519A628E5E41E46EB27CE0C651AD3B2BB20FF63FFB41F270B349F8A50
AC

//----------------------------sin-------------------------

//rawtransaction
8000
0003
C6E6A789F4D7C0A1038A445EFEE840DFBCEF7A25EA3A33FDD65BC6E19F55C5C40000
C6E6A789F4D7C0A1038A445EFEE840DFBCEF7A25EA3A33FDD65BC6E19F55C5C40000
C6E6A789F4D7C0A1038A445EFEE840DFBCEF7A25EA3A33FDD65BC6E19F55C5C40000

02
9B7CFFDAA674BEAE0F930EBE6085AF9093E5FE56B34A5C220CCDCF6EFC336FC5
8058840C000000001DC8EFE38961B2C7DF81C964F912707D9FB7FE1B
9B7CFFDAA674BEAE0F930EBE6085AF9093E5FE56B34A5C220CCDCF6EFC336FC5
804A5D0500000000129C4988808CE38DC505A414E48E5083A82BF734

采用neoutils.sign(rawtransaction,privateKeyHex)