01前言
在之前的技术视点文章中,我们介绍了目前本体主网支持的智能合约体系以及相应的智能合约开发工具SmartX。很多小伙伴都想上手练一练。在本期的本体技术视点中,我们将正式开始讲述智能合约语法部分。本体的智能合约API分为7个模块,分别是Blockchain&BlockAPI、RuntimeAPI、StorageAPI、NativeAPI、UpgradeAPI、ExecutionEngineAPI以及Static&DynamicCallAPI。本期我们将介绍?Blockchain&BlockAPI,这是本体智能合约体系中最基础的部分。其中,BlockchainAPI支持基本的区块链查询操作,如获取当前块高等;BlockAPI支持基本的区块查询操作,如查询指定区块交易数等。同时,文末将提供视频讲解。
本体Ontology将在波卡生态搭建平行链:公链项目本体Ontology官方宣布将加入波卡网络提供DeFi服务,同时参与平行链插槽竞拍。[2020/8/27]
在这之前,小伙伴们可以在本体智能合约开发工具SmartX中新建一个合约,跟着我们进行操作。
02?BlockchainAPI使用方法
智能合约函数的引用与Python的引用如出一辙。开发者可以根据需要引入相应的函数。例如,下面语句引入了获取当前最新块高函数GetHeight和获取区块头函数GetHeader。
2.1?GetHeight
开发者可以使用GetHeight来获取当前最新块高,具体例子如下。在后面的例子中,为了节省空间,我们将省略Main函数,小伙伴在练习的时候可以根据需要加入。
动态 | 微软和亚马逊为其在线市场添加本体:据blokt消息,Microsoft Azure和Amazon AWS近日已添加本体(Ontology)ONT。[2018/12/27]
2.2?GetHeader
开发者可以使用GetHeader来获取区块头,参数是某个块的块高。具体例子如下:
2.3GetTransactionByHash
开发者可以使用GetTransactionByHash函数通过交易哈希获取交易。交易哈希以bytearray的格式,作为参数传入GetTransactionByHash。这个函数的关键在于如何转换将十六进制格式的交易哈希转变为bytearray格式的交易哈希。我们以16进制格式的交易哈希为例,实现将十六进制格式的交易哈希转变为bytearray格式的交易哈希。示例哈希如下:
李俊:本体项目正在申请加入ID2020联盟:本体创始人李俊在清华大学x-lab区块链公开课上表示,本体目前正在申请加入ID2020联盟。ID2020是一个国际公私合作联盟,致力于联合各国政府、科技巨头和非政府组织采取统一行动,通过区块链技术在2020年之前为全球居民提供合法身份证明。微软、埃森哲均为该联盟创始成员。[2018/5/31]
首先,将该交易哈希反序得到:
开发者可以通过SmartX提供的转换工具HexNumber(littleendian)<-->Number实现这一步。然后,将其转成bytearray格式:
开发者可以通过SmartX提供的转换工具String<-->ByteArray实现这一步。最后,将得到的bytearray转换成相应的字符串:
日本体育商业公司Delight Co.宣布可以用虚拟货币支付体育比赛的参赛费用:日本体育商业公司Delight Co.宣布可以用虚拟货币支付体育比赛的参赛费用。支持的虚拟货币有比特币、比特币现金、以太坊和莱特币,于3月9日可以开始使用。除每月举办的皇居马拉松(东京)以外,可用于由广岛马拉松(广岛县)等公司运营支持的比赛。今后,还将支持瑞波币的支付。[2018/3/14]
GetTransactionByHash函数通过交易哈希获取交易的例子如下:
2.4?GetTransactionHeight
开发者可以使用GetTransactionHeight函数通过交易哈希获取交易高度。我们还是以上个例子中的哈希为例:
2.5?GetContract
开发者可以使用GetContract函数通过合约哈希获取合约。其中,合约哈希的转换过程与上面讲到的交易哈希转换过程一致。
2.6?GetBlock
开发者可以使用GetBlock函数获取区块。有两种方法可以获取指定区块:1.通过块高获取区块:
2.通过区块哈希获取区块:
03?BlockAPI使用方法
BlockAPI中可供引用的函数有三个,它们分别是GetTransactions、GetTransactionCount和GetTransactionByIndex。我们依次介绍下这三个函数。
3.1?GetTransactionCount
开发者可以使用GetTransactionCount函数获取指定区块的交易数量。
3.2?GetTransactions
开发者可以使用GetTransactions函数获取获取指定区块的所有交易。
3.3GetTransactionByIndex
开发者可以使用GetTransactionByIndex函数获取指定区块的指定交易。
04?后记
Blockchain&BlockAPI在智能合约中起到查询区块链数据和区块数据的作用,是智能合约最不可缺少的一部分。在后面的技术视点中,我们将讨论如何使用其它API,探讨它们和本体区块链的交互。本期讲述的所有语法部分我们提供了中文视频,小伙伴们可以观看和学习。
视频观看链接:https://v.qq.com/x/page/x0822d6u8xl.html
*详细代码信息可能显示不全,可参考:https://mp.weixin.qq.com/s/t1sX3aDi5WVTthnc4sMHkQ
标签:GETACTTRAIONtogetherbnb薇拉双人互动act币还有希望吗Decentralized Socialjubilation和celebration
尊敬的LOEx用户:BTJL举办的新用户注册送20万空投活动已结束。活动期间在LOEx平台注册的新用户并完成实名认证,前4000名用户每人获得50BTJL,活动奖励将于9月9号前发放至获奖用户账.
1900/1/1 0:00:00美联储鲍威尔:美联储正在关注数字货币但并未积极考虑它◇金色盘面据huobiglobal数据显示,BTC最近成交价10351美元,24小时变化-0.53%;ETH最近成交价181.98美元.
1900/1/1 0:00:00作者|JoelMonegro编辑|Summer上世纪60年代的计算机行业人士普遍或说,市场是IBM和“七个小矮人”的天下.
1900/1/1 0:00:00EOS看涨期权代码月EOS看涨1007期权标的EOS合约类型欧式看涨期权计价单位USDT最小价格单位0.0001USDT合约比例1:2.
1900/1/1 0:00:00作者|LucDossis编辑|Jhonny理解比特币并非易事。自2017年我开始掉进比特币这个兔子洞以来,已经对其进行了两年不间断地研究了,而我现在才开始理解它的深层含义.
1900/1/1 0:00:00陈炳才:数字货币是支付方式创新,不是货币创新◇金色盘面据huobiglobal数据显示,BTC最近成交价10583美元,24小时变化0.41%;ETH最近成交价173.92美元.
1900/1/1 0:00:00