So führen Sie eine Abfrage mit der Hyperledger Iroha Python-Bibliothek aus.
Führen Sie "Get Account Transactions" aus, um eine Liste der Transaktionen zu erhalten, die vom angegebenen Konto gesendet wurden.
from iroha import Iroha, IrohaCrypto, IrohaGrpc
import iroha_config
net = IrohaGrpc(iroha_config.IROHA_HOST)
iroha = Iroha(iroha_config.ADMIN_ACCOUNT)
admin_priv_key = iroha_config.ADMIN_PRIV_KEY
# Abfrage erstellen
get_block_query = iroha.query(
'GetAccountTransactions',
account_id = 'admin@test',
page_size = 10,
)
# Abfrage signieren
IrohaCrypto.sign_query(get_block_query, iroha_config.ADMIN_PRIV_KEY)
# Anfrage senden
response = net.send_query(get_block_query)
print(response)
Der Hostname und der private Schlüssel von Iroha werden in iroha_config festgelegt.
Die Punkte sind die folgenden drei.
Ich konnte die Informationen der Transaktion abrufen, die von dem angegebenen Konto gesendet wurden. Ich habe page_size auf 10 gesetzt, aber nicht viele Daten in die Blockchain eingefügt, sodass ich nur 3 Daten abrufen konnte.
query_hash: "a45f8b59aa211688836bb6567c10baf10e24dfdc9db6c62d3fc8a779200ee136"
transactions_page_response {
transactions {
payload {
reduced_payload {
commands {
create_asset {
asset_name: "samplecoin"
domain_id: "test"
precision: 10
}
}
commands {
add_asset_quantity {
asset_id: "samplecoin#test"
amount: "100000000"
}
}
creator_account_id: "admin@test"
created_time: 1594000825126
quorum: 1
}
}
signatures {
public_key: "313a07e6384776ed95447710d15e59148473ccfc052a681317a72a69f2a49910"
signature: "042b25c8096ca4bfcaca54d05c3d862498f38ddc612b0255138cc74044005d0475467176ef84672fd79b93714e8263e22aa867e7f8e22cf7eba06bb0e63e0b02"
}
}
transactions {
payload {
reduced_payload {
commands {
transfer_asset {
src_account_id: "admin@test"
dest_account_id: "test@test"
asset_id: "samplecoin#test"
description: "test"
amount: "10000"
}
}
creator_account_id: "admin@test"
created_time: 1594002435597
quorum: 1
}
}
signatures {
public_key: "313a07e6384776ed95447710d15e59148473ccfc052a681317a72a69f2a49910"
signature: "f147a7e1c1604a3172efa91e4604fd4bfff728fe0d8d4c644e7d3a0d65ee4f3d2436ad9a26bc9777b0de514f120ed6b4d83a5410cbc097a281a5a588702d4d06"
}
}
transactions {
payload {
reduced_payload {
commands {
create_account {
account_name: "iroha"
domain_id: "test"
public_key: "efdc215eab6dd2c4435d370da73e4b88350e1fed9d39afed503fcbee985fce1f"
}
}
creator_account_id: "admin@test"
created_time: 1594016319157
quorum: 1
}
}
signatures {
public_key: "313a07e6384776ed95447710d15e59148473ccfc052a681317a72a69f2a49910"
signature: "429bf3ae70b60d31ab3fc3c15fa11cb8155b6a824f831652c1c46068feaeb866846b8048e0959cbcbeed532423f050e77d2fe192ea90d0827a6f1489bf67ec0a"
}
}
all_transactions_size: 3
}
・ [Hyperledger Iroha] Hinweise zur Verwendung von Python SDK
Ich habe versucht, die Iroha-Bibliothek zu benutzen. Andere Abfragen funktionieren, wenn Sie den Namen der auszuführenden Abfrage oder die Parameter ändern.
Solange Sie sich die Iroha-Abfrage ansehen, können Sie leicht "wer" und "was" bekommen, aber Es scheint, dass es keine Abfrage gibt, die "für welches Asset", "wer" und "was" sagt.
Recommended Posts