All Projects → ConsenSys → pythx

ConsenSys / pythx

Licence: MIT license
A Python library for the MythX smart contract security analysis platform

Programming Languages

python
139335 projects - #7 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to pythx

Solhint
Solhint is an open source project created by https://protofire.io. Its goal is to provide a linting utility for Solidity code.
Stars: ✭ 363 (+1110%)
Mutual labels:  smart-contracts, security-scanner
Web3swift
Elegant Web3js functionality in Swift. Native ABI parsing and smart contract interactions.
Stars: ✭ 237 (+690%)
Mutual labels:  smart-contracts
Cckit
Programming toolkit for building Hyperledger Fabric Golang on-chain (chaincode) and off-chain applications
Stars: ✭ 167 (+456.67%)
Mutual labels:  smart-contracts
Erc20 Generator
Create an ERC20 Token for FREE in less than a minute with the most used Smart Contract Generator for ERC20 Token. No login. No setup. No coding required.
Stars: ✭ 202 (+573.33%)
Mutual labels:  smart-contracts
Smart Contract Languages
A curated collection of resources on smart contract programming languages
Stars: ✭ 176 (+486.67%)
Mutual labels:  smart-contracts
Wavelet
Write once, run forever. Deploy robust, scalable, decentralized WebAssembly applications on Wavelet.
Stars: ✭ 224 (+646.67%)
Mutual labels:  smart-contracts
Cadence
Cadence, the resource-oriented smart contract programming language 🏃‍♂️
Stars: ✭ 157 (+423.33%)
Mutual labels:  smart-contracts
Eosfactory
Python-based EOS smart-contract development & testing framework
Stars: ✭ 247 (+723.33%)
Mutual labels:  smart-contracts
Merkletreejs
🌱 Construct Merkle Trees and verify proofs in JavaScript.
Stars: ✭ 238 (+693.33%)
Mutual labels:  smart-contracts
Swc Registry
Smart Contract Weakness Classification and Test Cases
Stars: ✭ 200 (+566.67%)
Mutual labels:  smart-contracts
Insolar
Enterprise-ready blockchain platform
Stars: ✭ 192 (+540%)
Mutual labels:  smart-contracts
Go Matrix
First version of go-MATRIX, especially for TPS optimization and AI
Stars: ✭ 187 (+523.33%)
Mutual labels:  smart-contracts
Flint
The Flint Programming Language for Smart Contracts
Stars: ✭ 228 (+660%)
Mutual labels:  smart-contracts
Voting
Dock governance proposals and smart contract
Stars: ✭ 172 (+473.33%)
Mutual labels:  smart-contracts
Ethereum Input Data Decoder
Ethereum smart contract transaction input data decoder
Stars: ✭ 242 (+706.67%)
Mutual labels:  smart-contracts
Dasp
The Decentralized Application Security Project
Stars: ✭ 166 (+453.33%)
Mutual labels:  smart-contracts
Fabric Chaincode Java
Hyperledger Fabric Contract and Chaincode implementation for Java https://wiki.hyperledger.org/display/fabric
Stars: ✭ 188 (+526.67%)
Mutual labels:  smart-contracts
Blockchain Stuff
Blockchain and Crytocurrency Resources
Stars: ✭ 2,549 (+8396.67%)
Mutual labels:  smart-contracts
Awesome Buggy Erc20 Tokens
A Collection of Vulnerabilities in ERC20 Smart Contracts With Tokens Affected
Stars: ✭ 251 (+736.67%)
Mutual labels:  smart-contracts
Awesome Blockchain Kor
<블록체인의 정석>, <하이퍼레저 블록체인 개발> 소스코드 및 참고자료 저장소
Stars: ✭ 243 (+710%)
Mutual labels:  smart-contracts

PythX

https://travis-ci.org/dmuhs/pythx.svg?branch=master https://readthedocs.org/projects/pythx/badge/?version=latest https://coveralls.io/repos/github/dmuhs/pythx/badge.svg?branch=master

PythX is a library for the MythX smart contract security analysis platform.

What is MythX?

MythX is a security analysis API that allows anyone to create purpose-built security tools for smart contract developers. Tools built on MythX integrate seamlessly into the development environments and continuous integration pipelines used throughout the Ethereum ecosystem.

Installation

PythX runs on Python 3.6+ and PyPy3.

To get started, simply run

$ pip3 install pythx

Alternatively, clone the repository and run

$ pip3 install .

Or directly through Python's setuptools:

$ python3 setup.py install

Example

PythX aims to provide an easy-to-use interface to the official MythX API. Its goal is to turbocharge tool development and make it easy to deal with even complex use cases.

from pythx import Client


c = Client(api_key="...")

# submit bytecode, source files, their AST and more!
resp = c.analyze(bytecode="0xfe")

# wait for the analysis to finish
while not c.analysis_ready(resp.uuid):
    time.sleep(1)

# have all your security report data at your fingertips
for issue in c.report(resp.uuid):
    print(issue.swc_title or "Undefined", "-", issue.description_short)

# Output:
# Assert Violation - A reachable exception has been detected.

The PythX CLI has now become the MythX CLI!

Originally, the PythX CLI was a proof of concept to display to interested developers what can be done using the library. The interest in the CLI grew so large that a lot of developers contacted me and asked for support and new features.

This is the PSA that I will no longer maintain the PythX CLI. But wait! There's more!

Because a PoC is not exactly what you would call future-proof and maintainable software, I have decided to do a complete revamp. It is called mythx-cli and incorporates all feature requests I have gotten so far. Check it out here and let me know what you think!

Enjoy! :)

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].