Add NIP-11 relay synchronization and group management features
Some checks failed
Go / build (push) Has been cancelled
Go / release (push) Has been cancelled

- Introduced a new `sync` package for managing NIP-11 relay information and relay group configurations.
- Implemented a cache for NIP-11 documents, allowing retrieval of relay public keys and authoritative configurations.
- Enhanced the sync manager to update peer lists based on authoritative configurations from relay group events.
- Updated event handling to incorporate policy checks during event imports, ensuring compliance with relay rules.
- Refactored various components to utilize the new `sha256-simd` package for improved performance.
- Added comprehensive tests to validate the new synchronization and group management functionalities.
- Bumped version to v0.24.1 to reflect these changes.
This commit is contained in:
2025-11-03 18:17:15 +00:00
parent e161d0e4be
commit e56bf76257
83 changed files with 3712 additions and 7417 deletions

View File

@@ -147,22 +147,6 @@ EOF
fi
}
# Install build dependencies
install_dependencies() {
log_info "Installing build dependencies..."
if check_root; then
# Install as root
./scripts/ubuntu_install_libsecp256k1.sh
else
# Request sudo for dependency installation
log_info "Root privileges required for installing build dependencies..."
sudo ./scripts/ubuntu_install_libsecp256k1.sh
fi
log_success "Build dependencies installed"
}
# Build the application
build_application() {
log_info "Building ORLY relay..."
@@ -289,9 +273,6 @@ main() {
setup_go_environment
fi
# Install dependencies
install_dependencies
# Build application
build_application

View File

@@ -32,7 +32,6 @@ fi
echo -e "${YELLOW}2. Testing script validation...${NC}"
required_files=(
"go.mod"
"scripts/ubuntu_install_libsecp256k1.sh"
"scripts/update-embedded-web.sh"
"app/web/package.json"
)
@@ -49,7 +48,6 @@ done
echo -e "${YELLOW}3. Testing script permissions...${NC}"
required_scripts=(
"scripts/deploy.sh"
"scripts/ubuntu_install_libsecp256k1.sh"
"scripts/update-embedded-web.sh"
)

View File

@@ -1,40 +0,0 @@
#!/usr/bin/env bash
set -e
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
# Update package lists
apt-get update
# Try to install from package manager first (much faster)
echo "Attempting to install secp256k1 from package manager..."
if apt-get install -y libsecp256k1-dev >/dev/null 2>&1; then
echo "✓ Installed secp256k1 from package manager"
exit 0
fi
# Fall back to building from source if package not available
echo "Package not available in repository, building from source..."
# Install build dependencies
apt-get install -y build-essential autoconf automake libtool git wget pkg-config
cd "$SCRIPT_DIR"
rm -rf secp256k1
# Clone and setup secp256k1
git clone https://github.com/bitcoin-core/secp256k1.git
cd secp256k1
git checkout v0.6.0
# Initialize and update submodules
git submodule init
git submodule update
# Build and install
./autogen.sh
./configure --enable-module-schnorrsig --enable-module-ecdh --prefix=/usr
make -j$(nproc)
make install
cd "$SCRIPT_DIR"