TEA is small, adaptable and self contained development environment for Tezos smart contracts.
- small - dependencies of this project alone are only ~1.2MB
- adaptable - all behavior is determined based on app.hjson, can be tracked down and adjusted through ami.lua
- self contained - all features as included within - adjust them anyway you like or need
Start your new Tezos project faster than you prepare cup of tea. :)
- ligo compilation and tests (SmartPy is not supported right now but with TEA adaptability you can make it to.)
- taquito based module for dapp development
- e2e tests with taquito and sandbox
- eli and ami - for
ami
commands - only ~1.2MB - (optional) podman or docker
- (optional) nodejs for dapp development
- (optional) esy for access to ligo package management
- For development on windows use wsl2
- Make sure you have docker To store repository within the container:
- Open dev container directly by clicking the container badge or here. Or to store repository on local file system:
- Clone repository
git clone https://github.com/alis-is/tea.git
- Choose
Reopen in Container
when prompted by VS Code.
- Clone repository
git clone https://github.com/alis-is/tea.git
- Get
eli
andami
(lua engines powering tea)wget -q https://raw.githubusercontent.com/alis-is/ami/master/install.sh -O /tmp/install.sh && sh /tmp/install.sh
- Install optional dependencies if needed
- (optional) Edit
app.hjson
to adjust template behavior- You should set id to name of your project. (Build and deploy commands use this id to name files)
ami setup
(Downloads ligo and runsligo install
if needed)- (optional) to develop js module run
npm install
from within theweb
directory - You are ready to code
NOTE: TEA is fully self contained template. No behavior is specified in outside packages or set in stone. You can adjust it however you like. Just edit behavior within __tea
directory. ;)
TEA is operated with commands through ami
. All commands respects your configuration within app.hjson
and are defined within ami.lua
TEA provides bellow commands (see --help
of each for details):
ami sandbox start
start sandboxami sandbox stop
stop sandboxami compile
compiles contract, initial storage and viewsami deploy <deploy id>
deploys deploy or multiple based on idami test
runs ligo tests (stored intests
)ami test-js
runs web module tests (stored inweb/tests
)- requires started sandbox
ami test-js tests/admin.specs.js
runstests/admin.specs.js
tests
- Code your contract
- Run
ami compile
to compile contract and storage (See--help
for options or selective compilation) - Run
ami test
to execute ligo tests - Run
ami deploy <deploy id>
to deploy contract to your deploysami deploy sandbox
to deploy to sandbox with defaultapp.hjson
- Run
ami test-js
to test js-module
You can examine all commands tea executes with log level debug:
ami -ll=debug <command>
e.g.ami -ll=debug test
- Install Lua extension from sumneko
- Run
ami download-dev-metas
to download meta definitions for autocomplete - Adjust template as needed. Entire template codebase is scoped within
__tea
directory.