1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 快速入门:BUMO 智能合约(hello world)

快速入门:BUMO 智能合约(hello world)

时间:2018-10-31 08:59:43

相关推荐

快速入门:BUMO 智能合约(hello world)

BUMO 智能合约(hello world)

概述

合约是一段JavaScript代码,标准(ECMAScriptas specified inECMA-262)。合约的初始化函数是init, 执行的入口函数是main函数,您写的合约代码中必须有initmain函数的定义。该函数的入参是字符串input,是调用该合约的时候指定的。

详细的合约的介绍,请看合约。详细的合约的语法,请看合约语法。详细的合约编辑器的用户手册,请看合约编辑器的介绍。

下面的示例是在合约编辑器下来实现的。

智能合约(hello world)

下面通过一个简单的示例来介绍一下合约的使用。

合约代码

合约源码

编辑一段合约代码,如下:

"use strict";function init(bar){assert(typeof bar === 'string' && bar.length > 0, 'The param of init must be a not empty string');storageStore(bar, 'init : ' + bar);}function main(input){assert(typeof input === 'string' && input.length > 0, 'The param of main must be a not empty string');storageStore(input, 'main : ' + input);}function query(input){ assert(typeof input === 'string' && input.length > 0, 'The param of query must be a not empty string');return storageLoad(input);}

简单介绍

assert:全局函数,断言,当第一个参数的条件不满足时,则抛出第二个参数的字符串内容。

storageStore:全局函数,将指定的key-value对保存到区块链中。key是第一个参数,value是第二个参数。

效果展示

发布合约

操作

该操作是点击界面右侧的Deploy按钮来完成的。Deploy按钮上的编辑框用来输入init函数参数。

函数运行

该操作会运行合约代码中的init函数,init函数有一个参数bar。

在执行init函数第一行代码时,发现参数bar不能空,且必须是字符串。

函数参数

在Deploy按钮上的编辑框中输入hello.

运行效果

点击Deploy按钮,效果如下:

main函数

操作

点击界面右下边的main标签,此时下方的编辑框是用来输入main函数参数,再下面还有一个编辑器,此处是输入待转移给合约账户的BU的数量。

函数运行

该操作会运行合约代码中的main函数,main函数有一个参数input。

在执行main函数第一行代码时,发现参数input不能空,且必须是字符串。

函数参数

在main下的第一个编辑框中输入world.

运行效果

点击最下面的Invoke按钮,运行效果如下:

query函数

操作

点击界面右下边的query标签,此时下方的编辑框是用来输入query函数参数。

函数运行

该操作会运行合约代码中的query函数,query函数有一个参数input。

函数参数

在query下的编辑框中输入hello

运行效果

点击最下面的Invoke按钮,运行效果如下:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。