You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Corda社区版4.9:如何将节点与公证人的交易详情存入数据库?

Corda社区版4.9 节点与公证人数据库配置及交易详情存储方案

一、核心配置逻辑

Corda节点默认使用H2嵌入式数据库,若要切换至外部SQL/NoSQL数据库,只需修改节点的node.conf配置文件,指定数据库类型与连接参数。配置完成后,节点会自动将交易详情、状态、签名记录等数据持久化到目标数据库中,公证人节点的配置逻辑与普通节点完全一致。

二、SQL数据库配置(以PostgreSQL为例)

1. 添加驱动依赖

在节点项目的build.gradle中引入对应SQL数据库的驱动依赖:

dependencies {
    cordaCompile "org.postgresql:postgresql:42.2.20"
}

2. 修改node.conf配置

替换默认的H2配置,添加SQL数据库连接参数:

dataSourceProperties = {
    dataSourceClassName = "org.postgresql.ds.PGSimpleDataSource"
    dataSource.url = "jdbc:postgresql://localhost:5432/corda_node_db"
    dataSource.user = "db_user"
    dataSource.password = "db_password"
}
database = {
    transactionIsolationLevel = READ_COMMITTED
    schema = "public"
}
  • 适配其他SQL数据库时,仅需替换dataSourceClassName与JDBC URL:
    • MySQL:dataSourceClassName为com.mysql.cj.jdbc.MysqlDataSource,JDBC格式为jdbc:mysql://localhost:3306/corda_node_db?serverTimezone=UTC
    • Oracle:dataSourceClassName为oracle.jdbc.pool.OracleDataSource,JDBC格式为jdbc:oracle:thin:@localhost:1521:ORCL

三、NoSQL数据库配置(MongoDB)

Corda 4.9支持MongoDB作为外部数据库,配置步骤如下:

1. 添加驱动依赖

在build.gradle中引入MongoDB驱动:

dependencies {
    cordaCompile "org.mongodb:mongodb-driver-sync:4.2.3"
}

2. 修改node.conf配置

database {
    type = "MONGO"
    address = "mongodb://localhost:27017"
    databaseName = "corda_node_db"
    username = "mongo_user"
    password = "mongo_password"
}

四、公证人节点配置

公证人节点的数据库配置与普通节点无差异,只需在公证人节点的node.conf中按上述SQL/NoSQL配置填写即可。公证人会自动将其处理的交易签名、公证确认记录等交易详情持久化到配置的数据库中。

五、交易详情存储说明

配置完成后,Corda节点会自动将以下交易相关数据写入数据库,无需额外开发:

  • 交易核心信息(交易ID、时间戳、参与方列表)
  • 交易输入/输出状态数据
  • 节点签名与公证人签名记录
  • 交易流转历史与状态变更记录

六、注意事项

  • 确保目标数据库服务已启动,且节点服务器能访问数据库端口
  • 数据库用户需具备创建表、读写数据的完整权限
  • 不同节点(含公证人)建议使用独立数据库实例或不同schema,避免数据冲突
  • 生产环境需配置数据库定期备份与监控机制

内容的提问来源于stack exchange,提问作者Ajit Raju

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 01:00:59