cceb
v1.5.7
Published
Bash program to trade and interact with RadixDLT and Ethereum
Downloads
79
Maintainers
Readme
cceb
Bash wallet for Ethereum and RadixDLT
What's new
Changes from 1.4.x to 1.5.x
WalletConnect support
It is possible to connect to web3 pages through walletconnect.
- If you chose to use Walletconnect at a web3 site. It will provide a QR code.
- Copy the QR code clicking the
Copy to clipboard
button. - Paste your code like this:
cceb eth walletconnect connect "<walletconnect qrcode content>"
- Done, you are connected. Use your Ledger, Private Key, or Airsign to sign transactions.
Multiple provider support
cceb
can be configured to connect to multiple providers. If there is more than one is defined cceb
will query all of them, and
the one responding the fastest will be chosen. Providers marked as preferred
have priority over others.
Features
- Support to operate with 150+ exchanges that are supported by CCXT library
- Support trading on UNISWAP and Kyber
- Ethereum smart contract interaction
- Ethereum wallets supported:
- Access CCEB remotely using Telegram.
- Works on Android Termux
Getting started
Prerequisities
You need access to the followings in order to make CCEB work:
- On exchanges you wish to connect to, generate api keys and secrets.
- Infura api-key is needed for Ethereum (and Uniswap) interaction.
- Etherscan api-key is needed to download abi and contract source code for your Ethereum smart contracts.
- Ethgasstation api-key is needed for gas pricing for Ethereum transactions.
- Telegram telegram-token is needed if you want to access CCEB from within Telegram. To receive it:
- Within Telegram send message to
BotFather
:/start
/newbot
/<name_ending_with_bot>
- The reply of
BotFather
will include telegram-token. Use this token during Installing!
- Within Telegram send message to
Installing
Install CCEB:
$ npm i -g cceb
Add api keys:
$ vim $(npm root -g)/cceb/config/secrets/default.yaml
- install basic Ethereum interactions
- edit Infura api key:
web3.mainnet.infura.api-key
- edit Ethgasstation api-key:
web3.ethgasstation.api-key
- edit Infura api key:
- install centralized exhchange credentials
- add exchange name (using list):
keys: <ecxhange_name>: apiKey: <your_key> secret: <your_secret> type: 'centralized' enableRateLimit: true timeout: 30000 <ecxhange_name_1>: apiKey: ... ...
- (optional) enable abi and contract source download
- (optional) edit Etherscan api-key:
web3.etherscan.api-key
- (optional) edit Etherscan api-key:
- (optional) add Telegram token:
telegram-token
- install basic Ethereum interactions
(optional) Configure cceb.
$ vim $(npm root -g)/cceb/config/default.yaml
- (optional) Set Ethereum tx speed.
web3.txSpeed
Valuesfastest
: < 30 sec,fast
: < 2 min,average
: < 5 min,safeLow
: < 30 min - (optional) Set default account:
web3.defaultFrom
- (optional) Set network:
web3.network
- (optional) Set Ethereum tx speed.
Check if all works well
$ cceb eth tx USDT balanceOf 0x1062a747393198f70f71ec65a582423dba7e5ab3
Should return a number greater than zero.$ cceb exchange listbalances <exchange_name>
Should return your balances on <exchange_name> you configured in Installing.
Examples
Exchange
Add order on Binance:$ cceb exchange add binance buy market 1 ETH/USDT 0
Add order on Uniswap:$ cceb exchange add uniswap buy market 1 ETH/USDT 0
Add order buying the maximum ETH possible on Binance:$ cceb exchange add binance buy market max ETH/USDT 0
Add order buying the maximum ETH possible on Uniswap:$ cceb exchange add uniswap buy market max ETH/USDT 0
Add order buying half of the maximum ETH possible on Binance:$ cceb exchange add binance buy market max/2 ETH/USDT 0
Add order buying half of the maximum ETH possible on Uniswap:$ cceb exchange add uniswap buy market max/2 ETH/USDT 0
Sell CRV in batches using random batch size between 0 and 1000 CRV with random time varying from 120 to 240 seconds between the creation of sell orders. Create order only if price of CRV is a minimum of 4 on Binance$ cceb exchange trickle binance sell market 2090.46936856 CRV/USDT 0 -s 0 -v 1000 -t 120 -r 120 -m 4
Emulate limit order on Uniswap, selling 11 MKR at limit price of 2000. Will try to sell once in every 300 seconds, if price is higher than or equal to limit:$ cceb exchange trickle uniswap sell market 11 MKR/USDT 0 -s 11 -m 2000 -y 300 -t 10 -r 0
Ethereum contract manipulation
Get info on Curve.fi:$ cceb eth curve info
See how much an ETH is worth on Uniswap.$ cceb eth tx UNISWAP_ROUTER_V2 getAmountsOut 1.000000000000000000 '["WETH","USDT"]'
Send 1 ETH to 0x0000000000000000000000000000000000000000:$ cceb eth tx ETH transfer ZERO_ADDRESS 1.000000000000000000
Import token (eg.: BZRX):$ cceb eth import BZRX 0x56d811088235F11C8920698a204A5010a788f4b3 -l web3.mainnet.token
Once imported you can use its name to substitute for address:$ cceb eth abi BZRX
Ledger interaction
List ledger addresses:$ cceb ledger addresses
Documentation
See documentation.
Get detailed help:$ cceb --help
Authors
- Robert Horvath - Initial work - Contact
License
This project is licensed under the MIT License - see the LICENSE.md file for details
Disclaimer
This software and all its components come with absolutely no warranty whatsoever. Using this software is absolutely your own risk. Please note that test are missing, but I have been using this software for quite a while, and trying to fix its bugs.
Acknowledgments
- Thanks for the CCXT team for the great product.
- Ethereum team did a great work with their api.