Giter Site home page Giter Site logo

wasp's Introduction

Wasp logo

Welcome to the Wasp repository!

Wasp is a node software developed by the IOTA Foundation to run the IOTA Smart Contract Protocol (ISCP in short) on top of the IOTA Tangle. Please find here a high level introduction into ISCP.

A smart contract is a distributed software agent that stores its state in the UTXO ledger, and evolves with each request sent to the contract. Since the UTXO ledger is immutable, by extension the smart contract state is also immutable.

A committee of an arbitrary number of Wasp nodes runs a chain of smart contracts. The main purpose of the committee is to ensure consistent transition from the previous state to the next, according to the attached program. This ensures that the operation of smart contracts is distributed, fault-tolerant and leaderless.

The articles below explain how to run a Wasp node on the Pollen network, as well as concepts and architecture of ISCP and Wasp.

Disclaimer: Wasp node and articles is a work in progress, and most likely will always be. The software presented in this repository is not ready for use in commercial settings or whenever processing of critical data is involved.

Prerequisites

git clone -b master+wasp https://github.com/iotaledger/goshimmer.git
cd goshimmer
go install

Note: The only difference between standard Goshimmer (master branch) and the master+wasp branch is the WaspConn plugin, which accepts connections from Wasp nodes.

Compile

  • Build the wasp binary (Wasp node): go build
  • Build the wasp-cli binary (CLI client): go build ./tools/wasp-cli

Alternatively, build and install everything with go install ./...

Test

  • Run all tests (including integration tests which may take several minutes): go test -timeout 20m ./...
  • Run only unit tests: go test -short ./...

Note: integration tests require the goshimmer, wasp and wasp-cli commands in the system path (i.e. you need to run go install ./... before running tests).

Run

Learn

Tools

  • wasp-cli: A CLI client for the Wasp node.
  • wasp-cluster: allows to easily run a network of Wasp nodes, for testing.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.