|
@ -68,7 +68,7 @@ Transactions |
|
|
------------ |
|
|
------------ |
|
|
|
|
|
|
|
|
To send a transaction, use ``curl`` to make requests to the Tendermint |
|
|
To send a transaction, use ``curl`` to make requests to the Tendermint |
|
|
RPC server: |
|
|
|
|
|
|
|
|
RPC server, for example: |
|
|
|
|
|
|
|
|
:: |
|
|
:: |
|
|
|
|
|
|
|
@ -93,6 +93,57 @@ Visit http://localhost:46657 in your browser to see the list of other |
|
|
endpoints. Some take no arguments (like ``/status``), while others |
|
|
endpoints. Some take no arguments (like ``/status``), while others |
|
|
specify the argument name and use ``_`` as a placeholder. |
|
|
specify the argument name and use ``_`` as a placeholder. |
|
|
|
|
|
|
|
|
|
|
|
Formatting |
|
|
|
|
|
~~~~~~~~~~ |
|
|
|
|
|
|
|
|
|
|
|
The following nuances when sending/formatting transactions should |
|
|
|
|
|
be taken into account: |
|
|
|
|
|
|
|
|
|
|
|
With ``GET``: |
|
|
|
|
|
|
|
|
|
|
|
To send a UTF8 string byte array, quote the value of the tx pramater: |
|
|
|
|
|
|
|
|
|
|
|
:: |
|
|
|
|
|
|
|
|
|
|
|
curl 'http://localhost:46657/broadcast_tx_commit?tx="hello"' |
|
|
|
|
|
|
|
|
|
|
|
which sends a 5 byte transaction: "h e l l o" [68 65 6c 6c 6f]. |
|
|
|
|
|
|
|
|
|
|
|
Note the URL must be wrapped with single quoes, else bash will ignore the double quotes. |
|
|
|
|
|
To avoid the single quotes, escape the double quotes: |
|
|
|
|
|
|
|
|
|
|
|
:: |
|
|
|
|
|
|
|
|
|
|
|
curl http://localhost:46657/broadcast_tx_commit?tx=\"hello\" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Using a special character: |
|
|
|
|
|
|
|
|
|
|
|
:: |
|
|
|
|
|
|
|
|
|
|
|
curl 'http://localhost:46657/broadcast_tx_commit?tx="€5"' |
|
|
|
|
|
|
|
|
|
|
|
sends a 4 byte transaction: "€5" (UTF8) [e2 82 ac 35]. |
|
|
|
|
|
|
|
|
|
|
|
To send as raw hex, omit quotes AND prefix the hex string with ``0x``: |
|
|
|
|
|
|
|
|
|
|
|
:: |
|
|
|
|
|
|
|
|
|
|
|
curl http://localhost:46657/broadcast_tx_commit?tx=0x01020304 |
|
|
|
|
|
|
|
|
|
|
|
which sends a 4 byte transaction: [01 02 03 04]. |
|
|
|
|
|
|
|
|
|
|
|
With ``POST`` (using ``json``), the raw hex must be ``base64`` encoded: |
|
|
|
|
|
|
|
|
|
|
|
:: |
|
|
|
|
|
|
|
|
|
|
|
curl --data-binary '{"jsonrpc":"2.0","id":"anything","method":"broadcast_tx_commit","params": {"tx": "AQIDBA=="}}' -H 'content-type:text/plain;' http://localhost:46657 |
|
|
|
|
|
|
|
|
|
|
|
which sends the same 4 byte transaction: [01 02 03 04]. |
|
|
|
|
|
|
|
|
|
|
|
Note that raw hex cannot be used in ``POST`` transactions. |
|
|
|
|
|
|
|
|
Reset |
|
|
Reset |
|
|
----- |
|
|
----- |
|
|
|
|
|
|
|
@ -196,6 +247,9 @@ can take on the order of a second. For a quick result, use |
|
|
``broadcast_tx_sync``, but the transaction will not be committed until |
|
|
``broadcast_tx_sync``, but the transaction will not be committed until |
|
|
later, and by that point its effect on the state may change. |
|
|
later, and by that point its effect on the state may change. |
|
|
|
|
|
|
|
|
|
|
|
Note: see the Transactions => Formatting section for details about |
|
|
|
|
|
transaction formating. |
|
|
|
|
|
|
|
|
Tendermint Networks |
|
|
Tendermint Networks |
|
|
------------------- |
|
|
------------------- |
|
|
|
|
|
|
|
|