eosc EOSIO command-line swiss-army-knife
eosc is a cross-platform (Windows, Mac and Linux) command-line tool
for interacting with an EOS.IO blockchain.
- Superset of
- System contract interactions (EOS Mainnet)
- Capacity to craft any transaction
- Multisig facilities with added bells and whistles
- Integrated secure Vault, to sign transactions and broadcast them
- Supports offline signature flows, and cold wallets.
- Based on the
eos-golibrary, and is easy to extend.
- Install from https://github.com/eoscanada/eosc/releases
- Build from source with:
go get -u -v github.com/eoscanada/eosc/eosc
- If you are on MacOS and use Homebrew:
brew install eoscanada/tap/eosc
Once installed run:
eosc vault create --import
to import your keys and follow instructions.
Then set your environment variable to the API URL of your choice, optionally setting some HTTP headers:
export EOSC_GLOBAL_API_URL=https://your-favorite-endpoint export EOSC_GLOBAL_HTTP_HEADER_0="Authorization: bearer abcdef12323453452565676589" export EOSC_GLOBAL_HTTP_HEADER_1="Origin: https://something...
Then you can run commands on the chain, ex:
eosc get info eosc transfer fromaccnt toaccnt 0.0001 --memo "Sent with eosc"
These are supported environment variables:
All global flags (those you get from eosc –help) can be set with the following pattern: EOSC_GLOBAL_FLAG_NAME. The most useful are:
All (sub)command flags map to the following pattern: EOSC_COMMAND_SUBCOMMAND_CMD_FLAG_NAME (ex:
eosc forum post --reply-to=...
EOSC_GLOBAL_INSECURE_VAULT_PASSPHRASEallows you to input the passphrase directly in an environment variable (useful for test automation, risky for most other uses)
EOSC_GLOBAL_HTTP_HEADER_0(available for indexes 0 to 25)
Cryptographic primitives used
You can inspect the crypto code in our codebase regarding the
passphrase implementation: it is 61 lines,
including blanks and comments.
Q: Why not use
cleos instead ?
cleos is hard to compile, being in C++, as it requires a huge
eosc works on Windows where
contains a wallet inside, and is able to use it to sign some
cleos interfaces with yet another program (
order to sign transactions, making it more complex to use.
cleos together in a swiss-army-knify package.