quad-node

module
v0.0.0-...-b70f362 Latest Latest
Warning

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

Go to latest
Published: Jan 16, 2025 License: MIT

README

Node go QUAD

Works for Ubuntu 20.04+ and go1.22.5+

Install OQS library:

git clone https://github.com/open-quantum-safe/liboqs.git
cd liboqs/
git checkout ea44f39

Compile OQS with -DBUILD_SHARED_LIBS=ON and install

mkdir build && cd build
cmake -GNinja -DBUILD_SHARED_LIBS=ON ..    
ninja
sudo ninja install

Install prerequisites

sudo apt update
sudo apt install librocksdb-dev
sudo apt install libzmq3-dev
sudo apt install pkg-config
sudo apt install build-essential
sudo apt install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools

Reload dynamic libraries

sudo ldconfig -v

Clone project source code

git clone https://github.com/quad-foundation/quad-node.git
cd quad-node

install go modules

go get ./...

mkdir ~/.quad

Copy env file and change accordingly.

cp .quad/.env ~/.quad/.env

In the case you are the first who run blockchain and generate genesis block you need to set in .env: DELEGATED_ACCOUNT=1. In other case if you join to other node which is running you can choose unique DELEGATED_ACCOUNT > 1 and < 255.

Ports TCP needed to be opened:

TransactionTopic: 9091,
NonceTopic:       8091,
SelfNonceTopic:   7091,
SyncTopic:        6091,

9009 - wallet - node communication

To create account and manage wallet:

go run cmd/generateNewWallet/main.go

Run Node:

go run cmd/mining/main.go

Run GUI:

go run cmd/gui/main.go

Directories

Path Synopsis
cmd
gui command
mining command
Package common contains various helper functions.
Package common contains various helper functions.
compiler
Package compiler wraps the Solidity and Vyper compiler executables (solc; vyper).
Package compiler wraps the Solidity and Vyper compiler executables (solc; vyper).
hexutil
Package hexutil implements hex encoding with 0x prefix.
Package hexutil implements hex encoding with 0x prefix.
math
Package math provides integer math utilities.
Package math provides integer math utilities.
core
abi
Package abi implements the Ethereum ABI (Application Binary Interface).
Package abi implements the Ethereum ABI (Application Binary Interface).
asm
Package asm provides support for dealing with EVM assembly instructions (e.g., disassembling them).
Package asm provides support for dealing with EVM assembly instructions (e.g., disassembling them).
evm
Package vm implements the Ethereum Virtual Machine.
Package vm implements the Ethereum Virtual Machine.
blake2b
Package blake2b implements the BLAKE2b hash algorithm defined by RFC 7693 and the extendable output function (XOF) BLAKE2Xb.
Package blake2b implements the BLAKE2b hash algorithm defined by RFC 7693 and the extendable output function (XOF) BLAKE2Xb.
bn256
Package bn256 implements the Optimal Ate pairing over a 256-bit Barreto-Naehrig curve.
Package bn256 implements the Optimal Ate pairing over a 256-bit Barreto-Naehrig curve.
bn256/cloudflare
Package bn256 implements a particular bilinear group at the 128-bit security level.
Package bn256 implements a particular bilinear group at the 128-bit security level.
bn256/google
Package bn256 implements a particular bilinear group.
Package bn256 implements a particular bilinear group.
oqs
Package oqs provides a GO wrapper for the C liboqs quantum-resistant library.
Package oqs provides a GO wrapper for the C liboqs quantum-resistant library.
oqs/rand
Package rand provides support for various RNG-related functions.
Package rand provides support for various RNG-related functions.
Package genesis maintains access to the genesis file.
Package genesis maintains access to the genesis file.
rlp
Package rlp implements the RLP serialization format.
Package rlp implements the RLP serialization format.
internal/rlpstruct
Package rlpstruct implements struct processing for RLP encoding/decoding.
Package rlpstruct implements struct processing for RLP encoding/decoding.
rlpgen command
rpc

Jump to

Keyboard shortcuts

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