A swiss-army-knife for Tezos Smart Contract developers
Project description
Chinstrap
Overview
Chinstrap is a development environment, testing framework, and asset pipeline focused solely on Tezos, aiming to become Swiss-Army-Knife for Tezos Smart Contract developers.
Chinstrap makes Tezos developers' life easy by providing support for multiple contract compilations, tests, and originations on many public and private Tezos networks.
Features
Chinstrap offers:
- End-to-end build cycle support for Creation, Compilation, Testing and Origination of Smart Contracts
- Local sandbox environment to develop and test contracts
- Support for writing tests in
Python
and testing withpytest
- Scriptable deployment & originations framework
- Originations Management for deploying to many public & private networks
- Interactive debug console to debug and directly communicate with contracts
Why?
Here are some reasons why I built Chinstrap:
- Development framework that solely focuses on Tezos Smart Contract development
- Easy to use and everything in place already.
- Easy maintenance
- Extendable
- Designed focused solely to support writing contracts in
Python
,SmartPy
- Tests can also be programmed in
Python
Getting started
Requirements
- Python >= 3.7
- Docker
- Homebrew needs to be installed.
$ brew tap cuber/homebrew-libsecp256k1
$ brew install libsodium libsecp256k1 gmp
Installation
$ pip3 install chinstrap
or
git clone https://github.com/ant4g0nist/chinstrap
cd chinstrap
python3 setup.py install
Upgrade
if you installed chinstrap with pip3
pip3 install -U chinstrap
Usage
$ chinstrap
_ _ _
___| |__ (_)_ __ ___| |_ _ __ __ _ _ __
/ __| '_ \| | '_ \/ __| __| '__/ _` | '_ \
| (__| | | | | | | \__ \ |_| | | (_| | |_) |
\___|_| |_|_|_| |_|___/\__|_| \__,_| .__/
|_|
usage: main.py [-h] [--init] [--compile] [--create] [--debug] [--templates] [--develop] [--originate] [--reset] [--network NETWORK] [--test TEST] [--sandbox] [--sandbox-stop] [--sandbox-detach]
[--sandbox-port SANDBOX_PORT] [--sandbox-protocol SANDBOX_PROTOCOL] [--accounts ACCOUNTS] [--account-balance ACCOUNT_BALANCE] [--version]
Chinstrap - a cute framework for developing Tezos Smart Contracts
optional arguments:
-h, --help show this help message and exit
--init Initialize new and empty Tezos SmartPy project
--compile Compile contract source files
--create Helper to create new contracts, origination and tests
--debug Interactively debug contracts.
--templates Download from templates provided SmartPy
--develop Open a console with a local development blockchain
--originate Run originations to deploy contracts
--reset Run originations to deploy contracts
--network NETWORK Show addresses for deployed contracts on each network
--test TEST Run [smartpy] or [pytest] tests.
--sandbox Start a Tezos local sandbox
--sandbox-stop Tezos local sandbox's RPC Port
--sandbox-detach Start a Tezos local sandbox and detach
--sandbox-port SANDBOX_PORT
Tezos local sandbox's RPC Port
--sandbox-protocol SANDBOX_PROTOCOL
Tezos local sandbox's RPC Port
--accounts ACCOUNTS Number of accounts to bootstrap on Tezos local sandbox
--account-balance ACCOUNT_BALANCE
Amount of Tezos to deposit while bootstraping on Tezos local sandbox
--version Show version number and exit
Quickstart
To compile the smart contracts:
$ chinstrap --compile
To originate (deploy) the smart contracts:
$ chinstrap --originate --network florencenet
To re-originate (reset and deploy again) the smart contracts:
$ chinstrap --originate --network florencenet --reset
To start the local Flextesa sandbox:
$ chinstrap --sandbox
To start the chinstrap repl (debug):
$ chinstrap --debug --network florencenet
To download template contracts provided Smartpy:
$ chinstrap --templates
Is Chinstrap finished?
- Not at all. I will provide as much support as needed and we can work together and add important changes and improvements on a regular basis.
- Pull requests are welcome
TODO
- Improve documentation
- Improve Sandbox support
- Improve repl experience
- Add tests
- Add more test projects
- Add a homebrew formula
References
- https://smartpy.io/reference.html
- https://pytezos.org/
- https://baking-bad.org/
- https://michelson.baking-bad.org/
Credits
- Truffle
- Baking-Bad
- logo by @sengar23
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for chinstrap-0.0.11-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 14b74d6438dc75dbe716b78729ce715ed391008deca7222a2d0f16d1dd0ceaca |
|
MD5 | cdb1b230e345ed0dbe1f0343bf660538 |
|
BLAKE2b-256 | 2179cbdd0f2e70a5952aec85c5aaf9ccead08c77eae84dffd62b8fef58e397a4 |