3. 【实验】补全一个区块链应用

极速实践

说明: > 基于 FISCO BCOS 官方制定的 Asset 应用例子制定实操实验。 > > 例子: > > https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/tutorial/sdk_application.html > > 提供的需补全的例子: > > https://gitee.com/leeduckgo/asset-example-lacked-sth/ 完成步骤: **1)下载代码** ``` git clone https://gitee.com/leeduckgo/asset-example-lacked-sth.git ``` **2)补全合约** 补全`Asset.sol`中的 TODO 部分。 3)在 FISCO BCOS 的`contract`文件夹中创建`asset`文件夹 ![image20201229141624151.png](https://img.learnblockchain.cn/attachments/2021/01/cAUvnETA5ff31fcc2cf9e.png) **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 ```

说明:

基于 FISCO BCOS 官方制定的 Asset 应用例子制定实操实验。

例子:

https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/tutorial/sdk_application.html

提供的需补全的例子:

https://gitee.com/leeduckgo/asset-example-lacked-sth/

完成步骤:

1)下载代码

git clone https://gitee.com/leeduckgo/asset-example-lacked-sth.git

2)补全合约

补全Asset.sol中的 TODO 部分。

3)在 FISCO BCOS 的contract文件夹中创建asset文件夹

3. 【实验】补全一个区块链应用插图

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)编译项目

可以通过gradlegradlew两种方式。

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

区块链技术网。

  • 发表于 2021-01-04 22:03
  • 阅读 ( 1099 )
  • 学分 ( 17 )
  • 分类:FISCO BCOS
  • 专栏:狗哥区块链精品内容集

评论