A firestore based ETH tx status poller (and auto resender)
├── config
│ ├── config.js # config file
│ └── serviceAccountKey.json # firestore crendentials
├── util # helper functions
│ ├── db.js # firestore watch helper
│ ├── gcloudPub.js # optional gcloud pubsub log
│ └── web3.js # web3/tx related functions
├── poll.js # poller handler
├── retry.js # retry handler
└── index.js # main entry
Please refer to comments in config.js for example and explanation.
Except txHash
, Most fields are optional but useful for log.
rawSignedTx
and delegatorAddress
is required for retrying tx.
{
txHash,
from,
to,
value,
fromId,
toId,
currentBlock,
nonce,
rawSignedTx, // tx.rawTransaction
delegatorAddress, // sender address for retrying, must match original sender
}
# Remeber to setup config.js and serviceAccountKey.json first!
# install dependencies
npm install
# run the program
npm start
# ... or docker-based
docker-compose up