前置条件
Germ节点运行需要几个前置条件:
- 持久化存储
- 区块链网络
- IPFS
持久化存储
目前Germ支持两种持久化存储:MongoDB和MySQL。需要通过配置文件来配置使用的持久化存储。
区块链网络
目前Germ底层区块链网络只支持Ethereum和Quorum,需要通过JSONRPC来访问Germ的合约。
目前baidu开放的Germ合约的JSONRPC为:
http://180.76.235.127:8081/quorum-jsonrpc/3a31c3cd-84e1-4e56-8e87-2c94cad04c7d/bbf843a5
合约地址为:
0xf0e46e20271ea61649932510672c536733f9f160
如果你需要使用我们提供的开放环境,可以联系我们来给你用于测试的Ethereum Address转帐。联系方式详见:Contact Us
实际上,你可以在任何一个支持智能合约的区块链网络中重新部署一份合约,然后连接自己的JSONRPC地址来访问指定的合约。
IPFS
Germ节点需要连接到IPFS网络,因此需要部署一个IPFS节点,或者使用任何能够保证Germ节点能够读写数据的现有的IPFS节点。
目前baidu开放的IPFS网络是一个私有的网络,需要一个共享密钥作为准入条件,我们开放了其中一个IPFS节点的地址:
/ip4/106.12.84.237/tcp/4001/ipfs/Qmb6FLzi2B56ssnmtWxWbFkbdtpUgwJvmirEMcnd8FzrZn
如果你希望接入baidu的IPFS网络可以联系我们获取更多的信息。
参考配置
一份Germ的参考配置文件示例如下:
{
"log": {
"logLevel": 6,
"logToFile": false
},
"apiServer": {
"listen": "0.0.0.0:8081",
"baseRouterPath": "/"
},
"germCore": {
"mode": "full",
"packingQueueSize": 2048,
"packingPeriod": 5,
"maxPackageSize": 1024,
"maxRawPackageSize": 16777216,
"concurrency": 128
},
"blockchain": {
"name": "ethereum",
"value": {
"gasLimit": 429496729,
"gasPrice": 0,
"jsonrpcAddress": "http://180.76.235.127:8081/quorum-jsonrpc/3a31c3cd-84e1-4e56-8e87-2c94cad04c7d/bbf843a5",
"privateKeyHex": "",
"contractAddress": "0xf0e46e20271ea61649932510672c536733f9f160"
}
},
"storage": {
"name": "ipfs",
"value": {
"entryPoint": "127.0.0.1:5001",
"timeout": 15
}
},
"persistentStorage": {
"name": "mongo",
"value": "mongodb://127.0.0.1:27017/germ"
}
}
配置文件中大部分配置都可以保持不变,需要配置的主要是:
- 区块链配置里面的jsonrpcAddress、privateKeyHex、contractAddress
- IPFS配置的entryPoint
- 数据库配置
运行
运行Germ节点只需要:
germ -c [配置文件路径]
日志默认打印到标准输出。