极速实践
说明:
基于 FISCO BCOS 官方制定的 Asset 应用例子制定实操实验。
例子:
https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/tutorial/sdk_application.html
提供的需补全的例子:
完成步骤:
1)下载代码
git clone https://gitee.com/leeduckgo/asset-example-lacked-sth.git
2)补全合约
补全Asset.sol
中的 TODO 部分。
3)在 FISCO BCOS 的contract
文件夹中创建asset
文件夹
3)通过控制台工具将合约转换为.java
./sol2java.sh org.fisco.bcos.asset.contract contracts/solidity/asset
4)将生成的包含java
文件的contract
目录拷贝到 asset-app
中的相应位置
将
console/contracts/sdk/java/org/fisco/bcos/asset/contract
拷贝到
|-- build.gradle // gradle配置文件
|-- gradle
| |-- wrapper
| |-- gradle-wrapper.jar // 用于下载Gradle的相关代码实现
| |-- gradle-wrapper.properties // wrapper所使用的配置信息,比如gradle的版本等信息
|-- gradlew // Linux或者Unix下用于执行wrapper命令的Shell脚本
|-- gradlew.bat // Windows下用于执行wrapper命令的批处理脚本
|-- src
| |-- main
| | |-- java
| | |-- org
| | |-- fisco
| | |-- bcos
| | |-- asset
| | |-- client // 放置客户端调用类
| | |-- AssetClient.java
| | |-- 【拷贝到此处】
| |
| |-- test
| |-- resources // 存放代码资源文件
| |-- applicationContext.xml // 项目配置文件
| |-- contract.properties // 存储部署合约地址的文件
| |-- log4j.properties // 日志配置文件
| |-- contract //存放solidity约文件
| |-- Asset.sol
| |-- Table.sol
|
|-- tool
|-- asset_run.sh // 项目运行脚本
5)创建放置证书的文件夹
mkdir -p asset-app/src/test/resources/conf
6)将节点证书拷贝到resources路径
cp -r nodes/127.0.0.1/sdk/* asset-app/src/test/resources/conf
7)编译项目
可以通过gradle
或gradlew
两种方式。
gradle方式:
gradle build
gradlew方式:
./gradlew build
8)运行!
进入dist
目录:
cd dist
运行:
Asset.sol
合约# 确保脚本权限
$ chmod u+x *.sh
$ bash asset_run.sh deploy
Deploy Asset successfully, contract address is 0xd09ad04220e40bb8666e885730c8c460091a4775
$ bash asset_run.sh register Alice 100000
Register account successfully => account: Alice, value: 100000
$ bash asset_run.sh register Bob 100000
Register account successfully => account: Bob, value: 100000
$ bash asset_run.sh query Alice
account Alice, value 100000
$ bash asset_run.sh query Bob
account Bob, value 100000
$ bash asset_run.sh transfer Alice Bob 50000
Transfer successfully => from_account: Alice, to_account: Bob, amount: 50000
$ bash asset_run.sh query Alice
account Alice, value 50000
$ bash asset_run.sh query Bob
account Bob, value 150000
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!