IOST创造了一项高扩容、高吞吐的区块链技术,采用置信度证明共识机制(Proof-of-Believable consensus approach),极大地提升了系统吞吐量;并为开发者创建了一个安全高效的分布式平台,支持拥有大量用户的大型DApp部署。
下文将为读者展示IOST DApp的部署教程,案例采用本地测试网,其使用方法与主网一致。
环境安装
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
module.exports = HelloWorld;
该智能合约包含一个接口,接受一个输入,然后输出 Hello,+输入。为使hi 智能合约能够被外界调用,需准备一个abi文件,如 HelloWorld.abi
abi 的 name 字段对应 js 的函数名,args 列表包含了一个初步的类型检查,建议只使用 string、number、bool 三种类型。
05
发布 DApp 程序。测试网需加上—chain_id=1020,主网则不需要。
若 HelloWorld.js 和 HelloWorld.abi 并未放在当前目录下,则需制定相对应的目录。
发布成功输出参考示例(SUCCESS!):
下面来测试一下该 DApp 能否正常使用:
注:
此处的 ${ contract id }需改成你所收到的 id,如上图中的Contract4potBXswtQ2krYVSb85fFwngZ3GaaWQ6sqzCwCtQUKvV
{$name}为任意你想要的名字。以 Tom 为例,其输入/输出如下:
如此一来,这条记录便被永远记录在区块链上。任何人均可根据 txHash 进行查询,如下图所示:
一个简单的智能合约即DApp程序部署完成。
通过上文可知,在IOST网络中部署一个DApp较为简单,只需懂得JavaScript语言即可,这也使得IOST网络为广大DApp开发者所喜爱。
-END-
IOST简介
IOST是一个由红杉、经纬、真格等全球一线美元投资机构支持的,为在线服务提供商而开发的区块链应用平台。
目标
通过POB共识机制和第二层扩展方案的设计来实现横向扩容和高吞吐量的目标。通过开发社区自有网络的有效方式,为第三方开发人员、创作者和企业提供实现价值的平台。
原则
在不牺牲去中心化的关键属性的前提下提高交易性能,即:保护隐私、公开参与、社区免受恶意攻击。IOST比基于DPOS机制的EOS更去中心化,比ETH智能合约平台更具可扩展性。
IOST,见证区块链技术的未来。