教程网

您现在的位置是: 首页 > 独家

NEO智能合约的部署与调用教程

NEO智能合约的部署与调用教程
使用官方WooLong的demo来部署第一个智能合约,说明:在使用WooLong之前,应该对程序稍微做一些修改,哪怕只是改一下字符串;这个我在测试的时候遇到一个坑,直接使用官方的demo,发布后

使用官方WooLong的demo来部署第一个智能合约,说明:在使用WooLong之前,应该对程序稍微做一些修改,哪怕只是改一下字符串;这个我在测试的时候遇到一个坑,直接使用官方的demo,发布后根据ScriptHash查找发现作者版本都不是我填写的那样,后来才知道,ScriptHash是根据合约脚本的二进制码产生的。如果不修改,那么最终根据ScriptHash查找的可能不是你部署的合约。

创建项目并编译

创建Neo项目,将WooLong的代码拷贝到demo中,并稍作修改。

打开neo-gui开发者版本

对于开发者,官方建议使用coz提供的开发版neo-gui,clone代码下来,并通过visual studio 2017编译项目,然后按照官方文档同步testnet的区块,推荐使用离线同步包。参考文档。

来自文档的坑

那么这里又有了一个坑,coz在github中提供的这个neo-gui-developer代码,在调用智能合约的时候,会无法添加参数,因此我们需要到neo官方的neo-gui,将项目下面UI目录下的以ParametersEditor开头的几个文件全部都拷贝进来。

打开部署智能合约界面,部署合约

点击[部署]按钮部署合约

拷贝ScriptHash

试运行并调用

部署完成并拷贝ScriptHash后,会弹出调用合约界面,先点击试运行,如果没有报错,就可以点击调用,这是在neo-gui->交易记录中会产生一个新的交易记录,记录开始是未确认状态,稍后会返回已经确认的节点数目。

这时,查看一下gas,你会发现发布合约消耗了一些gas。

智能合约调用

打开高级->调用合约->函数调用,填写ScriptHash并查找,会查找到我们之前发布的合约,填写调用合约需要的参数。

填写完成后,点击调用,查看交易记录,有一条新的未确认。

至此,合约的部署和发布算是完成了,其中还有很多细节未完善,只是重点说了自己在爬坑的过程中消耗时间最多的几个小细节,大的方向,各位还是先看官方文档,然后慢慢爬坑吧。

Neo在全球公链赛道中成为一颗闪亮的星,区块链的世界里从来不缺技术,但在喧嚣的市场上真正能深耕技术的项目并不多,其中,Neo就是少数中的一个。从2014年开始,Neo不但关注本土深耕,同时也关注国际化市场,积极参与各类全球合作,将技术与应用深度结合,在全球公链赛道中成为一颗闪亮的星。

Cointelegraph 中文主办的大湾区·国际区块链周有幸邀请到Neo创始人、分布科技CEO达鸿飞,并进行了专访,达叔分享了Neo3的进展、应用以及技术创新等,并谈了对目前关注度较高的DeFi、公链以及稳定币等的看法。

以下是采访全文:

Neo3主网预计在今年4季度上线

1、Neo成立于2014年,称得上是国产公链的鼻祖,期间也进行了很多次大的更新。我们知道Neo正在从Neo2.X向Neo3.0过渡,可否请达总给我们介绍一下Neo最近有什么进展?Neo3正式版预计什么时候上线?

首先来说说Neo在最近两个比较大的合作。6月初,我们作为五个发起成员之一创立了InterWork Alliance,也就是IWA。其他几个发起成员包括微软、埃森哲、SDX和Digital Asset。IWA的目标是共同发展和推广通证化标准,帮助传统行业拥抱区块链技术,加速区块链在主流商业场景的落地。

7月份,BSN正式对Neo进行适配支持。作为BSN的首批公有链合作伙伴,BSN将在国际公共城市节点和国际门户中接入Neo,让全球开发者可以更便捷、更低成本地接入区块链开发环境,降低区块链开发门槛,也帮助Neo接近更多开发者。

在Neo自己的协议层开发方面,我们在不断推进Neo3.在4月份,我们发布了Neo3的Preview2版本,已经为开发者提供了相对完整的Neo3开发体验。很多基础设施和工具已经在这个版本的基础上开始对Neo3进行更新和适配。Preview3预计在8月初发布,测试网预计在今年3季度上线,一切顺利的话,主网预计在今年4季度上线。

生态方面,我们在各个领域都取得了不错的发展。去中心化交易所Switcheo和Nash最近交易量都大幅增长,用户体验也广受好评。在NeoLine钱包上,上线了一个NFT平台,目标是聚合所有Neo生态里的NFT,让用户可以在那里实现各种NFT相关功能。除此之外,我们在隐私、安全、资产通证化、游戏等方面也都不断有新的生态伙伴加入。

