Skip to content

iotaledger/iota-sandbox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Forks Stargazers Issues Apache 2.0 license Discord StackExchange


Banner

IOTA Sandbox

A sandbox to easily start your own development environment
Explore the docs »

Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Usage
  3. Github Action
  4. Contributing
  5. License

About The Project

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.

(back to top)

Usage

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

(back to top)

Github Action

The IOTA Sandbox provides two actions to use the sandbox in CI/CD for testing. setup and tear-down.

Usage

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'

(back to top)

Contributing

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!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the Apache License. See LICENSE for more information.

(back to top)