All Projects → ethereum → Eth Utils

ethereum / Eth Utils

Licence: mit
Utility functions for working with ethereum related codebases.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Eth Utils

Ethereum Php
A PHP interface to the Ethereum API
Stars: ✭ 171 (-4.47%)
Mutual labels:  ethereum
Ui Components
Most used UI Components — of web applications. Curated/Most loved components for web development
Stars: ✭ 175 (-2.23%)
Mutual labels:  utility-library
Rectpack2d
A header-only, quite efficient rectangle packing library.
Stars: ✭ 177 (-1.12%)
Mutual labels:  utility-library
Trust Ray
☁️ API for the Trust Wallet. Project no longer supported and current version used as source of transactions and address tokens in Blockatlas https://github.com/trustwallet/blockatlas/blob/master/config.yml#L64
Stars: ✭ 172 (-3.91%)
Mutual labels:  ethereum
Angular Truffle Starter Dapp
Angular CLI + Truffle Starter Dapp; write, compile & deploy smart contracts on Ethereum blockchains
Stars: ✭ 174 (-2.79%)
Mutual labels:  ethereum
Ethers.js
Complete Ethereum library and wallet implementation in JavaScript.
Stars: ✭ 3,605 (+1913.97%)
Mutual labels:  ethereum
Solcrypto
Solidity crypto libraries, ring signatures, proof of knowledge, packed signatures etc. with matching Python implementations for secp256k1 and (alt)BN-256
Stars: ✭ 170 (-5.03%)
Mutual labels:  ethereum
Go Ethereum Hdwallet
Ethereum HD Wallet derivations in Go (golang)
Stars: ✭ 178 (-0.56%)
Mutual labels:  ethereum
Eevm
Enclave ready EVM (eEVM) is an open-source, standalone, embeddable, C++ implementation of the Ethereum Virtual Machine.
Stars: ✭ 175 (-2.23%)
Mutual labels:  ethereum
Ethereum Graph Debugger
Ethereum solidity graph plain debugger. To have the whole picture when debugging.
Stars: ✭ 177 (-1.12%)
Mutual labels:  ethereum
Eth Vue
Featured in Awesome Vue [https://github.com/vuejs/awesome-vue], a curated list maintained by vuejs of awesome things related to the Vue.js framework, and Awesome List [https://awesomelists.net/150-Vue.js/3863-Open+Source/18749-DOkwufulueze-eth-vue], this Truffle Box provides everything you need to quickly build Ethereum dApps that have authentication features with vue, including configuration for easy deployment to the Ropsten Network. It's also Gravatar-enabled. Connecting to a running Ganache blockchain network from Truffle is also possible -- for fast development and testing purposes. Built on Truffle 5 and Vue 3, eth-vue uses vuex for state management, vuex-persist for local storage of app state, and vue-router for routing. Authentication functionalities are handled by Smart Contracts running on the Ethereum blockchain.
Stars: ✭ 171 (-4.47%)
Mutual labels:  ethereum
Ethabi
Encode and decode smart contract invocations
Stars: ✭ 172 (-3.91%)
Mutual labels:  ethereum
Securify
[DEPRECATED] Security Scanner for Ethereum Smart Contracts
Stars: ✭ 177 (-1.12%)
Mutual labels:  ethereum
Study Blockchain Referrence
区块链学习路上的一些资料作为参考
Stars: ✭ 172 (-3.91%)
Mutual labels:  ethereum
Cointop
A fast and lightweight interactive terminal based UI application for tracking cryptocurrencies 🚀
Stars: ✭ 2,912 (+1526.82%)
Mutual labels:  ethereum
Cbpro Trader
Automated cryptocurrency trading on Coinbase Pro (formerly gdax-trader)
Stars: ✭ 171 (-4.47%)
Mutual labels:  ethereum
Semaphore
A privacy gadget for Ethereum
Stars: ✭ 176 (-1.68%)
Mutual labels:  ethereum
Awesome Decentralized Papers
Influential papers in decentralized systems (cryptocurrencies, contracts, consensus, etc.)
Stars: ✭ 179 (+0%)
Mutual labels:  ethereum
Universaltoken
Implementation of Universal Token for Assets and Payments
Stars: ✭ 176 (-1.68%)
Mutual labels:  ethereum
Pando
A distributed remote protocol for git based on IPFS, ethereum and aragonOS
Stars: ✭ 177 (-1.12%)
Mutual labels:  ethereum

Ethereum Utilities

Join the chat at https://gitter.im/ethereum/eth-utils Build Status PyPI version Python versions Docs build

Common utility functions for python code that interacts with Ethereum

Read more in the documentation on ReadTheDocs. View the change log.

Quickstart

pip install eth-utils

Developer Setup

If you would like to hack on eth-utils, please check out the Snake Charmers Tactical Manual for information on how we do:

  • Testing
  • Pull Requests
  • Code Style
  • Documentation

Development Environment Setup

You can set up your dev environment with:

git clone [email protected]:ethereum/eth-utils.git
cd eth-utils
virtualenv -p python3 venv
. venv/bin/activate
pip install -e .[dev]
pip install -e eth-hash[pycryptodome]

Testing Setup

During development, you might like to have tests run on every file save.

Show flake8 errors on file change:

# Test flake8
when-changed -v -s -r -1 eth_utils/ tests/ -c "clear; flake8 eth_utils tests && echo 'flake8 success' || echo 'error'"

Run multi-process tests in one command, but without color:

# in the project root:
pytest --numprocesses=4 --looponfail --maxfail=1
# the same thing, succinctly:
pytest -n 4 -f --maxfail=1

Run in one thread, with color and desktop notifications:

cd venv
ptw --onfail "notify-send -t 5000 'Test failure ⚠⚠⚠⚠⚠' 'python 3 test on eth-utils failed'" ../tests ../eth_utils

Release setup

To release a new version:

make release bump=$$VERSION_PART_TO_BUMP$$

How to bumpversion

The version format for this repo is {major}.{minor}.{patch} for stable, and {major}.{minor}.{patch}-{stage}.{devnum} for unstable (stage can be alpha or beta).

To issue the next version in line, specify which part to bump, like make release bump=minor or make release bump=devnum. This is typically done from the master branch, except when releasing a beta (in which case the beta is released from master, and the previous stable branch is released from said branch).

If you are in a beta version, make release bump=stage will switch to a stable.

To issue an unstable version when the current version is stable, specify the new version explicitly, like make release bump="--new-version 4.0.0-alpha.1 devnum"

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].