A sandbox to easily start your own development environment
Explore the docs »
Report Bug
·
Request Feature
Table of Contents
The IOTA Sandbox is a dedicated local network for developers to prototype and test smart contracts, INX plugins, and L1 applications within the IOTA ecosystem. It provides a safe, isolated environment for development and experimentation, crucial for ensuring functionality before deployment in production scenarios.
Note
Note that the IOTA Sandbox is not intended for creating production-ready networks, but rather for research and development purposes only. Also always consider using the public testnet first. Join us in pioneering the next wave of IOTA innovations, where you can experiment with confidence and community support.
Clone this repo and navigate into the sandbox
directory.
If you use the sandbox for the first time or want to start fresh, bootstrap it first by running ./bootstrap.sh
. You might need to run it as root or with sudo. After that you can just simply start the sandbox with docker compose up
. If you want to detach the console add the -d
flag.
For more examples, please refer to the Documentation
The IOTA Sandbox provides two actions to use the sandbox in CI/CD for testing. setup
and tear-down
.
You can add those actions to your workflow by simply using it in a step. You can specify a version of the sandbox or a commit-ish ref to use any commit, branch, or tag.
name: Sandbox
on:
workflow-dispatch
env:
# Specify which profiles you want to enable.
COMPOSE_PROFILES: 'inx-indexer, chronicle'
jobs:
sandbox:
runs-on: ubuntu-latest
steps:
- name: Start iota sandbox
uses: 'iotaledger/iota-sandbox/.github/actions/setup@VERION'
with:
# Optional. Specify an iota-sandbox version. Default is latest
version: 'v1.1.0'
# Optional. In case you want to use a commit-ish ref. If branch is set it will always overrule version
branch: branch-xy
# Optional. In case you want to use your own protocol parameters
protocol_parameters: ./.github/workflows/protocol_parameters.json
- name: Tear down iota sandbox
uses: 'iotaledger/iota-sandbox/.github/actions/setup@VERSION'
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open a feature request. Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the Apache License. See LICENSE
for more information.