EOS series-use cleos (command line) to initiate a bare package transaction

eos constructs naked transactions and signs

1. Data that needs to be obtained on the chain

  • Obtain ref_block_prefix
    1. get_infoTo get the last irreversible block number: last_irreversible_block_num
      this is a screenshot
    2. get_blockGet information about the block: this is a screenshot
    3. To find out the ref_block_prefixdata

2.1 After that, unsigned transaction data can be constructed offline locally

Construction result (unsigned)

{
    
    
    "compression": "none",
    "transaction": {
    
    
        "expiration": "2018-08-01T06:11:23",
        "ref_block_num": 10855,
        "ref_block_prefix": 473148127,
        "max_net_usage_words": 0,
        "max_cpu_usage_ms": 0,
        "delay_sec": 0,
        "context_free_actions": [],
        "actions": [{
    
    
            "account": "eosio.token",
            "name": "transfer",
            "authorization": [{
    
    
                "actor": "fromaccount",
                "permission": "active"
            }],
            "data": "0000000000ea305500000000487a2b9d102700000000000004454f53000000001163726561746564206279206e6f70726f6d"
        }],
        "transaction_extensions": [],
        "signatures": null,
        "context_free_data": []
    },
    "signatures": ["SIG_K1_JwLVG5pRdhvLfJGWkDEBPa7wdLbNeqeRFdvFrKDEryahSwCRpPb75m4auZh8frq6cXsm3dHit8GMbmuuBWxEjH"]
}

2.2 Unsigned transaction data can also be constructed through the cleos command

cleos push action eosio.token transfer '{"from":"xxx", "to":"xxx", "quantity":"xxx", "memo":"xxx"}' -p fromaccount@active -jds

-j:	print result as json
-d:	don't broadcast transaction to the network (just print to stdout)
-s:	Specify if unlocked wallet keys should be used to sign transaction

3. Sign and send transaction

Use the [transaction json] constructed above, sign with the private key passed in, and send the transaction

./cleos sign -p -k [private-key] '[transaction json]'

-k,--private-key TEXT       The private key that will be used to sign the transaction
-p,--push-transaction       Push transaction after signing

Guess you like

Origin blog.csdn.net/wcc19840827/article/details/109180958