TrasactionOperation¶
Transaction에 관계되어 있는 연산을 제공합니다.
Get Transaction¶
Transaction 정보를 조회합니다. 해당되는 정보가 없을 경우 null을 리턴합니다.
TxHash txHash = TxHash.of("39vLyMqsg1mTT9mF5NbADgNB2YUiRVsT6SUkDujBZme8");
Transaction transaction = client.getTransactionOperation().getTransaction(txHash);
System.out.println("Transaction: " + transaction);
Get Transaction Receipt¶
Transaction의 영수증을 조회합니다. 해당되는 정보가 없을 경우 null을 리턴합니다.
TxHash txHash = TxHash.of("39vLyMqsg1mTT9mF5NbADgNB2YUiRVsT6SUkDujBZme8");
TxReceipt txReceipt = client.getTransactionOperation().getTxReceipt(txHash);
System.out.println("Transaction receipt: " + txReceipt);
Commit¶
서명된 transaction을 commit합니다. 서명된 transaction에 대해 더 자세히 알고 싶으시면 다음의 문서를 참고하세요 Transaction.
// get chain id hash
ChainIdHash chainIdHash = client.getBlockchainOperation().getChainIdHash();
// prepare signer
AergoKey signer = richKey;
// make a transaction
long nonce = nonceProvider.incrementAndGetNonce(signer.getAddress());
RawTransaction rawTransaction = RawTransaction.newBuilder()
.chainIdHash(chainIdHash)
.from(signer.getAddress())
.to(signer.getAddress())
.amount(Aer.AERGO_ONE)
.nonce(nonce)
.fee(Fee.ZERO)
.payload(BytesValue.of("contract_payload".getBytes()))
.build();
// sign raw transaction
Transaction transaction = signer.sign(rawTransaction);
// commit signed one
TxHash txHash = client.getTransactionOperation().commit(transaction);
System.out.println("Commit tx hash: " + txHash);
Send¶
Aergo를 전송합니다.
계정의 주소를 사용해서 전송합니다.
// prepare signer
AergoKey signer = richKey;
// make a send transaction
AccountAddress accountAddress = AccountAddress
.of("AmNrsAqkXhQfE6sGxTutQkf9ekaYowaJFLekEm8qvDr1RB1AnsiM");
long nonce = nonceProvider.incrementAndGetNonce(signer.getAddress());
TxHash txHash = client.getTransactionOperation()
.sendTx(signer, accountAddress, Aer.ONE, nonce, Fee.INFINITY, BytesValue.EMPTY);
System.out.println("Send tx hash: " + txHash);
계정의 이름을 사용해서 전송합니다.
// prepare signer
AergoKey signer = richKey;
// create an name
Name name = randomName();
long nonce1 = nonceProvider.incrementAndGetNonce(signer.getAddress());
client.getAccountOperation().createNameTx(signer, name, nonce1);
// sleep
Thread.sleep(2000L);
// make a send transaction
long nonce2 = nonceProvider.incrementAndGetNonce(signer.getAddress());
TxHash txHash = client.getTransactionOperation()
.sendTx(signer, name, Aer.ONE, nonce2, Fee.INFINITY, BytesValue.EMPTY);
System.out.println("Send tx hash: " + txHash);