wasp

command module
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 28, 2020 License: Apache-2.0, BSD-2-Clause Imports: 19 Imported by: 0

README

Wasp logo

Welcome to the Wasp repository!

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

A smart contract is a distributed software agent which keeps its state in the immutable ledger. The state is an append-only structure which evolves with each request to the smart contract.

State of the smart contract, including tokens deposited into it and the attached arbitrary data, is anchored in the Value Tangle, the UTXO ledger. So, the IOTA ledger ensures state is immutable.

Each SC is run by the distributed and leaderless committee of Wasp nodes. The main purpose of the committee is to ensure consistent transition from the previous state to the next, according to the attached program. The program itself is immutably stored with the smart contract too.

So, IOTA smart contracts are run by the network of Wasp nodes, all connected to the Tangle.

The articles below explains how to run a Wasp node on the Pollen network, also concepts and architecture of ISCP and Wasp. We describe it using several PoC smart contracts as an example.

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

PoC smart contracts

Instructions, docs

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
packages
committee/consensus
the file contains functions responsible for the request batch selection logic
the file contains functions responsible for the request batch selection logic
committee/statemgr
statemgr package implements object which is responsible for the smart contract ledger state to be synchronized and validated
statemgr package implements object which is responsible for the smart contract ledger state to be synchronized and validated
kv
sctransaction
implement smart contract transaction.
implement smart contract transaction.
sctransaction/txbuilder/vtxbuilder
package to build value transaction
package to build value transaction
tcrypto
wrapper package for BLS threshold cryptography used in the Wasp node TODO DKG protocol must be rewritten because currently it is not 100% secure
wrapper package for BLS threshold cryptography used in the Wasp node TODO DKG protocol must be rewritten because currently it is not 100% secure
util/sema
package implements simple semaphore with timeout
package implements simple semaphore with timeout
vm
vm/examples/donatewithfeedback
DonateWithFeedback is a smart contract which handles donation account and log of feedback messages sent together with the donations
DonateWithFeedback is a smart contract which handles donation account and log of feedback messages sent together with the donations
vm/examples/donatewithfeedback/dwfimpl
hard coded smart contract code implements DonateWithFeedback
hard coded smart contract code implements DonateWithFeedback
vm/examples/fairauction
hard coded implementation of the FairAuction smart contract The auction dApp is automatically run by committee, a distributed market for colored tokens
hard coded implementation of the FairAuction smart contract The auction dApp is automatically run by committee, a distributed market for colored tokens
vm/examples/fairroulette
FairRoulette is a PoC smart contract for IOTA Smart Contracts and the Wasp node In this package smart contract is implemented as a hardcoded Go program.
FairRoulette is a PoC smart contract for IOTA Smart Contracts and the Wasp node In this package smart contract is implemented as a hardcoded Go program.
vm/examples/logsc
logsc is a smart contract that takes requests to log a message and adds it to the log
logsc is a smart contract that takes requests to log a message and adds it to the log
vm/examples/sc7
nil processor takes any request and dos nothing, i.e.
nil processor takes any request and dos nothing, i.e.
vm/examples/sc8
nil processor takes any request and dos nothing, i.e.
nil processor takes any request and dos nothing, i.e.
vm/examples/sc9
nil processor takes any request and dos nothing, i.e.
nil processor takes any request and dos nothing, i.e.
vm/examples/tokenregistry
smart contract code implements Token Registry.
smart contract code implements Token Registry.
vm/examples/vmnil
nil processor takes any request and dos nothing, i.e.
nil processor takes any request and dos nothing, i.e.
vm/examples/wasmpoc
nil processor takes any request and dos nothing, i.e.
nil processor takes any request and dos nothing, i.e.
vm/vmtypes
package present processor interface.
package present processor interface.
wasmvm module
plugins
cli
database
Package database is a plugin that manages the badger database (e.g.
Package database is a plugin that manages the badger database (e.g.
nodeconn
package for maintaining connection with the main node on the node WaspConn plugin is handling yhe connection
package for maintaining connection with the main node on the node WaspConn plugin is handling yhe connection
testplugins/nodeping
scmeta package runs integration tests by calling WebAPi to itself for SC meta data
scmeta package runs integration tests by calling WebAPi to itself for SC meta data
testplugins/roundtrip
scmeta package runs integration tests by calling WebAPi to itself for SC meta data
scmeta package runs integration tests by calling WebAPi to itself for SC meta data
webapi/dkgapi
handles dkgCache used during DKG process
handles dkgCache used during DKG process
webapi/stateapi
access to the solid state of the smart contract
access to the solid state of the smart contract
tools
cluster/waspt command
examples/perlin command
newdks command
scdata command
showit command
submsg command
wwallet command
gendoc module
wasp-cli module

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL