A JSON-RPC server providing set of API methods to be used by exchanges for fast & easy SOLO currency integration. Supposed to be run in private isolated network.
Use environment variables for configuration.
JSON_RPC_ENDPOINT
โ rippled server URL (for testnet use https://s.altnet.rippletest.net:51234).
APP_PORT
โ server port (8080 by default).
You can pass TESTNET=true
to automatically configure server to use testnet.
There are 3 ways you can run the server.
Using Docker:
docker run -it -p 8080:8080 -e TESTNET=true sologenic/sologenic-api
docker-compose (by default runs in testnet):
docker-compose up -d
Using locally installed Node.js:
git clone [email protected]:sologenic/sologenic-api.git
cd sologenic-api
npm i && TESTNET=true node index.js
Returns XRP and SOLO balance of an address.
curl -H "Content-Type: application/json" -X POST \
-d '{ "method": "get_balance", "params": { "address": "rLPA9rWx4WF3JJWN2QnrZE1fkahptc9Jn8" } }' \
http://localhost:8080
{
"result":{
"xrp":"999.999768",
"solo":"4905.7437"
}
}
Returns new address and secret generated offline.
curl -H "Content-Type: application/json" -X POST \
-d '{ "method": "generate_address", "params": {} }' \
http://localhost:8080
{
"result":{
"address":"r9zkrS5HKSYgpNVE1Gs9Gv5736DEUvik5v",
"secret":"snra7wtNULsjdSwnGRS2uMXGGKi1q"
}
}
Returns transaction details.
Returns null
if transaction currency isn't SOLO.
curl -H "Content-Type: application/json" -X POST \
-d '{ "method": "get_transaction", "params": { "id": "4A34D30DB25D6BF02F80CC714AD12F236DE4D2AA9B222FC6BF44780EE4364200" } }' \
http://localhost:8080
{
"result":{
"id":"4A34D30DB25D6BF02F80CC714AD12F236DE4D2AA9B222FC6BF44780EE4364200",
"confirmations":37,
"time":1580390510,
"ledger":4194290,
"amount":"300.89",
"sender":"rLPA9rWx4WF3JJWN2QnrZE1fkahptc9Jn8",
"recipient":"rnuBmbM6tVv6R5FXYGr7cCgPoXKQBzMCBK?dt=7399"
}
}
Returns transactions belonging to an address (both incoming and outgoing).
You may specify minimum_ledger
and maximum_ledger
(both inclusive). If specified only transactions from these ledgers will be returned.
You can use this feature to paginate transactions.
By default if minimum_ledger
and maximum_ledger
are not specified API method returns transactions for past 1000 ledgers.
curl -H "Content-Type: application/json" -X POST \
-d '{ "method": "get_transactions", "params": { "address": "rnuBmbM6tVv6R5FXYGr7cCgPoXKQBzMCBK" } }' \
http://localhost:8080
{
"result":{
"transactions":[
{
"id":"431C405A107BFDA7251386055A9A31C1C2370F2FF2FF15E0F710F09BDDF29E5A",
"confirmations":17,
"time":1580390952,
"ledger":4194437,
"amount":"30.33",
"sender":"rLPA9rWx4WF3JJWN2QnrZE1fkahptc9Jn8",
"recipient":"rnuBmbM6tVv6R5FXYGr7cCgPoXKQBzMCBK?dt=766"
},
{
"id":"4A34D30DB25D6BF02F80CC714AD12F236DE4D2AA9B222FC6BF44780EE4364200",
"confirmations":164,
"time":1580390510,
"ledger":4194290,
"amount":"300.89",
"sender":"rLPA9rWx4WF3JJWN2QnrZE1fkahptc9Jn8",
"recipient":"rnuBmbM6tVv6R5FXYGr7cCgPoXKQBzMCBK?dt=7399"
}
],
"minimum_ledger":4193455,
"maximum_ledger":4194454
}
}
Creates, signs and broadcasts SOLO transaction to network.
curl -H "Content-Type: application/json" -X POST \
-d '{ "method": "send_transaction", "params": { "sender_address": "rLPA9rWx4WF3JJWN2QnrZE1fkahptc9Jn8",
"sender_secret": "SECRET",
"recipient_address": "rnuBmbM6tVv6R5FXYGr7cCgPoXKQBzMCBK?dt=7399",
"amount": "300.89" } }' \
http://localhost:8080
{
"result":"4A34D30DB25D6BF02F80CC714AD12F236DE4D2AA9B222FC6BF44780EE4364200"
}
Returns various status information (currently returns only last synced ledger).
curl -H "Content-Type: application/json" -X POST \
-d '{ "method": "get_status", "params": {} }' \
http://localhost:8080
{
"result":{
"latest_ledger":4194744
}
}