Xuperchain部署和应用

官方开源文档:XuperChain文档 — XuperChain 官方文档 文档

环境准备

1. Ubuntu

2.XuperIDE(Windows环境下)

3.Docker Desktop(Windows环境下)

XuperIDE 使用 Docker 来启动 Xuper 节点和进行项目编译。

使用XuperIDE进行合约的编写部署和调用

1. 开启Docker打开XuperIDE,创建密钥对

2. New Instance 按钮创建节点

3. 点击实例的绿色 Start 按钮启动 Xuper 节点。启动完成后,你可以在下方的日志查看器中检查节点运行日志

4. 选择连接网络

5. 在explorer按钮下 点击加号创建智能合约账户,格式为16位数字,该标签下还可查看对应的地址信息。只有合约账户才拥有代码

6. 左上角project处创建智能合约项目

7. 选择相应的编译器版本,编译合约

8. 部署合约,输入部署合约的名称、构造函数的参数、约账号等信息

9.  调用合约,在contract标签下对合约中的函数进行调用

在Ubuntu中搭建Xuperchain链进行部署和调用合约(solidity)

1. 复制.abi和.bin文件

使用XuperIDE的docker进行拉取镜像solc去编译solidity源码,即执行到上述第7步。

在第7步编译完成之后,复制.abi和.bin文件到Ubuntu中xuperchain的output目录下。

# linux权限更改chmod 777 filename/*

2. 启动xuper链

# 启动xuper链
/workspace/xuperchain/output$ bash control.sh start

其他可能用到的命令:
# 创建普通用户, 生成的地址,公钥,私钥在--output 指定位置
$ bin/xchain-cli account newkeys --output data/bob
create account using crypto type default
create account in data/bob
## 创建合约账号
bin/xchain-cli account new --account 1111111111111111 --fee 2000
# 根据账户存储的路径,查询该账户的余额。--keys为要查询的账户的地址
$ bin/xchain-cli account balance --keys data/keys
100000000000338000000
# 根据地址查询该账户余额
$ bin/xchain-cli account balance TeyyPLpp9L7QAcxHangtcHTu7HUZ6iydY
100000000000401000000
$ bin/xchain-cli account balance XC1111111111111111@xuper
# --keys 从此地址 转给 --to地址 --amount 金额
$ bin/xchain-cli transfer --to czojZcZ6cHSiDVJ4jFoZMB1PjKnfUiuFQ --amount 10 --keys data/keys/ -H 127.0.0.1:37101
24d53ea6e61ede8dc4fe65a04fd30da17c079a359e700738f8795dfddc55ffb4
# 可查询上一步生成的txid的交易信息
$ bin/xchain-cli tx query 24d53ea6e61ede8dc4fe65a04fd30da17c079a359e700738f8795dfddc55ffb4 -H 127.0.0.1:37101
# 可查询上一步交易所在的block id信息
$ bin/xchain-cli block e83eae0750d0f48cc2b45f25d853fb587d124552851bf6693757e0715837b377 -H 127.0.0.1:37101

3. 部署合约

#部署合约
# 要确保合约账户中有钱,否则需要先向该账户转入资金
$ xchain-cli evm deploy --account XC1111111111111111@xuper --cname counterevm  --fee 5200000 Counter.bin --abi Counter.abi
 contract response: ok
 The gas you cousume is: 1789
 The fee you pay is: 22787517
 Tx id: 78469246d86a92ad47e5c15991a55978075902809346e48533e09a8eb0e3a7e4
  • --abi Counter.abi :表示部署需要使用的abi文件,用于合约方法参数编解码
  • -a :如果合约需要构造函数,通过-a进行指定
  • -a increase '{"key":"haha"}'
  • -a increase '{"key":["hah","das","da"]}'多个参数
  • --account:接合约账户地址
  • --cname:接调用的函数名
  • --fee:需要的费用

4.调用合约

# 假如调用solidity合约,increase方法,counterevm为合约名
$ xchain-cli evm invoke --method increase -a '{"key":"test"}' counterevm --fee 22787517

# 调用solidity合约,get方法,counterevm为合约名
$ xchain-cli evm query --method get -a '{"key":"test"}' counterevm
# 调用结果,其中0表示返回值的次序,1为返回值
# key,value: 0 1

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值