2、从官网上我们可以看到Neo有100+的DApps,可以向我们介绍一下Neo上有哪些好用的DApps吗?

目前dApp的发展还是处于一个初期阶段,大规模的发展和落地还有待基础设施的成熟,包括去中心化身份、去中心化存储对dApp来说都很重要。

目前Neo生态里的dApp覆盖了各个领域,可以说发展还是比较均衡的。DeFi方面包括上面提到的去中心化交易所Switcheo、Nash,钱包O3、NeoLine,还有资产通证化平台Liquefy和黄金通证化平台Novem;我们也有不少体验不错的区块链游戏,像是0xRacer、NeoFish、BlockchainCuties等等。另外还有一个社区应急救援应用Gurdian Circle,也在疫情期间受到美国社区的广泛关注。

3、Neo使用电子合同来记录数字资产的转移,可以记录股权、债券、积分、票据、金融合约等,请问Neo区块链上的电子合同和我们平时说的合同存证有什么区别?

Neo区块链上的智能合约有两个大的特性:去信任化,自动执行。

智能合约相当于是可编程的、自动执行的合同,当预先设定好的条件被满足,这个合约就会自动执行,不需要人工干预。另外,在区块链上,这个是否满足条件的验证过程是去中心化的,也就是说我们不需要一个中心化的可信第三方来储存所有的数据,进行验证和执行合约。智能合约的世界是去信任化的。

Neo的智能合约支持多种主流开发语言,这对开发者是非常友好的。不管你之前是否有区块链的开发经验,都可以使用常见的C#, Python, Go, JavaScript/TypeScript, Java等等语言轻松上手Neo智能合约开发。另外一个改进是在Neo3上我们加入了原生合约的概念,删除了UTXO模型的全局资产,只保留合约资产,比如NEO和GAS现在都作为原生资产写在区块里,可以让智能合约直接调用。

4、Neo将数字身份与数字资产结合起来,使用智能合约对数字资产进行自动化管理,请问Neo是如何将个人身份映射到区块链上的呢?Neo的个人身份系统在web3.0中有没有什么作用?

在Neo3当中内置了一套去中心化身份的系统,我们叫NeoID,这也是Neo3重要的组件。在Neo3的协议层我们留有去中心化身份标准的接口,供ID解决方案接入。目前,Neo生态里有两套解决方案:一个是由社区开发的Moonlight项目中的Vivid ID,另外一个是我们和瑞士电信合作开发的Seraph ID。这两套方案各有所长,可以说是在进行差异化竞争。为了推动去中心化身份方案落地,我们还在积极推动本地化的认证机构合作,比如CA机构的参与。

5、互联网公司越来越关注数据,用户也越来越重视自己的隐私,Neo有没有采取相应的措施来处理隐私问题?

隐私在下一代互联网中的确有非常高的重要性,Neo在积极探索隐私应用在在Layer2上的实现。Neo一直都在与隐私项目积极合作,去年12月,我们与Incognito项目开展合作,在Layer2上实现了Neo的隐私交易功能。今年2月份,我们又与Suterusu进合作,一起开发基于Neo的Layer2隐私协议,希望能够帮助更多应用在其上进行搭建。同时,Suterusu也将成为第一批进行Neo3基础设施迁移的项目。

DeFi大规模应用有赖于资产通证化进度及配套监管落地

6、达叔从2011年就开始接触比特币,既是创业者又是投资人,在区块链行业有着丰富的经验,请问达总怎么看待现在的DeFi项目呢?

DeFi最近非常火热,个人认为DeFi目前的发展方向主要包括流动性与交易、借贷、合成资产以及预言机这几个方面。这个行业现在还处于初期阶段,大部分项目在进行早期的探索,未来DeFi的大规模应用,还是要看传统金融市场的资产通证化进度以及配套监管的落地。

7. 以太坊因为手续费高、交易拥堵而被诟病,以太坊的开发又一再延期,请问达叔对以后公链的发展怎么看?

以太坊目前的这些问题,以及2.0上线时间不确定性确实给公链行业留下了广阔的想象空间,最近也有很多受关注的公链项目出现。根据定位不同,每条公链往往拥有着不同的技术选择与发展重心。我心目中未来各条公链会有各自擅长的领域和特色,目前主要的赛道有数字资产,身份和分布式存储等几个方向。在此之上,跨链技术会将大家连接在一起,这些公链的生态系统会互相作用,组成下一代互联网的状态层。

8. Neo2.X迁移Neo3也要用到跨链技术,达叔如何看待Cosmos和Polkadot这类跨链项目呢?

我认为跨链,或者更广义的互操作性,需要实现两个目标:资产交换原子性,以及事物一致性。

