Microservice used to manage sending concurrent transactions to the Ethereum network
Takes transaction hash, signs and sends it, returns transaction hash.
- URL:
/sign-and-send
- Method:
POST
Request body:
{
"transaction_dict": "TRANSACTION_DICT_STRING",
}
Success Response:
{
"errors": null,
"data": {
"transaction_hash": "0x..."
}
}
Error response:
{
"error": "Error message",
"data": null
}
Takes transaction hash, signs it, returns signed transaction.
- URL:
/sign
- Method:
POST
Data Params:
{
"data": {
"transaction_dict": "TRANSACTION_DICT_STRING",
}
}
Success Response:
{
"errors": null,
"data": {
"transaction_hash": "0x..."
}
}
Error response:
{
"error": "Error message",
"data": null
}
Returns wallet address.
- URL:
/address
- Method:
GET
URL Params:
None.
Success Response:
{
"errors": null,
"data": {
"address": "0x..."
}
}
Error response:
{
"error": "Error message",
"data": null
}
Returns wallet public key.
- URL:
/public-key
- Method:
GET
URL Params:
None.
Success Response:
{
"errors": null,
"data": {
"public_key": "0x..."
}
}
Error response:
{
"error": "Error message",
"data": null
}
Install dependencies:
pip install -r requirements.txt
pip install -r requirements-dev.txt
Run server:
export $(grep -v '^#' .env | xargs) && python server.py
Build and run test container
docker build -t test-tm .
docker run --env-file .env-docker -v ~/.skale:/skale_vol -v ~/.skale/node_data:/skale_node_data test-tm
Run transaction-manager
container locally
VERSION=0.0.1-develop.0 && docker run -p 3008:3008 --env-file .env-docker -v ~/.skale:/skale_vol -v ~/.skale/node_data:/skale_node_data skalelabshub/transaction-manager:$VERSION
All contributions are made under the GNU Affero General Public License v3. See LICENSE.
All transaction-manager code Copyright (C) SKALE Labs and contributors.