Keys Store with Transaction Relayer

This guide shows a "custodian" use of the service. Rockside manages the EOA which signs messages before being relayed to a contract to cross Rockside Relayer

Create an identity

The identity created represents you on the blockchain and you will use it to send transactions.

Linux, osx
Windows
Linux, osx
curl -X POST \
https://api.rockside.io/ethereum/ropsten/identities \
-H 'Content-Length: 0' \
-H 'Content-Type: application/json' -H 'apikey: YOUR_API_KEY'
Windows
curl -X POST https://api.rockside.io/ethereum/ropsten/identities -H "Content-Length: 0" -H "apikey: YOUR_API_KEY"

Response:

{
"address": "0x297634F1433Ef10162E2986760b7D4880c3F0247"
"transaction_hash":"0xa51fdb4b79c45fbe9bf6df5a822814f6ad47bf9dfad4bb2b59745b2968c1d38e"
}

This address represents your identity (i.e. a smart contract address). You can use the hash of the transaction to follow the deployment of your identity.

Send a gasless transaction

Send your transaction with Rockside by using our API /ethereum/:network/transaction:

Linux, osx
Windows
Linux, osx
curl -X POST \
https://api.rockside.io/ethereum/ropsten/transaction \
-d '{"from":"YOUR_ADDRESS", "to":"DESTINATION_ADDRESS", "value":"0x0", "data":""}' \
-H 'Content-Type: application/json' -H 'apikey: YOUR_API_KEY'
Windows
curl -X POST https://api.rockside.io/ethereum/ropsten/transaction -d "{\"from\":\"YOUR_ADDRESS\", \"to\":\"DESTINATION_ADDRESS\", \"value\":\"0x0\"}" -H "apikey: YOUR_API_KEY"

Response:

{
"transaction_hash": "0xb317b54b42bcdcc2bcf8ae96e3dc9463142422175dff85ff9e3de211f83ff4a0"
}

Custodial Identities

You can create Identities and Rockside will manage their associated EOA. It allows to manage for you all the complexity: transactions relay message generation, signing, nonce management.

post
Create Identity

https://api.rockside.io/ethereum/:network/identities
The account will be available on the network on which it was created.
Request
Response
Request
Path Parameters
network
required
string
Available networks are "mainnet", "ropsten", "poanetwork".
Headers
apikey
required
string
Your Rockside API key
Response
200: OK
{
"address": "0x25D2a895eE39fb236a65af8FA28701f3D41BA5de"
}

Example:

curl -X POST \
https://api.rockside.io/ethereum/ropsten/identities \
-H 'Content-Length: 0' \
-H 'apikey: YOUR_API_KEY'

Response:

{
"address": "0x297634F1433Ef10162E2986760b7D4880c3F0247"
"transaction_hash":"0xa51fdb4b79c45fbe9bf6df5a822814f6ad47bf9dfad4bb2b59745b2968c1d38e"
}

get
List Identities

https://api.rockside.io/ethereum/:network/identities
List all your Identities available on the selected network.
Request
Response
Request
Path Parameters
network
required
string
Available networks are "mainnet", "ropsten", "poanetwork"
Headers
apikey
required
string
Your Rockside API key
Response
200: OK
[
"0x60d44d28c826cff5d05ee57526e20103cdac1c9a",
"0x642aa2e540bb7172c487d5e2c315ad81b27070af",
"0x55f42ec257a6ec1b77735f5c9428d954e36c62c2",
"0x72b63625000c08087d33445ef55baceb4be65d67"
]

Example:

curl -X GET \
https://api.rockside.io/ethereum/ropsten/identities \
-H 'apikey: YOUR_API_KEY'

Response:

[
"0x60d44d28c826cff5d05ee57526e20103cdac1c9a",
"0x642aa2e540bb7172c487d5e2c315ad81b27070af",
"0x55f42ec257a6ec1b77735f5c9428d954e36c62c2",
"0x72b63625000c08087d33445ef55baceb4be65d67"
]

post
Reset the Identity nonce

https://api.rockside.io/ethereum/:network/identities/:identity_address/nonce/reset
Use this service if the nonce of your Identity managed by Rockside is out of sync with the nonce on the blockchain. It forces resynchronization.
Request
Response
Request
Path Parameters
identity_address
required
string
The public address of your identities.
network
required
string
Available networks are "mainnet", "ropsten", "poanetwork"
Headers
apikey
required
string
Your Rockside API KEY
Response
200: OK