随着DeFi整个行业的快速发展,跨我们已经看到跨链的重要性越来越强,Cosmos和Polkadot都做出了很好的尝试,我们非常拭目以待他们主网上线后的发展和成绩。我们也正在探索通过跨链技术进行Neo3迁移的可能性,希望给未来区块链间的升级进化提供一个范式。

从更长远的角度来看,事物一致性这个目标其实更为重要,这是整个区块链生态实现协同,大规模构建未来数字经济的一个基础。

USDT一定程度上可以解耦美元特权

9. 请问达叔有没有关注到区块链领域有哪一些落地应用?区块链哪一些方向上的应用更容易获得成功?

近期来看,DeFi非常亮眼,也有希望看到一批拥有一定用户基础的应用落地。整体来看我认为未来有四类应用值得关注:

公共账本与基础设施,特别是对扩容能力与互操作性的增强;

数字货币、银行服务与支付网络;

流动性与资产管理,包括合成资产、聚合平台、去中心化交易所以及自动做市商等等;

区块链+在政企应用、供应链金融、数据市场与溯源领域的落地。

10. 我们看到稳定币的规模已经超过了120亿美元,并且还在不断增发,达叔对稳定币怎么看?

我刚好在前一阵发表了一篇文章,写的就是关于这个话题。稳定币,以USDT为例的话,它其实已经破圈,从加密资产的交易货币发展为具有跨境汇款、支付结算功能的另类货币。在这样的前提下,USDT在一定程度上可以解耦美元特权,替代美元原有的支付网络,消解美联储对资金流转的控制权,不过这样的发展也意味着USDT将很快受到强力监管。

对于主权货币较为弱势的中小国家来说,USDT等稳定币的高速发展可能会加深这些国家的美元化;但在中国、英国与欧元盟等有着国际化愿景的国家和地区,稳定币的发展则刺激了当地加速发展央行数字货币,CBDC的步伐。

1.基本情况

NEO原名小蚁,是中国第一个原创区块链项目,也被称为中国的以太坊。如果说中本聪打造的比特币是一个与现实世界平行的虚拟金融网络,那么NEO则希望构建一种能够对接实体世界资产的桥梁式的金融系统。

2015年9月第一版白皮书发布,将小蚁定义为基于区块链技术,将实体世界的资产和权益进行数字化,通过点对点网络进行登记发行、转让交易、清算交割等金融业务的去中心化网络协议。早期的小蚁旨在打造每个人的数字货币资产。

2017年6月22日,小蚁正式更名为“NEO”  ,从原先的数字资产平台全面升级为智能经济平台。据新发布的白皮书显示,NEO是利用区块链技术和数字身份进行资产数字化,利用智能合约对数字资产进行自动化管理,实现“智能经济”的一种分布式网络。

早期的小蚁想建立一个类似于比特股的去中心化金融交易平台,而更名为NEO之后,企图建立一个智能经济的分布式平台。

何为智能经济?智能经济将以数字化的实物资产为特征。所有这些最新的数字化资产都将拥有区块链上的所有权证明。这些资产可以通过智能合约进行销售,交易和杠杆化。他们的所有权可以通过区块链的分布式模型得到保护和验证。

与以太坊的匿名性不同,NEO旨在通过数字身份认证来打造一个在政府监管之下的智能经济平台。

2.技术特点与优势

(1)NEO采用DBFT共识机制,在牺牲去中心化和安全性的前提下,旨在提升公链性能。

共识机制是底层公链项目的重要一环,无论是POW、POS还是DPOS都有其各种的优缺点。比特币采取了POW的共识机制,该机制确认时间较长,资源浪费严重,但完全的去中心化也确保了网络的安全问题。以太坊前期采用POW共识机制,后期逐步转化成POS共识机制,来克服资源浪费严重的问题和缩短达成共识的时间。EOS则采取DPOS共识机制,由节点选出21一个超级节点来轮流记账,较POS达成共识的速度更快。

NEO则采用DBFT共识机制,是类似于DPOS的一种共识机制,由权益来选出记账人,然后记账人之间通过拜占庭容错算法来达成共识。

举个简单的例子来说明DBFT共识机制,如果全中国的每个人(总人口14亿人口)都被允许直接参与政府的决策过程,那将是灾难性的。因为数亿人争相发言,所有人都会大声疾呼,互相争论。做出决定也将是痛苦而缓慢的过程。相反,如果全国的每个人都可以得到一次投票。通过这次投票,他们可以选出代表他们发言的人。

这也是NEO的治理方式。DBFT共识机制下投票选出的共识节点可为7-1024个不等。项目创始人表示,项目现在还处于早期阶段,NEO理事会认为较去中心化(有时关乎加密货币政治正确问题)而言,效率更为重要(快速响应与协议升级)。因此项目团队使用代币和现有的影响力投票选出了7个共识节点。随着NEO核心协议的逐步稳定,希望由NEO持有者选出一到几十个共识节点。

 1/5    1 2 3 4 5 下一页 尾页