视频地址:https://www.bilibili.com/video/av67440579/?p=13的java
咱们将在本机构建一个含有三个节点、一个公证方的demo的corda网络node
在咱们工程项目的gradle.builde文件中含有部署的命令:shell
task deployNodes(type: net.corda.plugins.Cordform, dependsOn: ['jar']) { nodeDefaults { projectCordapp { deploy = true } } node { name "O=Notary,L=London,C=GB" notary = [validating: false] p2pPort 10000 cordapps = [] rpcSettings { address("localhost:10001") adminAddress("localhost:10002") } } node { name "O=PartyA,L=London,C=GB" p2pPort 10003 rpcSettings { address("localhost:10004") adminAddress("localhost:10005") } rpcUsers = [[user: "user1", password: "test", permissions: ["ALL"]]] } node { name "O=PartyB,L=New York,C=US" p2pPort 10006 rpcSettings { address("localhost:10007") adminAddress("localhost:10008") } rpcUsers = [[user: "user1", password: "test", permissions: ["ALL"]]] } node { name "O=PartyC,L=Lagos,C=NG" p2pPort 10009 rpcSettings { address("localhost:10010") adminAddress("localhost:10011") } rpcUsers = [[user: "user1", password: "test", permissions: ["ALL"]]] } }
要作的事情:ubuntu
windows下部署&测试节点的的命令以下:windows
gradle.bat deployNodes build\nodes\runnodes.bat
Linux/macOS下部署&测试节点的命令以下:网络
./gradlew deployNodes build/nodes/runnodes
请耐心等待,我创建四个节点大概花了58sapp
若是执行第二条命令的时候,出现了报错,极可能是未安装xterm,请在ubuntu18.04下执行:分布式
sudo apt install xterm
在PartyA下执行以下命令向PartyB发布数量为99的债券:ide
flow start IOUIssueFlow owner: PartyB, amount: 99
这里出现了这样的报错:测试
须要在IOUState.class中补上一个注释:
@BelongsToContract(IOUContract.class) public class IOUState implements ContractState {
在PartyA或者PartyB下执行:
run vaultQuery contractStateType: bootcamp.IOUState
他们必定会拥有IOUState,可是,PartyC中没有任何有关于IOUState的细节,这就是“仅须要知道”(实话实话,我以为这是一个很大的缺陷)
而后notrary中保存的只有哈希,它也不会知道交易的具体细节,只是为了保证双花。
至此,bootcamp彻底结束,撒花结束~
Corda是一个私有分布式帐本系统:
至此,corda撒花完结!!!~~~~~