EOS最近DAPP不断增多,活跃度也不错,但是EOS一直有一个心病,那就是操作门槛高,这也是EOS参与者账号少的核心原因。EOS门槛高主要体现在三个方面。
1)新账号创建机制异常复杂
必须有一个已经存在的账号才能创建新账号,且消耗EOS。这个类似邀请码机制,进入EOS,必须要有“推荐人”,且自己得掏钱。这个问题是机制上的,比较难解决。但还是有一些尝试的,比如BM曾倡议降低账号数据RAM消耗量,比如最近meetone和WhaleEx联合弄免费账号活动,尽管需要实名绑定且三天活跃才会免费,但是对于那些对隐私不是很在意的新用户还是利好的,是一个双赢,对EOS生态也是利好。
2)RAM, CPU机制太繁琐
CPU价格经常波动,CPU大涨就可能导致用户账号因为CPU不足而处于“冻结”状态,就算用户账号有再多的EOS,也解冻不了,必须等其他人施救,体验极差。这个我在4个月前就做了一个CPU互助平台eosfavor.com做CPU免费抵押,后来由于CPU太贵,没法持续下去,目前只支持部分用户免费**。
3)EOS使用开发环境不友好
目前个人及开发人员都是通过cleos这个客户端程序和EOS交互,这里就存在一个问题,要得到cleos就必须编译EOS。而EOS编译一向都不是一个简单的事情,一是不同机器系统可能会出现各种问题,二是机器要求较高。同时,EOS各种升级还可能导致编译错误,比如EOS1.2出现过“symbole_core.hpp”找不到的问题。
js4eos的初衷就是降低用户EOS使用门槛。js4eos第一版解决了EOS个人使用者的问题,即提供了和cleos一模一样的命令,只需一条安装js4eos命令即可拥有cleos的所有功能,无需编译EOS。但是智能合约开发人员需要使用eosiocpp等工具,还是需要编译EOS,因此这次js4eos升级了,支持编译部署智能合约,开发人员也不需要编译EOS了。
-
js4eos升级功能
1)支持EOS智能合约编译部署
2)用户账号私钥加密保护,用户的私钥加密后才保存到文件里的,不暴露明文。使用前必须通过unlock解锁。
3)支持一键切换网络,在主网,测试网络jungle, 麒麟网络,fibos等网络中*切换。
js4eos config set -n mainnet/jungle/kylin/fibos
4)支持水龙头功能,比如新建测试网络账号,通过下面命令即可一键创建
-
js4eos进行智能合约开发实践
js4eos安装
js4eos安装只需要几秒钟
npm install -g js4eos
//创建默认钱包,需要记住它输出的钱包密码,后面unlock时需要输入
js4eos wallet create
导入私钥
这里导入的私钥,js4eos会加密保存到文件里
//解锁钱包,需要输入前面的钱包密码
js4eos wallet unlock
js4eos wallet import your_private_key
-
智能合约编写,编译及部署
mkdir hello
cd hello
在hello目录下新建hello.cpp文件,通过vim等编辑器输入如下合约代码
然后编译
js4eos compile -o hello.wasm hello.cpp
js4eos compile -g hello.abi hello.cpp
切换到测试网络部署
cd ../
js4eos config set -n jungle
js4eos set contract youraccount hello
测试
js4eos push action youraccount hi '["youraccount"]' -p youraccount
切回主网部署正式上线
js4eos config set -n mainnet
js4eos set contract youraccount hello
中间执行过程中如果有以下提示,说明你没有导入私钥或者unlock
Error: missing key, check your keyProvider
-
hello源码实践
https://github.com/itleaks/eos-contract/tree/master/hello-exp
-
js4eos源码及详细文档
喜欢就点击关注吧
公众号:区块链斜杠青年
欢迎大家加我微信:itleaks