ee2b3a80ce7b8d6005b2c8035ec46522e76e501e
FISCO BCOS 合约开发项目
项目简介
这是一个基于 FISCO BCOS 区块链平台的 Java 开发项目,提供了与 FISCO BCOS 区块链交互的完整示例代码。项目包含账户管理、智能合约部署和调用等核心功能,适合作为 FISCO BCOS 应用开发的学习和实践基础。
技术栈
- 编程语言: Java
- 构建工具: Gradle
- 区块链平台: FISCO BCOS
- 核心依赖:
- FISCO BCOS Java SDK 2.9.1
- SLF4J 日志框架
主要功能
1. 账户管理
- 账户生成: 支持生成 ECDSA 和国密 SM 两种加密类型的区块链账户
- PEM 格式: 账户以 PEM 格式存储,包含私钥、公钥和地址信息
- 账户加载: 支持从 PEM 文件加载已有账户
- 多账户管理: 可批量生成和管理多个用户账户
2. 智能合约交互
- HelloWorld 智能合约示例
- 合约部署和调用演示
- 支持使用指定账户与合约交互
3. 区块链节点连接
- 配置化的节点连接管理
- 支持多种加密类型(ECDSA / 国密 SM)
- 证书和密钥管理
项目结构
contract/
├── account/ # 生成的账户文件目录 (PEM 格式)
├── conf/ # 配置文件目录
├── fisco/ # FISCO BCOS 相关文件
├── src/
│ └── main/
│ └── java/
│ └── com/org/fisco/
│ ├── AccountGenerator.java # 账户生成工具
│ ├── HelloWorld.java # HelloWorld 合约示例
│ ├── HelloWorldWithAccount.java # 带账户的合约调用示例
│ └── BcosSDKTest.java # SDK 测试类
├── build.gradle # Gradle 构建配置
└── README.md # 项目说明文档
快速开始
前置要求
- JDK 8 或更高版本
- Gradle 6.0 或更高版本
- FISCO BCOS 区块链节点(运行中)
安装与构建
- 克隆项目到本地
- 配置区块链节点连接信息(在
conf目录下) - 构建项目:
./gradlew build
运行账户生成工具
./gradlew run
该命令会运行 AccountGenerator 主类,自动生成示例账户并保存到 account 目录。
生成的账户包括:
- user_pem.pem
- alice.pem
- bob.pem
- charlie.pem
使用说明
生成账户
import com.org.fisco.AccountGenerator;
import org.fisco.bcos.sdk.model.CryptoType;
// 生成 ECDSA 类型账户
AccountGenerator.generatePEMAccount("myAccount", CryptoType.ECDSA_TYPE);
// 生成国密 SM 类型账户
AccountGenerator.generatePEMAccount("myAccount", CryptoType.SM_TYPE);
加载账户
// 从 PEM 文件加载账户
CryptoKeyPair keyPair = AccountGenerator.loadPEMAccount("account/alice.pem", CryptoType.SM_TYPE);
配置说明
项目配置文件位于 conf 目录,主要包括:
- 节点连接配置
- 证书文件
- 群组配置
- 加密类型配置 将SDK证书拷贝到Java SDK的示例如下(这里假设SDK证书位于~/fisco/nodes/127.0.0.1/sdk目录)
Description
Languages
Java
91%
PowerShell
5.3%
Shell
3.7%