如何使用数据初始化节点

时间:2019-01-06 10:52:35

标签: corda

如何使用数据初始化节点?

让我们以训练营的应用程序为例。在那里,您可以向其他方发行令牌。

我想扩展它,并检查发送节点是否首先放置了令牌。只有拥有令牌,他才能将其交给另一方。

问题是发件人没有任何令牌。如何为发件人设置特定数量的令牌?除了首先自动发行令牌之外,还有其他方法吗?

1 个答案:

答案 0 :(得分:0)

没有内置的方法可以初始化已完成某些事务的节点。

相反,您必须编写一个在创建节点后要执行的小型客户端,以自动执行所需的事务。对于Bootcamp CorDapp,您可能会编写以下内容:

public class Client {
    private static final Logger logger = LoggerFactory.getLogger(Client.class);

    public static void main(String[] args) throws ExecutionException, InterruptedException {
        // Create an RPC connection to the node.
        if (args.length != 3) throw new IllegalArgumentException("Usage: Client <node address> <rpc username> <rpc password>");
        final NetworkHostAndPort nodeAddress = parse(args[0]);
        final String rpcUsername = args[1];
        final String rpcPassword = args[2];
        final CordaRPCClient client = new CordaRPCClient(nodeAddress);
        final CordaRPCOps proxy = client.start(rpcUsername, rpcPassword).getProxy();

        // Issue the tokens.
        Party owner = proxy.nodeInfo().getLegalIdentities().get(0);
        int amount = 100;
        proxy.startFlowDynamic(TokenIssueFlow.class, owner, amount).getReturnValue().get();
    }
}