js4eos开发eos及合约,再也不用下载客户端,编译等那么麻烦了

为什么要写这篇文章

    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

js4eos 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

 测试(window:需要转义符 \)

js4eos push action youraccount hi "[\"youraccount\"]" -p youraccount

切换到主网正式部署上线

js4eos config set -n mainnet

js4eos set contract youraccout hello

 中间执行过程除出现如下提示,就说明你没有导入私钥或者解锁

错误:缺少密钥,请检查您的keyProvider

改变chainid,httpendpoint,network

js4eos config  set --network mainnet --chainid=aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e906 --url=http://bp.cryptolions.io:8888

转账

js4eos push action eosio.token transfer "[\"itleakstoken\", \"itleakstokem\", \"10.0000 EOS\", \"test\"]" -p itleakstoken

获取帐户信息

js4eos get account youraccount

买RAM

js4eos system buyram payer receiver "0.0001 EOS"

卖RAM

js4eos system sellram payer bytes

委托CPU,NET

js4eos system delegatebw payer receiver "0.0000 EOS" "0.1000 EOS"

第一个“0.0000 EOS”是网络,第二个“0.1000 EOS”是cpu

赎回cpu,net资源undelegate

js4eos system undelegatebw payer receiver "0.0000 EOS" "0.1000 EOS"

设置eosio.code权限

js4eos set account permission pppppppp1233 active "{\"threshold\": 1,\"keys\": [{\"key\":\"EOS89YMcse15UyHUPnomuq6Y6nFnn9XzxR2fkCWfgCyt3UYPoeq7g\", \"weight\":1}],\"accounts\": [{\"permission\":{\"actor\":\"pppppppp1233\",\"permission\":\"eosio.code\"},\"weight\":1}]}" owner -p pppppppp1233@owner

参数详解:

1: EOS89YMcse15UyHUPnomuq6Y6nFnn9XzxR2fkCWfgCyt3UYPoeq7g是eosio.code权限对应的公钥地址;

2:pppppppp1233是eosio.code的权限主体,这里需要pppppppp1233的owner权限签名,才能设置eosio.code权限

 

特别注意:

window环境需要参数需要转义符:  \

 写这博客特别感谢@ itleaks的支持

欢迎感兴趣的同志加我一起交流

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
1、玩过EOS的都知道,EOS本身更新迭代非常之快,所以有些知识点可能与最新版有所出入,希望小伙伴理解!此文档适用于EOS-v1.0.5以上版本和v1.1.x版本,目前的v1.2.x可能会有极少部分出入,比如eosiocpp工具看更新说明再不用安装的状态下就能使用,目前还未测试。有兴趣的小伙伴可以留言交流。 2、当前文档目录结构介绍: #思考研究问题 1、如何保证EOS中发布的智能合约不被随意篡改? #玩转EOS智能合约代码 #玩转客户端cleos 1、先玩转与智能合约相关的操作 #使用eosiocpp工具编译智能合约生成abi文件和wast文件 #编译合约(无法通过) #安装build/programs下工具 #重新编译合约 #部署合约到账户 #购买RAM #测试调用部署的合约 #更新\升级已经部署过的智能合约(相对空的合约) #更新添加新的函数接口(action)合约 #有关require_auth的合约测试 2、玩转智能合约与数据库相关操作 #参考资料 #持久化API (Multi-Index) 1、一般来讲,对数据库的操作无外乎增删改查 2、表结构示例详解 3、Multi_index定义,建立数据表 4、实例化multi_index 5、操作数据,增删改查 #玩转table表 1、Table表producers 2、Table表global 3、Table表voters 4、Table表rammarket (获取RAM实时价格) 5、Table表refunds (查看账户退款信息) 6、Table表namebids (罗列参与竞拍的账户信息) 3、启动nodeos节点出现脏数据 4、查看账户抵押资产,抵押token,赎回token #查看账户余额(可用余额) #查看SYS货币信息,eosio.token是经营货币的合约 #查看公钥对应账户 #查看子账户(控制账户) #查看账户信息 #查看账户抵押信息 #钱不够那就转账,随便耍 #get transaction无结果了解一下 #卖出RAM(卖给系统账户eosio.ram),字节bytes #抵押token获取CPU和net资源 #赎回抵押token,默认三天后到账,执行后可查看账户状态
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北纬32.6

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值