Cosmos
cosmos_getAccounts
This method returns an array of key pairs available to sign from the wallet mapped with an associated algorithm and address on the blockchain.
Parameters
none
Returns
1.Array - Array of accounts:
1.1. Object - Account Data object with parameters:
1.1.1. algo : STRING - algorithm used for signing
1.1.2. address : STRING - corresponding address for keypair
1.1.3. pubkey : STRING - base64 encoded public key for keypair
Example
// Request
{
    "id": 1,
    "jsonrpc": "2.0",
    "method": "cosmos_getAccounts",
    "params": {}
}
// Result
{
    "id": 1,
    "jsonrpc": "2.0",
    "result":  [
        {
            "algo": "secp256k1",
            "address": "cosmos1sguafvgmel6f880ryvq8efh9522p8zvmrzlcrq",
            "pubkey": "AgSEjOuOr991QlHCORRmdE5ahVKeyBrmtgoYepCpQGOW"
        }
    ]
}
cosmos_signDirect
This method returns a signature for the provided document to be signed targeting the requested signer address corresponding to the keypair returned by the account data.
Parameters
Object- Signing parameters: 1.1.signerAddress:STRING- corresponding address for keypair 1.2.signDoc:Object- Document to be signed: 1.2.2.chainId:STRING- identifier of blockchain 1.2.1.accountNumber:STRING- blockchain account number 1.2.3.authInfoBytes:DATA- encoded authentication information 1.2.4.bodyBytes:DATA- encoded body of message to sign
Returns
Object- Signing parameters: 1.1.signature:Object- corresponding signature for signed documented 1.1.1.pub_key:Object- public key for keypair 1.1.1.1:type:STRING- type of public key 1.1.1.2:value:STRING- value of public key 1.1.2.signature:STRING- corresponding signature for signed documented 1.2.signed:Object- Signed document: 1.2.2.chainId:STRING- identifier of blockchain 1.2.1.accountNumber:STRING- blockchain account number 1.2.3.authInfoBytes:DATA- encoded authentication information 1.2.4.bodyBytes:DATA- encoded body of message to sign
Example
// Request
{
    "id": 1,
    "jsonrpc": "2.0",
    "method": "cosmos_signDirect",
    "params": {
        "signerAddress": "cosmos1sguafvgmel6f880ryvq8efh9522p8zvmrzlcrq",
        "signDoc":  {
            "chainId": "cosmoshub-4",
            "accountNumber": "1"
            "authInfoBytes": "CgoKABIECgIIARgBEhMKDQoFdWNvc20SBDIwMDAQwJoM",
            "bodyBytes": "CpABChwvY29zbW9zLmJhbmsudjFiZXRhMS5Nc2dTZW5kEnAKLWNvc21vczFwa3B0cmU3ZmRrbDZnZnJ6bGVzamp2aHhobGMzcjRnbW1rOHJzNhItY29zbW9zMXF5cHF4cHE5cWNyc3N6ZzJwdnhxNnJzMHpxZzN5eWM1bHp2N3h1GhAKBXVjb3NtEgcxMjM0NTY3"
        }
    }
}
// Result
{
    "id": 1,
    "jsonrpc": "2.0",
    "result":  {
        "signature": {
            "pub_key": {
                "type": "tendermint/PubKeySecp256k1",
                "value": "AgSEjOuOr991QlHCORRmdE5ahVKeyBrmtgoYepCpQGOW"
            },
            "signature": "AnTrXtS2lr9CBwhTpRa8ZlKcVR9PeIXGaTpvodyJU05QvRKVjIkQfOZl5JhdkfxCY+a6rhwCOYVcbKQTJlMw4w=="
        },
        "signed": {
            "chainId": "cosmoshub-4",
            "accountNumber": "1"
            "authInfoBytes": "CgoKABIECgIIARgBEhMKDQoFdWNvc20SBDIwMDAQwJoM",
            "bodyBytes": "CpABChwvY29zbW9zLmJhbmsudjFiZXRhMS5Nc2dTZW5kEnAKLWNvc21vczFwa3B0cmU3ZmRrbDZnZnJ6bGVzamp2aHhobGMzcjRnbW1rOHJzNhItY29zbW9zMXF5cHF4cHE5cWNyc3N6ZzJwdnhxNnJzMHpxZzN5eWM1bHp2N3h1GhAKBXVjb3NtEgcxMjM0NTY3"
        }
    }
}
cosmos_signAmino
This method returns a signature for the provided document to be signed targeting the requested signer address corresponding to the keypair returned by the account data.
Parameters
Object- Signing parameters: 1.1.signerAddress:STRING- corresponding address for keypair 1.2.signDoc:Object- Document to be signed: 1.2.2.chain_id:STRING- identifier of blockchain 1.2.1.account_number:STRING- blockchain account number 1.2.3.sequence:STRING- blockchain account sequence 1.2.4.memo:STRING- amino message memo 1.2.5.msgs:Array- array of amino messages to be signed: 1.2.5.1.Object- amino message object: 1.2.5.1.1. -type:STRING- amino message type 1.2.5.1.2. -value:STRING- amino message value 1.2.6.fee:Object- fee description object 1.2.6.1.amount:Array- array of currency fees: 1.2.6.1.1.Object- currency fee description object: 1.2.6.1.1.1.denom:STRING- currency denomination 1.2.6.1.1.2.amount:STRING- currency amount 1.2.6.2.gas:STRING- gas limit for execution
Returns
Object- Signing parameters: 1.1.signature:Object- corresponding signature for signed documented 1.1.1.pub_key:Object- public key for keypair 1.1.1.1:type:STRING- type of public key 1.1.1.2:value:STRING- value of public key 1.1.2.signature:STRING- corresponding signature for signed documented 1.2.signed:Object- Signed document: 1.2.2.chain_id:STRING- identifier of blockchain 1.2.1.account_number:STRING- blockchain account number 1.2.3.sequence:STRING- blockchain account sequence 1.2.4.memo:STRING- amino message memo 1.2.5.msgs:Array- array of amino messages to be signed: 1.2.5.1.Object- amino message object: 1.2.5.1.1. -type:STRING- amino message type 1.2.5.1.2. -value:STRING- amino message value 1.2.6.fee:Object- fee description object 1.2.6.1.amount:Array- array of currency fees: 1.2.6.1.1.Object- currency fee description object: 1.2.6.1.1.1.denom:STRING- currency denomination 1.2.6.1.1.2.amount:STRING- currency amount 1.2.6.2.gas:STRING- gas limit for execution
Example
// Request
{
    "id": 1,
    "jsonrpc": "2.0",
    "method": "cosmos_signAmino",
    "params": {
        "signerAddress": "cosmos1sguafvgmel6f880ryvq8efh9522p8zvmrzlcrq",
        "signDoc": {
            "chain_id": "foochain",
            "account_number": "7",
            "sequence": "54"
            "memo": "hello, world",
            "msgs": [],
            "fee": { "amount": [], "gas": "23" }
        }
    }
}
// Result
{
    "id": 1,
    "jsonrpc": "2.0",
    "result":  {
        "signature": {
            "pub_key": {
                "type": "tendermint/PubKeySecp256k1",
                "value": "AgSEjOuOr991QlHCORRmdE5ahVKeyBrmtgoYepCpQGOW"
            },
            "signature": "AnTrXtS2lr9CBwhTpRa8ZlKcVR9PeIXGaTpvodyJU05QvRKVjIkQfOZl5JhdkfxCY+a6rhwCOYVcbKQTJlMw4w=="
        },
        "signed": {
            "chain_id": "foochain",
            "account_number": "7",
            "sequence": "54"
            "memo": "hello, world",
            "msgs": [],
            "fee": { "amount": [{"denom": "ufoo", "amount": "10000"}], "gas": "23" }
        }
    }
}