狗哥区块链精品内容集

2021年10月09日更新 29 人订阅
原价: ¥ 20 限时优惠
专栏简介 用 Sqlite 存储 WeId | Rust 学习笔记(五) 用 Rust 程序和 Webase 交互 | Rust 学习笔记(四) Mapping 数据结构 | 用 Rust 写智能合约(二) 链上注册WeId与错误处理 | Rust 学习笔记(六) Hello, Ink! | 用 Rust 写智能合约(一) 以太坊上的核心开发者 Austin | 以太坊上的最佳开发实践 1 小时理解比特币系统 WeId 链上创建与本地存储的完整闭环 | Rust 学习笔记(七) 理解以太坊合约数据读取过程 | 函数式与区块链(二) NFT:实体与虚拟载体的主与辅 | 狗哥的元宇宙思辨(一) 区块链与共识机制演变史 eth.build 快速上手 | Web3.0 dApp 开发(一) Ted Yin | 2021 年的区块链基础设施将是什么? 0. 公链、联盟链与分布式未来(全文) Scaffold-eth 快速上手 | Web3.0 dApp 开发(二) 基于 Infura 与 Web3py 部署调用 Hello 合约全过程 | 以太坊开发极速入门 太上中的基因设计与Binary | 函数式与区块链(一) 1. FISCO BCOS 开发环境节点搭建全攻略 2. 控制台的安装与使用 3. 【实验】补全一个区块链应用 4. 控制台的Web化 5. Web化控制台2.0:打造团队共用区块链学习平台 6. 使用脚手架快速搭建 Java DApp 伪代码简述 ECDSA 签名过程 | 联盟链开发 WeIdentity 源码分析 | 狗哥解码 WeIdentity 源码分析 | 狗哥解码 FISCO BCOS 介绍 | 联盟链开发 给Remix升个级 | 联盟链开发 【视频+文字】分布式思维

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

  • 李大狗
  • 发布于 2021-01-04 22:03
  • 阅读 984

极速实践

说明:

基于 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

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
点赞 1
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论