为什么要写这篇文章
EOS最近DAPP不断增多,活跃度也不错,但是EOS一直有一个心病,那就是操作门槛高,这也是EOS参与者账号少的核心原因。
最近几个月一直有不少对区块链感兴趣的同志加我,对客户下载,编译安装老是出题。除了EOS客户端对系统版本(Ubuntu的的,centos的的等)要求比较高之外,而且更新也比较快,更新之后变化也不少。不仅是刚入手的,还是对自己也要花不少时间去了解学习。因此就写了这篇博客与大家分享
谁适合阅读本篇博客
1.对区块链感兴趣,对EOS感兴趣
2.区块链开发者
3.不想下载客户端,编译,同步等那么麻烦者
4.eos合约开发者
js4eos能做什么及介绍
js4eos基本同EOS客户端一样,更轻量级,基本能满足开发者大部分需求。
目前而EOS编译一向都不是一个简单的事情,一是不同机器系统可能会出现个人及开发人员都是通过cleos这个客户端程序和EOS交互,这里就存在一个问题,要得到cleos就必须编译EOS。各种问题,二是机器要求较高。同时,EOS各种升级还可能导致编译错误,比如EOS1.2出现过“symbole_core.hpp”找不到的问题。
js4eos的初衷就是降低用户EOS使用门槛.js4eos第一版解决了EOS个人使用者的问题,即提供了和cleos一模一样的命令,只需一条安装js4eos命令即可拥有cleos的所有功能,无需编译EOS。但是智能合约开发人员需要使用eosiocpp等工具,还是需要编译EOS,因此这次js4eos升级了,支持编译部署智能合约,开发人员也不需要编译EOS了。
js4eos依赖
使用js4eos之前你必须有本地节点开发环境。没有配置好的,请到官网下载安装,简单。
js4eos升级功能
1)支持EOS智能合约编译部署
2)用户账号私钥加密保护,用户的私钥加密后才保存到文件里的,不暴露明文。使用前必须通过解锁解锁。
3)支持一键切换网络,在主网,测试网络丛林,麒麟网络,fibos等网络中自由切换。
js4eos config set mainnet / jungle / kylin / fibos
4)支持水龙头功能,比如新建测试网络账号,通过下面命令即可一键创建
js4eos faucet annewaccount1 create account success {
"privatekey":"your privatekey",
"publickey" : "your publickey",
"account" : "annewaccount1 "
}
js4eos进行智能合约开发实践
js4eos安装
npm install -g js4eos
//创建默认钱包,需要记住它输出的钱包密码,后面unlock时需要输入
js4eos wallet create
导入私钥
//解锁钱包,需要输入前面的钱包密码
js4eos wallet unlock
jseos wallet import your_private_key
智能合约编写,编译及部署
mkdir hello
cd 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 youraccout hello
中间执行过程除出现如下提示,就说明你没有导入私钥或者解锁
错误:缺少密钥,请检查您的keyProvider
写这博客特别感谢@ itleaks的支持
欢迎感兴趣的同志加我一起交流