npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

cceb

v1.5.7

Published

Bash program to trade and interact with RadixDLT and Ethereum

Downloads

79

Readme

cceb

GitHub license NPM version Twitter

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.

  1. If you chose to use Walletconnect at a web3 site. It will provide a QR code.
  2. Copy the QR code clicking the Copy to clipboard button.
  3. Paste your code like this:
    • cceb eth walletconnect connect "<walletconnect qrcode content>"
  4. 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
    • MakerDAO supported
    • AAVE supported
    • Curve contracts integrated (All operations manageable via command line.)
  • Ethereum wallets supported:
    • Account with private keys
    • Ledger wallet supported
    • Airsign supported. Keys are stored on an android device, that is shut off from internet, and communicates with cceb through QR codes.
  • 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!

Installing

  1. Install CCEB:
    $ npm i -g cceb

  2. 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
    • 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) add Telegram token: telegram-token
  3. (optional) Configure cceb.
    $ vim $(npm root -g)/cceb/config/default.yaml

    • (optional) Set Ethereum tx speed.web3.txSpeed
      Values fastest: < 30 sec, fast: < 2 min, average: < 5 min, safeLow: < 30 min
    • (optional) Set default account: web3.defaultFrom
    • (optional) Set network: web3.network
  4. 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.