Initial Vexta Core v0.1.0 release
This commit is contained in:
commit
25c454329d
2481 changed files with 689289 additions and 0 deletions
39
contrib/vexta/README.md
Normal file
39
contrib/vexta/README.md
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
# Vexta Core
|
||||
|
||||
This directory contains helper scripts and configuration examples for running a Vexta node.
|
||||
|
||||
## Files
|
||||
|
||||
- vexta.conf.example
|
||||
- vexta-mainnet.conf
|
||||
- vexta-testnet.conf
|
||||
- vexta-regtest.conf
|
||||
- install-node.sh
|
||||
- start-mainnet.sh
|
||||
- stop-node.sh
|
||||
|
||||
## Running a local node
|
||||
|
||||
Copy one of the example configuration files into your data directory:
|
||||
|
||||
cp vexta-mainnet.conf ~/.vexta/vexta.conf
|
||||
|
||||
Start the node:
|
||||
|
||||
vextad -daemon
|
||||
|
||||
Stop the node:
|
||||
|
||||
vexta-cli stop
|
||||
|
||||
Check blockchain status:
|
||||
|
||||
vexta-cli getblockchaininfo
|
||||
|
||||
## Installing on Ubuntu
|
||||
|
||||
Run the installer as a normal user with sudo access:
|
||||
|
||||
./contrib/vexta/install-node.sh
|
||||
|
||||
The script installs build dependencies, builds Vexta Core without the GUI, and installs the command-line binaries into /usr/local/bin.
|
||||
100
contrib/vexta/install-node.sh
Executable file
100
contrib/vexta/install-node.sh
Executable file
|
|
@ -0,0 +1,100 @@
|
|||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
if [ "${EUID}" -eq 0 ]; then
|
||||
echo "Do not run this entire script as root."
|
||||
echo "Run it as a normal user with sudo access."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
PROJECT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
||||
JOBS="${VEXTA_BUILD_JOBS:-$(nproc)}"
|
||||
|
||||
echo "========================================"
|
||||
echo " Vexta Core node installer"
|
||||
echo "========================================"
|
||||
echo "Project root: $PROJECT_ROOT"
|
||||
echo "Build jobs: $JOBS"
|
||||
echo
|
||||
|
||||
if ! command -v sudo >/dev/null 2>&1; then
|
||||
echo "ERROR: sudo is required."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! command -v apt-get >/dev/null 2>&1; then
|
||||
echo "ERROR: This installer currently supports Ubuntu/Debian systems only."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Installing build dependencies..."
|
||||
sudo apt-get update
|
||||
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y \
|
||||
build-essential \
|
||||
automake \
|
||||
autotools-dev \
|
||||
autoconf \
|
||||
libtool \
|
||||
pkg-config \
|
||||
python3 \
|
||||
git \
|
||||
curl \
|
||||
ca-certificates \
|
||||
libevent-dev \
|
||||
libboost-system-dev \
|
||||
libboost-filesystem-dev \
|
||||
libboost-test-dev \
|
||||
libboost-thread-dev \
|
||||
libsqlite3-dev \
|
||||
libzmq3-dev
|
||||
|
||||
cd "$PROJECT_ROOT"
|
||||
|
||||
if [ ! -x ./configure ]; then
|
||||
echo "Generating configure script..."
|
||||
./autogen.sh
|
||||
fi
|
||||
|
||||
echo "Configuring Vexta Core..."
|
||||
./configure \
|
||||
--without-gui \
|
||||
--disable-tests \
|
||||
--disable-bench \
|
||||
--with-incompatible-bdb
|
||||
|
||||
echo "Building Vexta Core..."
|
||||
make -j"$JOBS"
|
||||
|
||||
echo "Installing binaries into /usr/local/bin..."
|
||||
sudo install -m 0755 src/vextad /usr/local/bin/vextad
|
||||
sudo install -m 0755 src/vexta-cli /usr/local/bin/vexta-cli
|
||||
sudo install -m 0755 src/vexta-tx /usr/local/bin/vexta-tx
|
||||
sudo install -m 0755 src/vexta-util /usr/local/bin/vexta-util
|
||||
sudo install -m 0755 src/vexta-wallet /usr/local/bin/vexta-wallet
|
||||
|
||||
echo "Installing systemd service template..."
|
||||
sudo install -m 0644 \
|
||||
"$PROJECT_ROOT/contrib/vexta/vextad@.service" \
|
||||
/etc/systemd/system/vextad@.service
|
||||
|
||||
sudo systemctl daemon-reload
|
||||
|
||||
echo
|
||||
echo "Installed versions:"
|
||||
vextad --version | head -1
|
||||
vexta-cli --version | head -1
|
||||
|
||||
echo
|
||||
echo "Vexta Core installation completed."
|
||||
echo "Next steps:"
|
||||
echo " mkdir -p \$HOME/.vexta"
|
||||
echo " cp contrib/vexta/vexta-mainnet.conf \$HOME/.vexta/vexta.conf"
|
||||
echo " nano \$HOME/.vexta/vexta.conf"
|
||||
echo
|
||||
echo "Start Vexta manually:"
|
||||
echo " vextad -daemon"
|
||||
echo
|
||||
echo "Or enable the systemd service:"
|
||||
echo " sudo systemctl enable vextad@\$(whoami)"
|
||||
echo " sudo systemctl start vextad@\$(whoami)"
|
||||
echo " sudo systemctl status vextad@\$(whoami)"
|
||||
14
contrib/vexta/start-mainnet.sh
Executable file
14
contrib/vexta/start-mainnet.sh
Executable file
|
|
@ -0,0 +1,14 @@
|
|||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
DATADIR="${VEXTA_DATADIR:-$HOME/.vexta}"
|
||||
|
||||
mkdir -p "$DATADIR"
|
||||
|
||||
if [ ! -f "$DATADIR/vexta.conf" ]; then
|
||||
cp "$(dirname "$0")/vexta-mainnet.conf" "$DATADIR/vexta.conf"
|
||||
echo "Created $DATADIR/vexta.conf"
|
||||
echo "Edit rpcpassword before using this node publicly."
|
||||
fi
|
||||
|
||||
vextad -datadir="$DATADIR" -daemon
|
||||
6
contrib/vexta/stop-node.sh
Executable file
6
contrib/vexta/stop-node.sh
Executable file
|
|
@ -0,0 +1,6 @@
|
|||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
DATADIR="${VEXTA_DATADIR:-$HOME/.vexta}"
|
||||
|
||||
vexta-cli -datadir="$DATADIR" stop
|
||||
17
contrib/vexta/vexta-mainnet.conf
Normal file
17
contrib/vexta/vexta-mainnet.conf
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
server=1
|
||||
listen=1
|
||||
|
||||
# Uncomment after the first public Vexta bootstrap node is deployed.
|
||||
# addnode=BOOTSTRAP_NODE_IP
|
||||
txindex=1
|
||||
|
||||
rpcbind=127.0.0.1
|
||||
rpcallowip=127.0.0.1
|
||||
rpcuser=vextarpc
|
||||
rpcpassword=CHANGE_THIS_PASSWORD
|
||||
|
||||
fallbackfee=0.001
|
||||
dandelion=0
|
||||
|
||||
logtimestamps=1
|
||||
debug=0
|
||||
16
contrib/vexta/vexta-regtest.conf
Normal file
16
contrib/vexta/vexta-regtest.conf
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
regtest=1
|
||||
server=1
|
||||
listen=1
|
||||
txindex=1
|
||||
|
||||
[regtest]
|
||||
rpcbind=127.0.0.1
|
||||
rpcallowip=127.0.0.1
|
||||
rpcuser=vextaregrpc
|
||||
rpcpassword=CHANGE_THIS_PASSWORD
|
||||
|
||||
fallbackfee=0.001
|
||||
dandelion=0
|
||||
|
||||
logtimestamps=1
|
||||
debug=0
|
||||
19
contrib/vexta/vexta-testnet.conf
Normal file
19
contrib/vexta/vexta-testnet.conf
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
testnet=1
|
||||
server=1
|
||||
listen=1
|
||||
|
||||
# Uncomment after the first public Vexta bootstrap node is deployed.
|
||||
# addnode=BOOTSTRAP_NODE_IP
|
||||
txindex=1
|
||||
|
||||
[test]
|
||||
rpcbind=127.0.0.1
|
||||
rpcallowip=127.0.0.1
|
||||
rpcuser=vextatestrpc
|
||||
rpcpassword=CHANGE_THIS_PASSWORD
|
||||
|
||||
fallbackfee=0.001
|
||||
dandelion=0
|
||||
|
||||
logtimestamps=1
|
||||
debug=0
|
||||
37
contrib/vexta/vexta.conf.example
Normal file
37
contrib/vexta/vexta.conf.example
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
########################################
|
||||
# Vexta Core configuration
|
||||
########################################
|
||||
|
||||
# ----------------------------
|
||||
# RPC
|
||||
# ----------------------------
|
||||
server=1
|
||||
rpcbind=127.0.0.1
|
||||
rpcallowip=127.0.0.1
|
||||
|
||||
# nastav vlastní údaje
|
||||
rpcuser=vextarpc
|
||||
rpcpassword=CHANGE_THIS_PASSWORD
|
||||
|
||||
# ----------------------------
|
||||
# Network
|
||||
# ----------------------------
|
||||
listen=1
|
||||
|
||||
# Uncomment after the first public Vexta bootstrap node is deployed.
|
||||
# addnode=BOOTSTRAP_NODE_IP
|
||||
txindex=1
|
||||
|
||||
# ----------------------------
|
||||
# Wallet
|
||||
# ----------------------------
|
||||
fallbackfee=0.001
|
||||
|
||||
# během vývoje vypneme Dandelion
|
||||
dandelion=0
|
||||
|
||||
# ----------------------------
|
||||
# Logging
|
||||
# ----------------------------
|
||||
logtimestamps=1
|
||||
debug=0
|
||||
27
contrib/vexta/vextad@.service
Normal file
27
contrib/vexta/vextad@.service
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
[Unit]
|
||||
Description=Vexta Core daemon
|
||||
After=network-online.target
|
||||
Wants=network-online.target
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
User=%i
|
||||
Group=%i
|
||||
|
||||
ExecStart=/usr/local/bin/vextad \
|
||||
-daemon \
|
||||
-datadir=/home/%i/.vexta
|
||||
|
||||
ExecStop=/usr/local/bin/vexta-cli \
|
||||
-datadir=/home/%i/.vexta \
|
||||
stop
|
||||
|
||||
Restart=on-failure
|
||||
RestartSec=10
|
||||
|
||||
PrivateTmp=true
|
||||
ProtectSystem=full
|
||||
NoNewPrivileges=true
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
Loading…
Reference in a new issue