区块链开发之Corda训练营笔记13:部署节点

视频地址: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

  1. 首先创建测试网络中的节点
  2. 启动节点
  3. 经过partyA向patyB发行债券节点
  4. 查看三个节点的资料库,看能不能看到这个state

2.1 部署&测试节点

windows下部署&测试节点的的命令以下:windows

gradle.bat deployNodes
build\nodes\runnodes.bat

Linux/macOS下部署&测试节点的命令以下:网络

./gradlew deployNodes
build/nodes/runnodes

请耐心等待,我创建四个节点大概花了58sapp

若是执行第二条命令的时候,出现了报错,极可能是未安装xterm,请在ubuntu18.04下执行:分布式

sudo apt install xterm


2.2 发布债券

在PartyA下执行以下命令向PartyB发布数量为99的债券:ide

flow start IOUIssueFlow owner: PartyB, amount: 99

这里出现了这样的报错:测试

2019-09-15 11-14-31 的屏幕截图

须要在IOUState.class中补上一个注释:

@BelongsToContract(IOUContract.class)
public class IOUState implements ContractState {

2.3 查看资料库

在PartyA或者PartyB下执行:

run vaultQuery contractStateType: bootcamp.IOUState

他们必定会拥有IOUState,可是,PartyC中没有任何有关于IOUState的细节,这就是“仅须要知道”(实话实话,我以为这是一个很大的缺陷)

而后notrary中保存的只有哈希,它也不会知道交易的具体细节,只是为了保证双花。

至此,bootcamp彻底结束,撒花结束~

三、总结

Corda是一个私有分布式帐本系统:

  • 节点具备身份证实
  • 提供分布式的数据存储模型
  • 提供隐私的p2p通讯,由于全部的通讯都会被加密

四、联络方式

  • 技术文档
    • docs.corda.net
    • docs.cncorda.com(中文)
  • 社区论坛:
    • Stack Overflow: stackoverflow.com/questions/tagged/corda
  • Slack交流群:
    • cordaledger:slack.corda.net

至此,corda撒花完结!!!~~~~~

相关文章
相关标签/搜索