您正在查看: Surou 发布的文章

Ubuntu18.04安装Docker

第一种方法从Ubuntu的仓库直接下载安装:

安装比较简单,这种安装的Docker不是最新版本,不过对于学习够用了,依次执行下面命令进行安装。

sudo apt install docker.io

sudo systemctl start docker
sudo systemctl enable docker

查看是否安装成功

docker -v
Docker version 17.12.1-ce, build 7390fc6

第二种方法从Docker仓库下载安装:
这种安装方式首先要保证Ubuntu服务器能够访问Docker仓库地址:https://download.docker.com/linux/ubuntu,如果能够访问,按照下面的操作步骤进行安装

sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common

在/etc/apt/sources.list.d/docker.list文件中添加下面内容

deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable

添加秘钥

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

安装docker-ce

sudo apt install docker-ce

查看是否安装成功:

docker --version
Docker version 18.03.0-ce, build 0520e24

【EOSIO Explorer】EOSIO开发者浏览器功能体验

启动EOSIO Explorer

使用如下命令启动EOSIO Explorer,会同时启动后台服务和前端页面:

cd eosio-explorer
yarn eosio-explorer start

EOSIO Explorer功能介绍

启动后的主界面如下图所示:

Header栏展示了所有功能,分为两部分:INSPECT(检查)和INTERACT(交互);

INSPECT(检查)的功能相当于区块浏览器,有以下功能:

  • INFO:即主页展示的区块链信息,包括连接的Nodeos和MongoDB地址、区块链基本信息等;
  • BLOCKS:区块列表;
  • TRANSACTIONS:交易列表;
  • ACTIONS:Action列表;
  • ACCOUNTS:账户列表;
  • SMART CONTRACT:智能合约列表;

INTERACT(交互)包含如下功能:

  • MANAGE ACCOUNTS:管理账户;
  • DEPLOY CONTRACTS:部署合约;
  • PUSH ACTIONS:调用Action;

下面详细介绍这些功能。

账户管理

在账户管理页面可以直接创建账户,会自动生成一对公私钥进行创建:

回到账户管理页面查看账户列表:

区块信息查询

上面创建账户的操作,实际是调用eosio::newaccount Action,调用信息可以在INSPECT的各个tab中查看。
查看交易列表:

查看Action列表:

查看Action详情:

查询账户信息:

编译/部署合约

DEPLOY CONTRACTS界面提供一个编辑器,可以把合约源文件上传(支持拖拽)到编辑器中:

填写好cpp源文件根路径,点击“GENERATE ABI”生成ABI,如果代码存在错误,会在右侧Compiler Errors框提示:

ABI和WASM生成好后选择一个账户来部署合约:

成功部署合约后,右侧会展示部署信息:

同时可以在SMART CONTRACT界面查询合约信息:

调用合约

在PUSH ACTIONS界面可以调用合约的Action:

小结

使用EOSIO Explorer,不需要使用命令,就执行了公私钥的生成、账户创建、合约的编译/部署/调用等操作,省去大量繁琐的命令操作时间,让开发者可以把注意力集中在智能合约逻辑的开发上;

EOSIO Explorer对于熟练的EOS智能合约开发人员是很好的工具,但对于合约开发初学者,还是建议先学习命令行操作,等理解原理后再使用可视化开发工具。

转载地址:https://bihu.com/article/1900672350

查看EOS主网BP配置

cleos -u https://api.eoslaomao.com get table eosheartbeat eosheartbeat hbstruct

【EOSIO Explorer】安装和使用EOSIO开发者浏览器

EOSIO Labs最近发布了一款开发者浏览器:EOSIO Explorer,提供全新的web图形交互界面来帮助开发智能合约。

安装EOSIO Explorer

从EOSIO Explorer的Github地址克隆项目到本地,然后安装:

git clone https://github.com/EOSIO/eosio-explorer.git
cd eosio-explorer
yarn

yarn和npm类似,也是一个nodejs包管理工具,如果没有安装yarn,先使用如下命令安装:

sudo apt remove cmdtest
sudo apt remove yarn
sudo npm install -g yarn

注:npm和yarn命令对比

npm yarn
npm install yarn
npm install react --save yarn add react
npm uninstall react --save yarn remove react
npm install react --save-dev yarn add react --dev
npm update --save yarn upgrade

