wasp

command module
v1.0.3 Latest Latest
Warning

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

Go to latest
Published: Mar 6, 2024 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.

You can find a comprehensive overview of design decisions for IOTA Smart Contracts in the ISC white paper.

Documentation

You can find Wasp and IOTA Smart Contracts documentation in 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 the Contributing Guidelines 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
components
app
dkg
wasmtimevm
Wasp can have several VM types.
Wasp can have several VM types.
contracts
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/chainmanager
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/cmt_log
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/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/access_mgr/am_dist
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/evmdoc
Package evmdoc contains internal documentation about EVM support in ISC.
Package evmdoc contains internal documentation about EVM support in ISC.
evm/jsonrpc
Package jsonrpc contains the implementation of the JSONRPC service which is called by Ethereum clients (e.g.
Package jsonrpc contains the implementation of the JSONRPC service which is called by Ethereum clients (e.g.
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 that are used in Wasp.
Package 'isc' defines fundamental types that are used in 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.
testutil/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.
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.
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
Package evm contains the declaration of the evm core contract's interface.
Package evm contains the declaration of the evm core contract's interface.
vm/core/evm/emulator
Package emulator contains the implementation of the EVMEmulator and subcomponents.
Package emulator contains the implementation of the EVMEmulator and subcomponents.
vm/core/evm/evmimpl
Package evmimpl contains the implementation of the `evm` core contract.
Package evmimpl contains the implementation of the `evm` core contract.
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/evm/evmtest
Package evmtest contains solo tests for the evm core contract.
Package evmtest contains solo tests for the evm core contract.
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/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
tools
gendoc Module
wasp-cli Module

Jump to

Keyboard shortcuts

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