MCPcopy Index your code
hub / github.com/dominant-strategies/go-quai

github.com/dominant-strategies/go-quai @v0.55.0 sqlite

repository ↗ · DeepWiki ↗ · release v0.55.0 ↗
8,684 symbols 33,346 edges 468 files 4,081 documented · 47%
README

Go Quai

The reference implementation of the Quai protocol, written in Go.

API Reference Go Report Card Discord

Usage

Building from source

Once you have the necessary prerequisites, clone the go-quai repository and navigate to it using:

git clone https://github.com/dominant-strategies/go-quai.git
cd go-quai
make go-quai

After a successful build, the binary will be located at build/bin/go-quai.

Running a node

To run a go-quai node, simply execute the go-quai start command. Be sure to specify the parameters you wish to use, such as your coinbase address (if you plan on mining), and which slices you wish to participate in.

For example, here is the run command for miner (0x00a3e45aa16163F2663015b6695894D918866d19) in cyprus-1 (zone-0-0) on the "garden" test network:

./build/bin/go-quai start --node.slices "[0 0]" --node.coinbases "0x00a3e45aa16163F2663015b6695894D918866d19" --node.environment "garden"

For the full list of available options and their default values, consult the help menu:

./build/go-quai --help

All configuration options may be supplied in a config file too, located in the directory specified by --global.config-dir. Note specified on the command-line will override options specified in the config file.

Running tests

To run the included unit tests, run the following command:

./build/go-quai test

Contributing

We welcome community contributions! If you find a bug, have a feature request, or would like to help out with development, we would love to hear from you; no fix is too small. Please take a look at [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines for contributing to the project.

License

This software is licensed under the GNU Genreral Public License, Version 3. See LICENSE for details.

Extension points exported contracts — how you extend this code

Subscription (Interface)
TODO: move subscription to package event Subscription represents an event subscription where events are delivered on a d [6 …
interfaces.go
Encoder (Interface)
Encoder is implemented by types that require custom encoding rules or want to encode private fields. [9 implementers]
rlp/encode.go
KeccakState (Interface)
KeccakState wraps sha3.state. In addition to the usual hash methods, it also supports Read to get a variable amount of d [9 …
crypto/crypto.go
AccountIterator (Interface)
AccountIterator is an iterator to step over all the accounts in a snapshot, which may or may not be composed of multiple [6 …
core/state/snapshot/iterator.go
PrecompiledContract (Interface)
PrecompiledContract is the basic interface for native Go contracts. The implementation requires a deterministic gas coun [9 …
core/vm/contracts.go
Error (Interface)
Error wraps RPC errors, which contain an error code in addition to the message. [8 implementers]
rpc/errors.go
Conn (Interface)
Conn is a subset of the methods of net.Conn which are sufficient for ServerCodec. [6 implementers]
rpc/json.go
Timer (Interface)
Timer is a cancellable event created by AfterFunc. [22 implementers]
common/mclock/mclock.go

Core symbols most depended-on inside this repo

Hash
called by 854
core/state/database.go
Error
called by 815
rpc/errors.go
Equal
called by 484
core/types/transaction_signing.go
Bytes
called by 366
core/types/bloom9.go
WorkObjectHeader
called by 359
core/types/wo.go
Uint64
called by 335
core/types/block.go
Set
called by 295
core/vm/memory.go
NumberU64
called by 276
core/types/block.go

Shape

Method 5,140
Function 2,552
Struct 744
Interface 109
TypeAlias 108
FuncType 31

Languages

Go100%

Modules by API surface

core/types/proto_block.pb.go496 symbols
core/types/wo.go202 symbols
core/core.go186 symbols
quai/api_backend.go154 symbols
p2p/mocks/mockedPeerStore.go144 symbols
core/types/block.go144 symbols
core/rawdb/accessors_chain.go142 symbols
internal/quaiapi/backend.go135 symbols
core/types/transaction.go135 symbols
core/tx_pool.go113 symbols
core/types/auxpow.go107 symbols
core/headerchain.go103 symbols

Dependencies from manifests, versioned

github.com/DataDog/zstdv1.4.5 · 1×
github.com/adrg/xdgv0.4.0 · 1×
github.com/bahlo/generic-list-gov0.2.0 · 1×
github.com/benbjohnson/clockv1.3.5 · 1×
github.com/beorn7/perksv1.0.1 · 1×
github.com/btcsuite/btclogv0.0.0-2017062815530 · 1×
github.com/btcsuite/go-socksv0.0.0-2017010517252 · 1×

For agents

$ claude mcp add go-quai \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact