Initial Vexta Core v0.1.0 release

This commit is contained in:
Capri 2026-07-15 14:07:28 +00:00
commit 25c454329d
2481 changed files with 689289 additions and 0 deletions

39
contrib/vexta/README.md Normal file
View 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
View 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
View 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
View file

@ -0,0 +1,6 @@
#!/usr/bin/env bash
set -euo pipefail
DATADIR="${VEXTA_DATADIR:-$HOME/.vexta}"
vexta-cli -datadir="$DATADIR" stop

View 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

View 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

View 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

View 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

View 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