编译智能合约
.sol的智能合约需要编译成ABI和BIN文件才能部署至区块链网络上。有了这两个文件即可凭借Java SDK进行合约部署和调用。但这种调用方式相对繁琐,需要用户根据合约ABI来传参和解析结果。为此,控制台提供的编译工具不仅可以编译出ABI和BIN文件,还可以自动生成一个与编译的智能合约同名的合约Java类。这个Java类是根据ABI生成的,帮助用户解析好了参数,提供同名的方法。当应用需要部署和调用合约时,可以调用该合约类的对应方法,传入指定参数即可。使用这个合约Java类来开发应用,可以极大简化用户的代码。
# 创建工作目录~/fisco
mkdir -p ~/fisco
# 下载控制台
cd ~/fisco && curl -#LO https://github.com/FISCO-BCOS/console/releases/download/v2.9.2/download_console.sh && bash download_console.sh
# 切换到fisco/console/目录
cd ~/fisco/console/
# 若控制台版本大于等于2.8.0,编译合约方法如下:(可通过bash sol2java.sh -h命令查看该脚本使用方法)
bash sol2java.sh -p org.fisco.bcos.asset.contract
# 若控制台版本小于2.8.0,编译合约(后面指定一个Java的包名参数,可以根据实际项目路径指定包名)如下:
./sol2java.sh org.fisco.bcos.asset.contract
运行成功之后,将会在
java目录下生成了
SOL区块链破解生成代币 破解合约绕过区块链制定新的规则合约代币 #区块链破解 #代币生成 需要做的人可以来联系:@Perlah544
console/contracts/sdk目录生成java、abi和bin目录,如下所示。# 其它无关文件省略
|-- abi # 生成的abi目录,存放solidity合约编译生成的abi文件
| |-- Asset.abi
| |-- Table.abi
|-- bin # 生成的bin目录,存放solidity合约编译生成的bin文件
| |-- Asset.bin
| |-- Table.bin
|-- contracts # 存放solidity合约源码文件,将需要编译的合约拷贝到该目录下
| |-- Asset.sol # 拷贝进来的Asset.sol合约,依赖Table.sol
| |-- Table.sol # 实现系统CRUD操作的合约接口文件
|-- java # 存放编译的包路径及Java合约文件
| |-- org
| |--fisco
| |--bcos
| |--asset
| |--contract
| |--Asset.java # Asset.sol合约生成的Java文件
| |--Table.java # Table.sol合约生成的Java文件
|-- sol2java.sh
java目录下生成了
org/fisco/bcos/asset/contract/包路径目录,该目录下包含Asset.java和Table.java两个文件,其中Asset.java是Java应用调用Asset.sol合约需要的文件。SOL区块链破解生成代币 破解合约绕过区块链制定新的规则合约代币 #区块链破解 #代币生成 需要做的人可以来联系:@Perlah544
image_2026-05-11_13-53-37.png
44.9 KB
Asset.java的主要接口:package org.fisco.bcos.asset.contract;
public class Asset extends Contract {
// Asset.sol合约 transfer接口生成
public TransactionReceipt transfer(String from_account, String to_account, BigInteger amount);
// Asset.sol合约 register接口生成
public TransactionReceipt register(String account, BigInteger asset_value);
// Asset.sol合约 select接口生成
public Tuple2<BigInteger, BigInteger> select(String account) throws ContractException;
// 加载Asset合约地址,生成Asset对象
public static Asset load(String contractAddress, Client client, CryptoKeyPair credential);
// 部署Assert.sol合约,生成Asset对象
public static Asset deploy(Client client, CryptoKeyPair credential) throws ContractException;
}
其中load与deploy函数用于构造Asset对象,其他接口分别用来调用对应的solidity合约的接口。
SOL区块链破解生成代币 破解合约绕过区块链制定新的规则合约代币 #区块链破解 #代币生成 需要做的人可以来联系:@Perlah544
创建区块链应用项目
第一步. 安装环境
首先,我们需要安装JDK以及集成开发环境
Java:JDK 14 (JDK1.8 至JDK 14都支持)
首先,在官网上下载JDK14并安装
然后,修改环境变量
第一步. 安装环境
首先,我们需要安装JDK以及集成开发环境
Java:JDK 14 (JDK1.8 至JDK 14都支持)
首先,在官网上下载JDK14并安装
然后,修改环境变量
# 确认您当前的java版本
$ java -version
# 确认您的java路径
$ ls /Library/Java/JavaVirtualMachines
# 返回
# jdk-14.0.2.jdk
# 如果使用的是bash
$ vim .bash_profile
# 在文件中加入JAVA_HOME的路径
# export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-14.0.2.jdk/Contents/Home
$ source .bash_profile
# 如果使用的是zash
$ vim .zashrc
# 在文件中加入JAVA_HOME的路径
# export JAVA_HOME = Library/Java/JavaVirtualMachines/jdk-14.0.2.jdk/Contents/Home
$ source .zashrc
# 确认您的java版本
$ java -version
# 返回
# java version "14.0.2" 2020-07-14
# Java(TM) SE Runtime Environment (build 14.0.2+12-46)
# Java HotSpot(TM) 64-Bit Server VM (build 14.0.2+12-46, mixed mode, sharing)