Last active
September 10, 2019 21:56
-
-
Save garethtdavies/1e2269a8e1ac2965798395ab0849cf50 to your computer and use it in GitHub Desktop.
Time a Coda transaction
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import asyncio | |
import time | |
import CodaClient | |
import datetime | |
coda = CodaClient.Client(graphql_host="localhost", graphql_port="8000") | |
# This currently responds to all tx for the provided public key on L#33 - it could be filtered to listen for payment id | |
async def blockReceived(message): | |
receivedTime = datetime.datetime.now() | |
print("TX received at {}".format(receivedTime)) | |
#print(message) | |
print("Time taken: {}".format(receivedTime - currentTime)) | |
async def listenForTX(public_key): | |
await coda.listen_new_blocks(public_key, blockReceived) | |
# This needs to be in the wallet so create one via addWallet mutation or simply import existing | |
sender = "tNciLXrEncLDVURwYWLejYa3WDRU4p223e6ZSweVU2Wm6F9fniK3inSgah6Ak7kuSdyzjdZ75VF2yjBwLbRYRFRFinJba2fPRoGVGDGXBZZd9USFkp7Gb2MHYb3LdQoXRX6qKxqP7xCqpw" | |
# Choose a recipient, this will pick up any tx and not just the one we are interested in | |
recipient = "tNciB5atiEC8k4poyYQX64WPZzSTt1pLYwujjiQeQtw9xaTPY5ZqVdcc6aP3MUVUVm8QTP7vcGPtGqZmDmozkjpZZKiMppMc4D6Dq8JScuPw5D9oCjAoYq431Ka8Ch2povNMJE7TYusPM3" | |
# Get the current time | |
currentTime = datetime.datetime.now() | |
print("Current Time is {}".format(currentTime)) | |
# Send a payment | |
payment = coda.send_payment(recipient, sender, 10, 10, "Enter something here for a memo") | |
print("Sent TX, now we wait...") | |
print("Payment ID: {}".format(payment["sendPayment"]["payment"]["id"])) | |
# Start listening | |
asyncio.run(listenForTX(recipient)) |
Author
garethtdavies
commented
Sep 10, 2019
•
message
will return a dictionary should you wish to restrict to an id
in userCommands
{"type":"data","id":"1","payload":{"data":{"newBlock":{"creator":"tNcihXwbnb6Sv3MwW2rbhXDS4TNSn75tnDZjzUKsjgFSmVJUycLFftqnSZmikKBKEo7KHeLviRpsZw3XUh6zDZwtdH8zk9mhNG6ydL8pqrFM5FdkeV9fYdtvysVC29PSKyb97vK7jkJB5d","stateHash":"4ApWKJ9abY8NNihHm3FL7E5nbq27JFowuEYpXpDr3BBs2w99DE93mySy4YqoZAURBy4xFKS5CDA234v8fatx4MiEMYt6rNrdT63FcNsmz7WWL3bH2y6pjpLtca7sLBvpA1iPjyRmEDY8c","protocolState":{"previousStateHash":"4ApWKt1SzQVkxtnuXmNeC8kgBBB6S7iDjV3Pzj4ZjWip2BXVxssPBakQg6Goc6XcXvuoz8bVhPcRMgvnDfdhc73n1EHKz4hyAtpNR8vDXjLCMeBZCRJY9namVTrr9DPwiGtK9CV3AXGfJ","blockchainState":{"date":"1568150400000","snarkedLedgerHash":"4ApWGM6wRR7dvhTQJz9fXm48PxmUzEh3eZLUvM6Pi5YvDzibV4EhjfBGdRrHYczkDR1So27A32c5ka6B5nZitTjTSN4qbgmnmnW2bzrX9pR4kpjKegWawpPkVpNj7poRpkHS3PjEgmENU","stagedLedgerHash":"4ApWJeDZwdvbcw1Zobny3D1UidBKAUqzUb4sU9hV7U55MeNe4etiF7hyGQv295NzPWX8gEkjc8Fm2z8CaWAZgmRVxx7XfgGdymetxj3LEeJKeqeWt9Pb7y4723rLGnSfAoHGiun3bSqVE"}},"transactions":{"userCommands":[{"id":"8KRGybpuBExUszXkesPVWcyVLx7ChVr2q94yJbKvbqTgEfutK4aWdfw8V1Euzk9V6ZNbQVe8iPtvaDkTaNC21gE2NgvSYBRPCBtGNqPQvu4gGreefhQQPT2kvGNcUogBFHhpzPZTmzyX5CAdkv9idw7oiJuUby1cH1A3oGPb6TgxgRVNSGNoaFe47p9vKiEqtJPzsRwNVwDDHoaXnvoSh8nHQNgWQgTBe3LpqdCLkqSZi3VpeHzWpwMDs3MJk5AjSWYsH8sX8Lwsr1DDYPxYYHScn542YVwCwi3cVmkXcYn4foaHa1cTahnAHwoi7Nt36gdwdWbwtPFJo5EhdRknVBCKmXoaT3sm13uFwNYeBUT2u4jMLPcCGZZVMxyoGHALG4oEeNRrJJVudTuTfercfAnZiUQ4qrSSoi6aXUWRVWzQhpJqce5uuPtUd7XL7z7iEdHgLL3iwtkEAAd5XkV5mm72sJL2B9N6Xh6oPYKp11wcN1P77eykHBDTWCY653u7mhZMy3VnXrMfR7L61AR1rvpKSmaMRhb3aAQAJoPdWYAqebnZF9KKiQxV9QMBMTRgouuLpUvtQbG1YxVbCMgikQGv611CNhdLU","isDelegation":false,"nonce":20,"from":"tNciLXrEncLDVURwYWLejYa3WDRU4p223e6ZSweVU2Wm6F9fniK3inSgah6Ak7kuSdyzjdZ75VF2yjBwLbRYRFRFinJba2fPRoGVGDGXBZZd9USFkp7Gb2MHYb3LdQoXRX6qKxqP7xCqpw","to":"tNciB5atiEC8k4poyYQX64WPZzSTt1pLYwujjiQeQtw9xaTPY5ZqVdcc6aP3MUVUVm8QTP7vcGPtGqZmDmozkjpZZKiMppMc4D6Dq8JScuPw5D9oCjAoYq431Ka8Ch2povNMJE7TYusPM3","amount":"10","fee":"10","memo":"2pmu5fn89nTXhgEwZYVLebMBU73NkmFgSZJyYyKZKZVNfbxAAjLbHk"}],"feeTransfer":[{"recipient":"tNciCJB9Df2QdurcjSpKEJDuFU5sBphMCmjSr5xVPf77V7Pq3HyuKqheWiz6pekZjdhnBMTxYrfttMoiA4tzYPBmTwEN2bZKkhH9hcHa28eEJFZdiSryZ6mCKyniqXYhAxzKUfSXAKwQWN","fee":"9"},{"recipient":"tNciB5atiEC8k4poyYQX64WPZzSTt1pLYwujjiQeQtw9xaTPY5ZqVdcc6aP3MUVUVm8QTP7vcGPtGqZmDmozkjpZZKiMppMc4D6Dq8JScuPw5D9oCjAoYq431Ka8Ch2povNMJE7TYusPM3","fee":"1"}],"coinbase":"20"}}}}}
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment