如何使用数据初始化节点?
让我们以训练营的应用程序为例。在那里,您可以向其他方发行令牌。
我想扩展它,并检查发送节点是否首先放置了令牌。只有拥有令牌,他才能将其交给另一方。
问题是发件人没有任何令牌。如何为发件人设置特定数量的令牌?除了首先自动发行令牌之外,还有其他方法吗?
答案 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();
}
}