如何在哈希图中动态推送事务?

时间:2018-02-04 14:08:58

标签: blockchain ethereum

如何将事务动态推送到哈希图的run方法?

例如:

在下面的代码中,名称将作为事务发布。如何动态获取此值。如果它必须通过套接字,这是启动套接字的最佳位置?

public void run() {

    String myName = platform.getState().getAddressBookCopy().getAddress(selfId).getSelfName();

    console.out.println("Hello Swirld from " + myName);

    byte[] transaction = myName.getBytes(StandardCharsets.UTF_8);

    platform.createTransaction(transaction, null);
    String lastReceived = "";

    while (true) {
        IPOSAppState state = (IPOSAppState) platform.getState();
        String received = state.getReceived();

        if (!lastReceived.equals(received)) {
            lastReceived = received;
            console.out.println("Received: " + received); // print all received transactions
        }
        try {
            Thread.sleep(sleepPeriod);
        } catch (Exception e) {
        }
    }
}    

任何示例代码都会有所帮助。

2 个答案:

答案 0 :(得分:4)

此项目包含与Swirld sdk通信的Web应用程序的演示。

https://github.com/craigdrabiktxmq/exo-demo

答案 1 :(得分:0)

新的开源Hedera Hashgraph SDK提供了更多选择。 Hedera Hashgraph已实现了用于构建合同,加密货币,通用实用程序,文件系统,服务等的协议缓冲区API。您可以在下面找到该API的详细信息。

https://github.com/hashgraph/hedera-protobuf

在此存储库本身提供的以下示例中,该API针对事务查询有一个特定的实现。

https://github.com/hashgraph/hedera-protobuf/blob/master/Transaction-Query-Examples.md

希望这对您的要求有意义。