Add NIP-11 relay synchronization and group management features
- 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:
@@ -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
|
||||
|
||||
|
||||
@@ -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"
|
||||
)
|
||||
|
||||
|
||||
@@ -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"
|
||||
Reference in New Issue
Block a user