Binary <> JSON conversion using ABIs. Compatible with languages which can interface to C; see src/abieos.h.
Alpha release. Feedback requested.
abieos_create
abieos_set_abi
to load eosjs2/src/transaction.abi into contract 0.abieos_set_abi
to load the contract's ABI.abieos_json_to_bin
and abieos_get_bin_hex
to convert action data to hex. Use abieos_get_type_for_action
to get the action's type.abieos_json_to_bin
and abieos_get_bin_hex
to convert transaction to hex. Use contract = 0
and type = abieos_string_to_name(context, "transaction")
.abieos_destroy
abieos expects object attributes to be in order. It will complain about missing attributes if they are out of order.
Example action data for abieos_json_to_bin
:
{
"from": "useraaaaaaaa",
"to": "useraaaaaaab",
"quantity": "0.0001 SYS",
"memo": ""
}
Example transaction data for abieos_json_to_bin
:
{
"expiration": "2018-06-27T20:33:54.000",
"ref_block_num": 45323,
"ref_block_prefix": 2628749070,
"max_net_usage_words": 0,
"max_cpu_usage_ms": 0,
"delay_sec": 0,
"context_free_actions": [],
"actions": [{
"account": "eosio.token",
"name": "transfer",
"authorization":[{
"actor":"useraaaaaaaa",
"permission":"active"
}],
"data":"608C31C6187315D6708C31C6187315D60100000000000000045359530000000000"
}],
"transaction_extensions":[]
}
sudo apt install libboost-dev libboost-date-time-dev
-fsanitize=address,undefined
mkdir build
cd build
cmake ..
make
./test