区块链联盟链PlatONE Wasm 合约开发指南

PlatONE是由万向区块链与合作伙伴联合打造的支持隐私计算的区块链联盟链。本文主要介绍PlatONE Wasm合约开发环境配置方法;  Wasm合约编译 及 Wasm合约部署及调用,方便大家对Wasm合约进行初步了解,快速掌握Wasm合约开发技巧。

1. 配置Wasm合约开发环境

获取最新稳定版的WASM合约发布包,并进行解压。

wget https://github.com/PlatONEnterprise/PlatONE-Go/releases/download/v0.9.0/BCWasm_linux_release.v0.9.0.tar.gz

# 进入BCWasm目录,然后定义路径:
cd BCWasm
export CONTRACTSSPACE=${PWD}

${CONTRACTSSPACE}目录下包含了合约编译所需的材料,合约源码目录为${CONTRACTSSPACE}/appContract

获取PlatONE最新稳定版的发布包,并进行解压。进入解压获得的PlatONE_linux目录,然后定义路径:

wget https://github.com/PlatONEnterprise/PlatONE-Go/releases/download/v0.9.0/PlatONE_linux_v0.9.0.tar.gz

tar -xzvf PlatONE_linux_v0.9.0.tar.gz

cd PlatONE_linux
export BIN_PATH=${PWD}/bin

 

⚠ 请确保 ${BIN_PATH}设置在当前的工作Shell,以让该环境变量生效。

2. 构建项目及编译合约

cd ${CONTRACTSSPACE}

# 1. 构建用户合约
./script/autoprojectForApp.sh  . my_contract

# 2. 构建工程
./script/autoprojectForApp.sh  .

# 3. 编译合约
cd build
make my_contract

2.1. 构建项目

第一步时,会在${CONTRACTSSPACE}/appContract下构建新的合约目录my_contract

第二步时,会在${CONTRACTSSPACE}下创建build,并编译合约。

此时,build目录下的结构如下所示

├── appContract
│   ├── appDemo
│   │   ├── appDemo.bc
│   │   ├── appDemo.cpp.abi.json ## 合约的abi文件
│   │   ├── appDemo.cpp.bc
│   │   ├── appDemo.s
│   │   ├── appDemo.wasm         ## 合约的wasm字节码
│   │   ├── appDemo.wast
│   │   ├── CMakeFiles
│   │   ├── cmake_install.cmake
│   │   └── Makefile
│   ├── CMakeFiles
│   ├── cmake_install.cmake
│   ├── Makefile
│   └── my_contract
│       ├── CMakeFiles
│       ├── cmake_install.cmake
│       ├── Makefile
│       ├── my_contract.cpp.abi.json ## 合约的abi文件
│       ├── my_contract.bc
│       ├── my_contract.cpp.bc
│       ├── my_contract.s
│       ├── my_contract.wasm
│       └── my_contract.wast
├── CMakeCache.txt
├── CMakeFiles
├── cmake_install.cmake
└── Makefile

合约文件会通过脚本autoprojectForApp.sh默认生成如下的源码,可以

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值