安装时可能遇到的问题

EOSIO Explorer基于Puppeteer,Puppeteer是Google Chrome团队官方的无界面(Headless)Chrome 工具,安装Puppeteer时可能会报如下错误:

ERROR: Failed to download Chromium r650583! Set "PUPPETEER_SKIP_CHROMIUM_DOWNLOAD" env variable to skip download.

这是因为墙的原因无法下载chromium-browser,先设置不要默认下载:

cd eosio-explorer
echo 'puppeteer_skip_chromium_download=true'>.npmrc

然后到淘宝镜像站选择系统对应的安装包,下载前需要查询需要下载的版本:

cd eosio-explorer/node_modules/puppeteer
cat package.json

在puppeteer下的chromium_revision中可以找到:

要下载的版本是650583,以64位Linux系统为例,下载地址是:
https://npm.taobao.org/mirrors/chromium-browser-snapshots/Linux_x64/650583

下载的文件名为chrome-linux.zip,把它移动到puppeteer的项目目录中并解压,命令如下:

cd eosio-explorer/node_modules/puppeteer
mkdir .local-chromium
cd .local-chromium
mkdir linux64-650583
cd linux64-650583
wget https://npm.taobao.org/mirrors/chromium-browser-snapshots/Linux_x64/650583/chrome-linux.zip
unzip chrome-linux.zip
rm -f chrome-linux.zip

然后重新执行安装命令:

cd eosio-explorer
yarn


显示success表示安装成功,在eosio-explorer目录运行如下命令可以查看eosio-explorer版本:

yarn eosio-explorer -v

运行EOSIO Explorer

第一次运行EOSIO Explorer要进行初始化,这条命令会建立一个Docker容器并删除现有数据(包括MongoDB、本地区块链、本地存储中的数据):

yarn eosio-explorer init

如果此时报错:

Error: Chromium revision is not downloaded. Run "npm install" or "yarn install"
at Launcher.launch

则需要配置puppeteer执行地址:

cd eosio-explorer
echo 'puppeteer_executable_path=/home/songguo/eos-workspace/eosio-explorer/node_modules/puppeteer/.local-chromium/linux64-650583/chrome-linux/chrome'>>.npmrc

再次执行yarn eosio-explorer init命令,成功运行EOSIO Explorer,在本地的5111端口启动了一个React应用:

下次再启动时执行start命令:

yarn eosio-explorer start

执行start时,添加--init参数,会在重新构建应用,并清除React本地存储(不会清除区块链和MongoDB数据):

yarn eosio-explorer start --init

退出应用后,后台的Docker容器也会一直生产区块,需要使用如下命令停止正在运行的Docker容器:

yarn eosio-explorer pause_dockers

如果本地已经安装了EOSIO,使用EOSIO Explorer启动的Docker容器会占用掉8888端口,如果要让本地nodeos可用,需要删除此Docker容器:

yarn eosio-explorer remove_dockers

使用PM2管理应用

EOSIO Explorer应用启动后会在5111端口一直执行,如果要退出应用需要使用命令kill 5111端口的进程,或者使用PM2来管理应用;

PM2是nodejs进程管理工具,可以利用它来简化很多node应用管理的繁琐任务,如性能监控、自动重启、负载均衡等,安装PM2使用如下命令:

npm install -g pm2

查看运行中的进程使用pm2 list命令:

可以看到,运行中的pm2进程有两个,就是EOSIO Explorer启动的进程,停止它们使用pm2 stop all命令:

更多PM2的使用方法可以到官网查看。

小结

这篇文章介绍了EOSIO Explorer的安装和使用方法,更多EOSIO Explorer的功能在后续的文章中介绍。
转载自:https://bihu.com/article/1353071796

abi 与json 转换 eosio-java-android-abieos-serialization-provider

Android ABIEOS Serialization Provider是EOSIO SDK for Java的可插拔序列化提供程序。

序列化提供程序负责在JSON和二进制数据表示之间进行ABI驱动的事务和操作序列化以及反序列化。这个特殊的序列化提供程序包装了ABIEOS,这是一个促进这种转换的C / C ++库。

github:https://github.com/EOSIO/eosio-java-android-abieos-serialization-provider