wasp

command module
v0.5.0-alpha.12-hotfix-2 Latest Latest
Warning

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

Go to latest
Published: Mar 2, 2023 License: Apache-2.0 Imports: 1 Imported by: 0

README

Wasp logo

Welcome to the Wasp repository!

Wasp is a node software developed by the IOTA Foundation to run the IOTA Smart Contracts (ISC in short) on top of the IOTA Tangle. Here's a high level introduction into ISC.

The comprehensive overview of design decisions of IOTA Smart Contracts can be found in the whitepaper.

Documentation

The documentation for Wasp and IOTA Smart Contracts can be found on the IOTA Wiki.

Contributing

If you want to contribute to this repository, consider posting a bug report, feature request or a pull request.

Please read this before creating a pull request.

You can also join our Discord server and ping us in #smartcontracts-dev.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
clients
contracts
core
app
dkg
wasmtimevm
Wasp can have several VM types.
Wasp can have several VM types.
documentation
packages
chain
This runs single chain will all the committees, mempool, state mgr etc.
This runs single chain will all the committees, mempool, state mgr etc.
chain/chainMgr
This package implements a protocol for running a chain in a node.
This package implements a protocol for running a chain in a node.
chain/cmtLog
package cmtLog is responsible for producing a log of chain's block decisions for a particular committee.
package cmtLog is responsible for producing a log of chain's block decisions for a particular committee.
chain/cons
Consensus.
Consensus.
chain/cons/gr
The purpose of this package is to run the consensus protocol as a goroutine and communicate with all the related components.
The purpose of this package is to run the consensus protocol as a goroutine and communicate with all the related components.
chain/dss
Run a NonceDKG and sign the supplied hash.
Run a NonceDKG and sign the supplied hash.
chain/mempool
A mempool basically does these functions:
A mempool basically does these functions:
chains/accessMgr/amDist
The algorithm here follows the specification `WaspChainAccessNodesV4.tla`.
The algorithm here follows the specification `WaspChainAccessNodesV4.tla`.
dkg
Package dkg is responsible for performing a distributed key generation procedure.
Package dkg is responsible for performing a distributed key generation procedure.
evm/jsonrpc
package jsonrpc implements JSON-RPC endpoints according to https://eth.wiki/json-rpc/API
package jsonrpc implements JSON-RPC endpoints according to https://eth.wiki/json-rpc/API
gpa
package gpa stands for generic pure (distributed) algorithm.
package gpa stands for generic pure (distributed) algorithm.
gpa/aba/craig
TODO: That's Craig's "Good-Case-Coin-Free" ABA consensus.
TODO: That's Craig's "Good-Case-Coin-Free" ABA consensus.
gpa/acs
Here we implement the Asynchronous Common Subset algorithm from the HBBFT paper:
Here we implement the Asynchronous Common Subset algorithm from the HBBFT paper:
gpa/acss
package acss implements "Asynchronous Complete Secret Sharing" as described in
package acss implements "Asynchronous Complete Secret Sharing" as described in
gpa/acss/crypto
This package is a copy of <https://github.com/Wollac/async.go/tree/main/pkg/acss/crypto>
This package is a copy of <https://github.com/Wollac/async.go/tree/main/pkg/acss/crypto>
gpa/adkg/nonce
nonce package implements NonceDKG as described in <https://github.com/iotaledger/crypto-tss/>.
nonce package implements NonceDKG as described in <https://github.com/iotaledger/crypto-tss/>.
gpa/cc/blssig
blssig package implements a Common Coin (CC) based on a BLS Threshold signatures as described in the Appendix C of
blssig package implements a Common Coin (CC) based on a BLS Threshold signatures as described in the Appendix C of
gpa/cc/semi
semi package implements a Common Coin (CC) that produces deterministic values only for some of the rounds.
semi package implements a Common Coin (CC) that produces deterministic values only for some of the rounds.
gpa/rbc/bracha
package bracha implements Bracha's Reliable Broadcast.
package bracha implements Bracha's Reliable Broadcast.
isc
Package 'isc' defines fundamental types used in the Wasp.
Package 'isc' defines fundamental types used in the Wasp.
isc/coreutil
package coreutil provides functions to describe interface of the core contract in a compact way
package coreutil provides functions to describe interface of the core contract in a compact way
kv
l1connection
to be used by utilities like: cluster-tool, wasp-cli, apilib, etc
to be used by utilities like: cluster-tool, wasp-cli, apilib, etc
nodeconn
nodeconn package provides an interface to the L1 node (Hornet).
nodeconn package provides an interface to the L1 node (Hornet).
peering
Package peering provides an overlay network for communicating between nodes in a peer-to-peer style with low overhead encoding and persistent connections.
Package peering provides an overlay network for communicating between nodes in a peer-to-peer style with low overhead encoding and persistent connections.
peering/group
Package group implements a generic peering.GroupProvider.
Package group implements a generic peering.GroupProvider.
peering/lpp
Package lpp implements a peering.NetworkProvider based on the libp2p.
Package lpp implements a peering.NetworkProvider based on the libp2p.
solo
Package 'solo' is a development tool to write unit tests for IOTA Smart Contracts (ISC).
Package 'solo' is a development tool to write unit tests for IOTA Smart Contracts (ISC).
solo/solobench
package solobench provides tools to benchmark contracts running under solo
package solobench provides tools to benchmark contracts running under solo
tcrypto
Package tcrypto stands for Threshold Cryptography.
Package tcrypto stands for Threshold Cryptography.
testutil
Package testutil provides mock implementations of various wasp components.
Package testutil provides mock implementations of various wasp components.
testutil/privtangle
privtangle is a cluster of HORNET nodes started for testing purposes.
privtangle is a cluster of HORNET nodes started for testing purposes.
trie
package trie implements an immutable Merkle Patricia Trie, used by the state package to store the chain state.
package trie implements an immutable Merkle Patricia Trie, used by the state package to store the chain state.
utxodb
Package utxodb provides tools to simulate an in-memory synchronous ledger, for testing purposes.
Package utxodb provides tools to simulate an in-memory synchronous ledger, for testing purposes.
vm
vm/core/blocklog
in the blocklog core contract the VM keeps indices of blocks and requests in an optimized way for fast checking and timestamp access.
in the blocklog core contract the VM keeps indices of blocks and requests in an optimized way for fast checking and timestamp access.
vm/core/evm/evmnames
package evmnames provides the names of EVM core contract functions and fields.
package evmnames provides the names of EVM core contract functions and fields.
vm/core/governance
in the blocklog core contract the VM keeps indices of blocks and requests in an optimized way for fast checking and timestamp access.
in the blocklog core contract the VM keeps indices of blocks and requests in an optimized way for fast checking and timestamp access.
vm/core/governance/governanceimpl
This file provides implementation for the governance SC, the ChainNode management functions.
This file provides implementation for the governance SC, the ChainNode management functions.
vm/core/testcore/sbtests/sbtestsc
smart contract for testing
smart contract for testing
vm/vmcontext/vmtxbuilder
Package vmtxbuilder implements AnchorTransactionBuilder, a transaction builder used by the VM to construct anchor transaction.
Package vmtxbuilder implements AnchorTransactionBuilder, a transaction builder used by the VM to construct anchor transaction.
wasmvm Module
plugins
tools
gendoc Module
wasp-cli Module

Jump to

Keyboard shortcuts

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