【入门级攻略】IOST dApp 开发
IOST 创造了一项高扩容、高吞吐的区块链技术,采用高效分布式分片(EDS)以及置信度证明共识机制(Proof-of-Believable consensus approach),极大地提升了系统吞吐量。IOST 为开发者创建了一个安全高效的分布式平台,支持拥有大量用户的大型 dApp 部署。
下文将为读者展示 IOST dApp 的部署教程,案例采用本地测试网,其使用方法与主网一致。
01
环境安装。docker 安装完成后,通过 docker 方式执行代码 docker run -d --rm -p 30000-30003:30000-30003 iostio/iost-node
若出现以下图示,Gen block,则启动成功。

02
安装 iwallet 钱包及 nodejs (编译 dApp 使用)。首先安装 golang,并设置 GOPATH、GOBIN 等环境变量,执行以下命令,安装 iwallet
go get github.com/iost-official/go-iost/cmd/iwallet
03
本地测试网内置了一个 admin 账户,里面有很多 token balance,可使用命令查看。在主网上需创建自己的主网账号。
iwallet --server 127.0.0.1:30002 balance admin
04
编写 dApp 程序。此处以开发者入门程序 hello world 为例,更为复杂的程序同样可依照此方法编写。
首先编写一个 Javascript 类,例如 HelloWorld.js,
vim helloworld.js
class HelloWorld { init() {} // 需要提供一个 init 函数,它将会在部署时被调用 hello(someone) { return "hello, "+ someone }}
module.exports = HelloWorld;
该智能合约包含一个接口,接受一个输入,然后输出 Hello,+输入。为使 hi 智能合约能够被外界调用,需准备一个 abi 文件,如 HelloWorld.abi
*
vim HelloWorld.abi{ "lang": "javascript", "version": "1.0.0", "abi": [ { "name": "hello", "args": [ "string" ] } ]}
abi 的 name 字段对应 js 的函数名,args 列表包含了一个初步的类型检查,建议只使用 string、number、bool 三种类型。
05
发布 dApp 程序。测试网需加上—chain_id=1020,主网则不需要。
iwallet --gas_limit 1000000 --gas_ratio 1 --server localhost:30002 --account admin --amount_limit '*:unlimited' publish helloworld.js helloworld.abi
若 HelloWorld.js 和 HelloWorld.abi 并未放在当前目录下,则需制定相对应的目录。
发布成功输出参考示例(SUCCESS!):

下面来测试一下该 dApp 能否正常使用:
iwallet --gas_limit 1000000 --gas_ratio 1 --server localhost:30002 --account admin --amount_limit '*:unlimited' call "${ contract id }" "hello" '["{$name}"]'
注:
此处的 ${ contract id }需改成你所收到的 id,如上图中的 Contract4potBXswtQ2krYVSb85fFwngZ3GaaWQ6sqzCwCtQUKvV
{$name}为任意你想要的名字。以 Tom 为例,其输入 / 输出如下:


如此一来,这条记录便被永远记录在区块链上。任何人均可根据 txHash 进行查询,如下图所示:

一个简单的智能合约即 dAPP 程序部署完成。
- IOST 的 dApp 生态截至 2019 年 12 月 31 日,IOST 主网上已上线 59 款 dApp,其中游戏类 dApp 多达 30 个,占比 50%。当前 dApp 主要分为游戏、金融、交易所等等。通过上文可知,在 IOST 网络中部署一个 dApp 较为简单,只需懂得 Javascript 语言即可,这也使得 IOST 网络为广大 dApp 生态开发者所喜爱。
来源:HashQuark社区
- 免责声明
- 世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
- 风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
- 世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:juu3644。

韭菜的心声



