mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-11 06:23:47 +00:00
merge latest qa
This commit is contained in:
commit
4b6115d9bb
42 changed files with 1582 additions and 26 deletions
314
.github/workflows/packager.yml
vendored
Normal file
314
.github/workflows/packager.yml
vendored
Normal file
|
|
@ -0,0 +1,314 @@
|
||||||
|
name: packager
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- 'v*.*.*'
|
||||||
|
- 'v*.*.*-*'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-18.04
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
- name: Set up Go
|
||||||
|
uses: actions/setup-go@master
|
||||||
|
with:
|
||||||
|
go-version: 1.19
|
||||||
|
- name: Adding TAG to ENV
|
||||||
|
run: echo "GIT_TAG=`echo $(git describe --tags --abbrev=0)`" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Cleaning repo
|
||||||
|
run: make clean
|
||||||
|
- name: Building for amd64
|
||||||
|
run: make bor
|
||||||
|
|
||||||
|
- name: Making directory structure
|
||||||
|
run: mkdir -p packaging/deb/bor/usr/bin
|
||||||
|
- name: Making directory structure for toml
|
||||||
|
run: mkdir -p packaging/deb/bor/var/lib/bor
|
||||||
|
- name: Copying necessary files
|
||||||
|
run: cp -rp build/bin/bor packaging/deb/bor/usr/bin/
|
||||||
|
- name: copying control file
|
||||||
|
run: cp -rp packaging/templates/package_scripts/control packaging/deb/bor/DEBIAN/control
|
||||||
|
- name: removing systemd file for binary
|
||||||
|
run: rm -rf lib/systemd/system/bor.service
|
||||||
|
|
||||||
|
- name: Creating package for binary only bor
|
||||||
|
run: cp -rp packaging/deb/bor packaging/deb/bor-v0.3.0-beta-amd64
|
||||||
|
- name: Running package build
|
||||||
|
run: dpkg-deb --build --root-owner-group packaging/deb/bor-v0.3.0-beta-amd64
|
||||||
|
|
||||||
|
- name: Removing the bor binary
|
||||||
|
run: rm -rf packaging/deb/bor/usr/bin/bor
|
||||||
|
|
||||||
|
- name: making directory structure for systemd
|
||||||
|
run: mkdir -p packaging/deb/bor/lib/systemd/system
|
||||||
|
- name: Copying systemd file
|
||||||
|
run: cp -rp packaging/templates/systemd/bor.service packaging/deb/bor/lib/systemd/system/bor.service
|
||||||
|
|
||||||
|
- name: Prepping Mumbai Sentry Node Profile for amd64
|
||||||
|
run: cp -rp packaging/deb/bor packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-amd64
|
||||||
|
- name: Putting toml
|
||||||
|
run: cp -rp packaging/templates/testnet-v4/sentry/sentry/bor/config.toml packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-amd64/var/lib/bor/
|
||||||
|
- name: Copying the preinst
|
||||||
|
run: cp -rp packaging/templates/package_scripts/preinst packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-amd64/DEBIAN/preinst
|
||||||
|
- name: Copying the postinst
|
||||||
|
run: cp -rp packaging/templates/package_scripts/postinst.profile packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-amd64/DEBIAN/postinst
|
||||||
|
- name: Copying the prerm
|
||||||
|
run: cp -rp packaging/templates/package_scripts/prerm packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-amd64/DEBIAN/prerm
|
||||||
|
- name: Copying the postrm
|
||||||
|
run: cp -rp packaging/templates/package_scripts/postrm packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-amd64/DEBIAN/postrm
|
||||||
|
- name: Copying systemd file
|
||||||
|
run: cp -rp packaging/templates/systemd/bor.service packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-amd64/lib/systemd/system/
|
||||||
|
- name: Copying profile control file
|
||||||
|
run: cp -rp packaging/templates/package_scripts/control.profile.amd64 packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-amd64/DEBIAN/control
|
||||||
|
- name: Running package build for sentry on amd64
|
||||||
|
run: dpkg-deb --build --root-owner-group packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-amd64
|
||||||
|
|
||||||
|
- name: Setting up Mainnet Sentry Config for amd64
|
||||||
|
run: cp -rp packaging/deb/bor packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-amd64
|
||||||
|
- name: Copying control file
|
||||||
|
run: cp -rp packaging/templates/package_scripts/control packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-amd64/DEBIAN/control
|
||||||
|
- name: Putting toml
|
||||||
|
run: cp -rp packaging/templates/mainnet-v1/sentry/sentry/bor/config.toml packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-amd64/var/lib/bor/
|
||||||
|
- name: Copying the preinst
|
||||||
|
run: cp -rp packaging/templates/package_scripts/preinst packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-amd64/DEBIAN/preinst
|
||||||
|
- name: Copying the postinst
|
||||||
|
run: cp -rp packaging/templates/package_scripts/postinst.profile packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-amd64/DEBIAN/postinst
|
||||||
|
- name: Copying the prerm
|
||||||
|
run: cp -rp packaging/templates/package_scripts/prerm packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-amd64/DEBIAN/prerm
|
||||||
|
- name: Copying the postrm
|
||||||
|
run: cp -rp packaging/templates/package_scripts/postrm packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-amd64/DEBIAN/postrm
|
||||||
|
- name: Copying profile control file
|
||||||
|
run: cp -rp packaging/templates/package_scripts/control.profile.amd64 packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-amd64/DEBIAN/control
|
||||||
|
- name: Building Sentry for amd64
|
||||||
|
run: dpkg-deb --build --root-owner-group packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-amd64
|
||||||
|
|
||||||
|
- name: Prepping Bor Validator Profile for amd64
|
||||||
|
run: cp -rp packaging/deb/bor packaging/deb/bor-mumbai-validator-config_v0.3.0-beta-amd64
|
||||||
|
- name: Copying control file for validator on amd64
|
||||||
|
run: cp -rp packaging/templates/package_scripts/control.validator packaging/deb/bor-mumbai-validator-config_v0.3.0-beta-amd64/DEBIAN/control
|
||||||
|
- name: Copying Postinstall script
|
||||||
|
run: cp -rp packaging/templates/package_scripts/postinst.profile packaging/deb/bor-mumbai-validator-config_v0.3.0-beta-amd64/DEBIAN/postinst
|
||||||
|
- name: Copying Prerm script
|
||||||
|
run: cp -rp packaging/templates/package_scripts/prerm packaging/deb/bor-mumbai-validator-config_v0.3.0-beta-amd64/DEBIAN/prerm
|
||||||
|
- name: Copying Postrm script
|
||||||
|
run: cp -rp packaging/templates/package_scripts/postrm packaging/deb/bor-mumbai-validator-config_v0.3.0-beta-amd64/DEBIAN/postrm
|
||||||
|
- name: Copying config.toml for validator for bor
|
||||||
|
run: cp -rp packaging/templates/testnet-v4/sentry/validator/bor/config.toml packaging/deb/bor-mumbai-validator-config_v0.3.0-beta-amd64/var/lib/bor/
|
||||||
|
- name: Copying profile control file
|
||||||
|
run: cp -rp packaging/templates/package_scripts/control.profile.amd64 packaging/deb/bor-mumbai-validator-config_v0.3.0-beta-amd64/DEBIAN/control
|
||||||
|
- name: Building bor validator on amd64
|
||||||
|
run: dpkg-deb --build --root-owner-group packaging/deb/bor-mumbai-validator-config_v0.3.0-beta-amd64
|
||||||
|
|
||||||
|
- name: Prepping Bor Mainnet Validator for amd64
|
||||||
|
run: cp -rp packaging/deb/bor packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-amd64
|
||||||
|
- name: Copying control file for validator on arm64
|
||||||
|
run: cp -rp packaging/templates/package_scripts/control.validator packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-amd64/DEBIAN/control
|
||||||
|
- name: Copying the preinst
|
||||||
|
run: cp -rp packaging/templates/package_scripts/preinst packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-amd64/DEBIAN/preinst
|
||||||
|
- name: Copying Postinstall script
|
||||||
|
run: cp -rp packaging/templates/package_scripts/postinst.profile packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-amd64/DEBIAN/postinst
|
||||||
|
- name: Copying the prerm
|
||||||
|
run: cp -rp packaging/templates/package_scripts/prerm packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-amd64/DEBIAN/prerm
|
||||||
|
- name: Copying the postrm
|
||||||
|
run: cp -rp packaging/templates/package_scripts/postrm packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-amd64/DEBIAN/postrm
|
||||||
|
- name: Copying config.toml for validator for bor
|
||||||
|
run: cp -rp packaging/templates/mainnet-v1/sentry/validator/bor/config.toml packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-amd64/var/lib/bor/
|
||||||
|
- name: Copying profile control file
|
||||||
|
run: cp -rp packaging/templates/package_scripts/control.profile.amd64 packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-amd64/DEBIAN/control
|
||||||
|
- name: Building bor validator on amd64
|
||||||
|
run: dpkg-deb --build --root-owner-group packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-amd64
|
||||||
|
|
||||||
|
- name: Creating mumbai archive node profile for amd64
|
||||||
|
run: cp -rp packaging/deb/bor packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-amd64
|
||||||
|
- name: Copying profile control file
|
||||||
|
run: cp -rp packaging/templates/package_scripts/control.profile.amd64 packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-amd64/DEBIAN/control
|
||||||
|
- name: Copying profile preinst file
|
||||||
|
run: cp -rp packaging/templates/package_scripts/preinst packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-amd64/DEBIAN/preinst
|
||||||
|
- name: Copying the profile postinst
|
||||||
|
run: cp -rp packaging/templates/package_scripts/postinst.profile packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-amd64/DEBIAN/postinst
|
||||||
|
- name: Copying profile prerm file
|
||||||
|
run: cp -rp packaging/templates/package_scripts/prerm packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-amd64/DEBIAN/prerm
|
||||||
|
- name: Copying profile postrm file
|
||||||
|
run: cp -rp packaging/templates/package_scripts/postrm packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-amd64/DEBIAN/postrm
|
||||||
|
- name: Copying the toml
|
||||||
|
run: cp -rp packaging/templates/testnet-v4/archive/config.toml packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-amd64/var/lib/bor/
|
||||||
|
- name: Building profile package
|
||||||
|
run: dpkg-deb --build --root-owner-group packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-amd64
|
||||||
|
|
||||||
|
- name: Creating mainnet archive node profile for amd64
|
||||||
|
run: cp -rp packaging/deb/bor packaging/deb/bor-mainnet-archive-config_v0.3.0-beta-amd64
|
||||||
|
- name: Copying profile control file
|
||||||
|
run: cp -rp packaging/templates/package_scripts/control.profile.amd64 packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-amd64/DEBIAN/control
|
||||||
|
- name: Copying profile preinst file
|
||||||
|
run: cp -rp packaging/templates/package_scripts/preinst packaging/deb/bor-mainnet-archive-config_v0.3.0-beta-amd64/DEBIAN/preinst
|
||||||
|
- name: Copying the profile postinst
|
||||||
|
run: cp -rp packaging/templates/package_scripts/postinst.profile packaging/deb/bor-mainnet-archive-config_v0.3.0-beta-amd64/DEBIAN/postinst
|
||||||
|
- name: Copying profile prerm file
|
||||||
|
run: cp -rp packaging/templates/package_scripts/prerm packaging/deb/bor-mainnet-archive-config_v0.3.0-beta-amd64/DEBIAN/prerm
|
||||||
|
- name: Copying profile postrm file
|
||||||
|
run: cp -rp packaging/templates/package_scripts/postrm packaging/deb/bor-mainnet-archive-config_v0.3.0-beta-amd64/DEBIAN/postrm
|
||||||
|
- name: Copying the toml
|
||||||
|
run: cp -rp packaging/templates/mainnet-v1/archive/config.toml packaging/deb/bor-mainnet-archive-config_v0.3.0-beta-amd64/var/lib/bor/
|
||||||
|
- name: Building porfile package
|
||||||
|
run: dpkg-deb --build --root-owner-group packaging/deb/bor-mainnet-archive-config_v0.3.0-beta-amd64
|
||||||
|
|
||||||
|
- name: Cleaning build directory for arm64 build
|
||||||
|
run: make clean
|
||||||
|
|
||||||
|
- name: Removing systemd file
|
||||||
|
run: rm -rf packaging/deb/bor/lib/systemd/system/bor.service
|
||||||
|
|
||||||
|
- name: Adding requirements for cross compile
|
||||||
|
run: sudo apt-get install g++-aarch64-linux-gnu gcc-aarch64-linux-gnu
|
||||||
|
|
||||||
|
- name: removing systemd file for binary
|
||||||
|
run: rm -rf lib/systemd/system/bor.service
|
||||||
|
|
||||||
|
- name: Building bor for arm64
|
||||||
|
run: GOARCH=arm64 GOOS=linux CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ CGO_ENABLED=1 go build -o build/bin/bor ./cmd/cli/main.go
|
||||||
|
|
||||||
|
- name: Copying bor arm64 for use with packaging
|
||||||
|
run: cp -rp build/bin/bor packaging/deb/bor/usr/bin/
|
||||||
|
|
||||||
|
- name: Creating package for binary only bor
|
||||||
|
run: cp -rp packaging/deb/bor packaging/deb/bor-v0.3.0-beta-arm64
|
||||||
|
- name: Copying control file
|
||||||
|
run: cp -rp packaging/templates/package_scripts/control.arm64 packaging/deb/bor-v0.3.0-beta-arm64/DEBIAN/control
|
||||||
|
- name: Running package build
|
||||||
|
run: dpkg-deb --build --root-owner-group packaging/deb/bor-v0.3.0-beta-arm64
|
||||||
|
|
||||||
|
- name: Removing the bor binary
|
||||||
|
run: rm -rf packaging/deb/bor/usr/bin/bor
|
||||||
|
|
||||||
|
- name: Copying systemd file
|
||||||
|
run: cp -rp packaging/templates/systemd/bor.service packaging/deb/bor/lib/systemd/system/bor.service
|
||||||
|
|
||||||
|
- name: Updating the control file to use with the arm64 profile
|
||||||
|
run: cp -rp packaging/templates/package_scripts/control.profile.arm64 packaging/deb/bor/DEBIAN/control
|
||||||
|
|
||||||
|
- name: Setting up Mumbai Sentry Config for arm64
|
||||||
|
run: cp -rp packaging/deb/bor packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-arm64
|
||||||
|
- name: Copying control file
|
||||||
|
run: cp -rp packaging/templates/package_scripts/control.arm64 packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-arm64/DEBIAN/control
|
||||||
|
- name: Putting toml
|
||||||
|
run: cp -rp packaging/templates/testnet-v4/sentry/sentry/bor/config.toml packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-arm64/var/lib/bor/
|
||||||
|
- name: Copying the preinst
|
||||||
|
run: cp -rp packaging/templates/package_scripts/preinst packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-arm64/DEBIAN/preinst
|
||||||
|
- name: Copying the prerm
|
||||||
|
run: cp -rp packaging/templates/package_scripts/prerm packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-arm64/DEBIAN/prerm
|
||||||
|
- name: Copying the postrm
|
||||||
|
run: cp -rp packaging/templates/package_scripts/postrm packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-arm64/DEBIAN/postrm
|
||||||
|
- name: Copying the postinst
|
||||||
|
run: cp -rp packaging/templates/package_scripts/postinst.profile packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-arm64/DEBIAN/postinst
|
||||||
|
- name: Copying profile control file
|
||||||
|
run: cp -rp packaging/templates/package_scripts/control.profile.arm64 packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-arm64/DEBIAN/control
|
||||||
|
- name: Building Sentry for arm64
|
||||||
|
run: dpkg-deb --build --root-owner-group packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-arm64
|
||||||
|
|
||||||
|
- name: Setting up Mainnet Sentry Config for arm64
|
||||||
|
run: cp -rp packaging/deb/bor packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-arm64
|
||||||
|
- name: Copying control file
|
||||||
|
run: cp -rp packaging/templates/package_scripts/control.arm64 packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-arm64/DEBIAN/control
|
||||||
|
- name: Putting toml
|
||||||
|
run: cp -rp packaging/templates/mainnet-v1/sentry/sentry/bor/config.toml packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-arm64/var/lib/bor/
|
||||||
|
- name: Copying the preinst
|
||||||
|
run: cp -rp packaging/templates/package_scripts/preinst packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-arm64/DEBIAN/preinst
|
||||||
|
- name: Copying the prerm
|
||||||
|
run: cp -rp packaging/templates/package_scripts/prerm packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-arm64/DEBIAN/prerm
|
||||||
|
- name: Copying the postrm
|
||||||
|
run: cp -rp packaging/templates/package_scripts/postrm packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-arm64/DEBIAN/postrm
|
||||||
|
- name: Copying the postinst
|
||||||
|
run: cp -rp packaging/templates/package_scripts/postinst.profile packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-arm64/DEBIAN/postinst
|
||||||
|
- name: Copying profile control file
|
||||||
|
run: cp -rp packaging/templates/package_scripts/control.profile.arm64 packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-arm64/DEBIAN/control
|
||||||
|
- name: Building Sentry for arm64
|
||||||
|
run: dpkg-deb --build --root-owner-group packaging/deb/bor-mainnet-sentry-config_v0.3.0-beta-arm64
|
||||||
|
|
||||||
|
- name: Prepping Bor Mumbai Validator for arm64
|
||||||
|
run: cp -rp packaging/deb/bor packaging/deb/bor-mumbai-validator-config_v0.3.0-beta-arm64
|
||||||
|
- name: Copying control file for validator on arm64
|
||||||
|
run: cp -rp packaging/templates/package_scripts/control.validator.arm64 packaging/deb/bor-mumbai-validator-config_v0.3.0-beta-arm64/DEBIAN/control
|
||||||
|
- name: Copying the preinst
|
||||||
|
run: cp -rp packaging/templates/package_scripts/preinst packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-arm64/DEBIAN/preinst
|
||||||
|
- name: Copying Postinstall script
|
||||||
|
run: cp -rp packaging/templates/package_scripts/postinst.profile packaging/deb/bor-mumbai-validator-config_v0.3.0-beta-arm64/DEBIAN/postinst
|
||||||
|
- name: Copying the prerm
|
||||||
|
run: cp -rp packaging/templates/package_scripts/prerm packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-arm64/DEBIAN/prerm
|
||||||
|
- name: Copying the postrm
|
||||||
|
run: cp -rp packaging/templates/package_scripts/postrm packaging/deb/bor-mumbai-sentry-config_v0.3.0-beta-arm64/DEBIAN/postrm
|
||||||
|
- name: Copying config.toml for validator for bor
|
||||||
|
run: cp -rp packaging/templates/testnet-v4/sentry/validator/bor/config.toml packaging/deb/bor-mumbai-validator-config_v0.3.0-beta-arm64/var/lib/bor/
|
||||||
|
- name: Copying profile control file
|
||||||
|
run: cp -rp packaging/templates/package_scripts/control.profile.arm64 packaging/deb/bor-mumbai-validator-config_v0.3.0-beta-arm64/DEBIAN/control
|
||||||
|
- name: Building bor validator on arm64
|
||||||
|
run: dpkg-deb --build --root-owner-group packaging/deb/bor-mumbai-validator-config_v0.3.0-beta-arm64
|
||||||
|
|
||||||
|
- name: Prepping Bor Mainnet Validator for arm64
|
||||||
|
run: cp -rp packaging/deb/bor packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-arm64
|
||||||
|
- name: Copying control file for validator on arm64
|
||||||
|
run: cp -rp packaging/templates/package_scripts/control.validator.arm64 packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-arm64/DEBIAN/control
|
||||||
|
- name: Copying the preinst
|
||||||
|
run: cp -rp packaging/templates/package_scripts/preinst packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-arm64/DEBIAN/preinst
|
||||||
|
- name: Copying Postinstall script
|
||||||
|
run: cp -rp packaging/templates/package_scripts/postinst.profile packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-arm64/DEBIAN/postinst
|
||||||
|
- name: Copying the prerm
|
||||||
|
run: cp -rp packaging/templates/package_scripts/prerm packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-arm64/DEBIAN/prerm
|
||||||
|
- name: Copying the postrm
|
||||||
|
run: cp -rp packaging/templates/package_scripts/postrm packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-arm64/DEBIAN/postrm
|
||||||
|
- name: Copying config.toml for validator for bor
|
||||||
|
run: cp -rp packaging/templates/mainnet-v1/sentry/validator/bor/config.toml packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-arm64/var/lib/bor/
|
||||||
|
- name: Copying profile control file
|
||||||
|
run: cp -rp packaging/templates/package_scripts/control.profile.arm64 packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-arm64/DEBIAN/control
|
||||||
|
- name: Building bor validator on arm64
|
||||||
|
run: dpkg-deb --build --root-owner-group packaging/deb/bor-mainnet-validator-config_v0.3.0-beta-arm64
|
||||||
|
|
||||||
|
- name: Updating the control file to use with the arm64 profile
|
||||||
|
run: cp -rp packaging/templates/package_scripts/control.profile.arm64 packaging/deb/bor/DEBIAN/control
|
||||||
|
|
||||||
|
- name: Creating mumbai archive node profile for arm64
|
||||||
|
run: cp -rp packaging/deb/bor packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-arm64
|
||||||
|
- name: Copying profile control file
|
||||||
|
run: cp -rp packaging/templates/package_scripts/control.profile.arm64 packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-arm64/DEBIAN/control
|
||||||
|
- name: Copying over profile postinst
|
||||||
|
run: cp -rp packaging/templates/package_scripts/postinst.profile packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-arm64/DEBIAN/postinst
|
||||||
|
- name: Copying prerm
|
||||||
|
run: cp -rp packaging/templates/package_scripts/prerm packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-arm64/DEBIAN/prerm
|
||||||
|
- name: Copying postrm
|
||||||
|
run: cp -rp packaging/templates/package_scripts/postrm packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-arm64/DEBIAN/postrm
|
||||||
|
- name: Copying the toml
|
||||||
|
run: cp -rp packaging/templates/testnet-v4/archive/config.toml packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-arm64/var/lib/bor/
|
||||||
|
- name: Building profile package
|
||||||
|
run: dpkg-deb --build --root-owner-group packaging/deb/bor-mumbai-archive-config_v0.3.0-beta-arm64
|
||||||
|
|
||||||
|
- name: Creating mainnet archive node profile for arm64
|
||||||
|
run: cp -rp packaging/deb/bor packaging/deb/bor-mainnet-archive-config_v0.3.0-beta-arm64
|
||||||
|
- name: Copying profile control file
|
||||||
|
run: cp -rp packaging/templates/package_scripts/control.profile.arm64 packaging/deb/bor-mainnet-archive-config_v0.3.0-beta-arm64/DEBIAN/control
|
||||||
|
- name: Copying over profile postinst
|
||||||
|
run: cp -rp packaging/templates/package_scripts/postinst.profile packaging/deb/bor-mainnet-archive-config_v0.3.0-beta-arm64/DEBIAN/postinst
|
||||||
|
- name: Copying prerm
|
||||||
|
run: cp -rp packaging/templates/package_scripts/prerm packaging/deb/bor-mainnet-archive-config_v0.3.0-beta-arm64/DEBIAN/prerm
|
||||||
|
- name: Copying postrm
|
||||||
|
run: cp -rp packaging/templates/package_scripts/postrm packaging/deb/bor-mainnet-archive-config_v0.3.0-beta-arm64/DEBIAN/postrm
|
||||||
|
- name: Copying the toml
|
||||||
|
run: cp -rp packaging/templates/mainnet-v1/archive/config.toml packaging/deb/bor-mainnet-archive-config_v0.3.0-beta-arm64/var/lib/bor/
|
||||||
|
- name: Building porfile package
|
||||||
|
run: dpkg-deb --build --root-owner-group packaging/deb/bor-mainnet-archive-config_v0.3.0-beta-arm64
|
||||||
|
|
||||||
|
- name: Confirming package built
|
||||||
|
run: ls -ltr packaging/deb/ | grep bor
|
||||||
|
|
||||||
|
- name: Pre-Release bor Packages
|
||||||
|
uses: softprops/action-gh-release@v1
|
||||||
|
with:
|
||||||
|
tag_name: ${{ env.GIT_TAG }}
|
||||||
|
prerelease: true
|
||||||
|
files: |
|
||||||
|
packaging/deb/bor**.deb
|
||||||
|
binary/bo**
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
project_name: bor
|
project_name: bor
|
||||||
|
|
||||||
release:
|
release:
|
||||||
disable: false
|
disable: true
|
||||||
draft: true
|
draft: true
|
||||||
prerelease: auto
|
prerelease: auto
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,17 +1,17 @@
|
||||||
FROM golang:latest
|
FROM golang:latest
|
||||||
|
|
||||||
ARG BOR_DIR=/bor
|
ARG BOR_DIR=/var/lib/bor
|
||||||
ENV BOR_DIR=$BOR_DIR
|
ENV BOR_DIR=$BOR_DIR
|
||||||
|
|
||||||
RUN apt-get update -y && apt-get upgrade -y \
|
RUN apt-get update -y && apt-get upgrade -y \
|
||||||
&& apt install build-essential git -y \
|
&& apt install build-essential git -y \
|
||||||
&& mkdir -p /bor
|
&& mkdir -p ${BOR_DIR}
|
||||||
|
|
||||||
WORKDIR ${BOR_DIR}
|
WORKDIR ${BOR_DIR}
|
||||||
COPY . .
|
COPY . .
|
||||||
RUN make bor
|
RUN make bor
|
||||||
|
|
||||||
RUN cp build/bin/bor /usr/local/bin/
|
RUN cp build/bin/bor /usr/bin/
|
||||||
|
|
||||||
ENV SHELL /bin/bash
|
ENV SHELL /bin/bash
|
||||||
EXPOSE 8545 8546 8547 30303 30303/udp
|
EXPOSE 8545 8546 8547 30303 30303/udp
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,6 @@ RUN set -x \
|
||||||
&& apk add --update --no-cache \
|
&& apk add --update --no-cache \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
&& rm -rf /var/cache/apk/*
|
&& rm -rf /var/cache/apk/*
|
||||||
COPY --from=builder /bor/build/bin/* /usr/local/bin/
|
COPY --from=builder /bor/build/bin/* /usr/bin/
|
||||||
|
|
||||||
EXPOSE 8545 8546 30303 30303/udp
|
EXPOSE 8545 8546 30303 30303/udp
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,15 @@
|
||||||
FROM alpine:3.14
|
FROM alpine:3.14
|
||||||
|
|
||||||
|
ARG BOR_DIR=/var/lib/bor
|
||||||
|
ENV BOR_DIR=$BOR_DIR
|
||||||
|
|
||||||
RUN apk add --no-cache ca-certificates && \
|
RUN apk add --no-cache ca-certificates && \
|
||||||
mkdir -p /etc/bor
|
mkdir -p ${BOR_DIR}
|
||||||
COPY bor /usr/local/bin/
|
|
||||||
COPY builder/files/genesis-mainnet-v1.json /etc/bor/
|
WORKDIR ${BOR_DIR}
|
||||||
COPY builder/files/genesis-testnet-v4.json /etc/bor/
|
COPY bor /usr/bin/
|
||||||
|
COPY builder/files/genesis-mainnet-v1.json ${BOR_DIR}
|
||||||
|
COPY builder/files/genesis-testnet-v4.json ${BOR_DIR}
|
||||||
|
|
||||||
EXPOSE 8545 8546 8547 30303 30303/udp
|
EXPOSE 8545 8546 8547 30303 30303/udp
|
||||||
ENTRYPOINT ["bor"]
|
ENTRYPOINT ["bor"]
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
[Service]
|
[Service]
|
||||||
Restart=on-failure
|
Restart=on-failure
|
||||||
RestartSec=5s
|
RestartSec=5s
|
||||||
ExecStart=/usr/local/bin/bor server -config="/var/lib/bor/config.toml"
|
ExecStart=/usr/local/bin/bor server -config "/var/lib/bor/config.toml"
|
||||||
Type=simple
|
Type=simple
|
||||||
User=bor
|
User=bor
|
||||||
KillSignal=SIGINT
|
KillSignal=SIGINT
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,7 @@ syncmode = "full"
|
||||||
# pricebump = 10
|
# pricebump = 10
|
||||||
|
|
||||||
[miner]
|
[miner]
|
||||||
gaslimit = 20000000
|
gaslimit = 30000000
|
||||||
gasprice = "30000000000"
|
gasprice = "30000000000"
|
||||||
# mine = true
|
# mine = true
|
||||||
# etherbase = "VALIDATOR ADDRESS"
|
# etherbase = "VALIDATOR ADDRESS"
|
||||||
|
|
@ -87,11 +87,11 @@ syncmode = "full"
|
||||||
# vhosts = ["*"]
|
# vhosts = ["*"]
|
||||||
# corsdomain = ["*"]
|
# corsdomain = ["*"]
|
||||||
|
|
||||||
# [gpo]
|
[gpo]
|
||||||
# blocks = 20
|
# blocks = 20
|
||||||
# percentile = 60
|
# percentile = 60
|
||||||
# maxprice = "5000000000000"
|
# maxprice = "5000000000000"
|
||||||
# ignoreprice = "2"
|
ignoreprice = "30000000000"
|
||||||
|
|
||||||
[telemetry]
|
[telemetry]
|
||||||
metrics = true
|
metrics = true
|
||||||
|
|
|
||||||
|
|
@ -435,7 +435,11 @@ func DefaultConfig() *Config {
|
||||||
NoLocals: false,
|
NoLocals: false,
|
||||||
Journal: "transactions.rlp",
|
Journal: "transactions.rlp",
|
||||||
Rejournal: 1 * time.Hour,
|
Rejournal: 1 * time.Hour,
|
||||||
|
<<<<<<< HEAD
|
||||||
PriceLimit: 1,
|
PriceLimit: 1,
|
||||||
|
=======
|
||||||
|
PriceLimit: 1, // geth's default
|
||||||
|
>>>>>>> 3e7160997a79c890b1f271b2e1c03a0c2eeeb303
|
||||||
PriceBump: 10,
|
PriceBump: 10,
|
||||||
AccountSlots: 16,
|
AccountSlots: 16,
|
||||||
GlobalSlots: 32768,
|
GlobalSlots: 32768,
|
||||||
|
|
@ -446,8 +450,8 @@ func DefaultConfig() *Config {
|
||||||
Sealer: &SealerConfig{
|
Sealer: &SealerConfig{
|
||||||
Enabled: false,
|
Enabled: false,
|
||||||
Etherbase: "",
|
Etherbase: "",
|
||||||
GasCeil: 30_000_000,
|
GasCeil: 30_000_000, // geth's default
|
||||||
GasPrice: big.NewInt(1 * params.GWei),
|
GasPrice: big.NewInt(1 * params.GWei), // geth's default
|
||||||
ExtraData: "",
|
ExtraData: "",
|
||||||
},
|
},
|
||||||
Gpo: &GpoConfig{
|
Gpo: &GpoConfig{
|
||||||
|
|
@ -504,7 +508,7 @@ func DefaultConfig() *Config {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Cache: &CacheConfig{
|
Cache: &CacheConfig{
|
||||||
Cache: 1024,
|
Cache: 1024, // geth's default (suitable for mumbai)
|
||||||
PercDatabase: 50,
|
PercDatabase: 50,
|
||||||
PercTrie: 15,
|
PercTrie: 15,
|
||||||
PercGc: 25,
|
PercGc: 25,
|
||||||
|
|
@ -634,13 +638,6 @@ func (c *Config) loadChain() error {
|
||||||
c.P2P.Discovery.DNS = c.chain.DNS
|
c.P2P.Discovery.DNS = c.chain.DNS
|
||||||
}
|
}
|
||||||
|
|
||||||
// depending on the chain we have different cache values
|
|
||||||
if c.Chain == "mainnet" {
|
|
||||||
c.Cache.Cache = 4096
|
|
||||||
} else {
|
|
||||||
c.Cache.Cache = 1024
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -259,7 +259,13 @@ func (s *Server) Stop() {
|
||||||
func (s *Server) setupMetrics(config *TelemetryConfig, serviceName string) error {
|
func (s *Server) setupMetrics(config *TelemetryConfig, serviceName string) error {
|
||||||
// Check the global metrics if they're matching with the provided config
|
// Check the global metrics if they're matching with the provided config
|
||||||
if metrics.Enabled != config.Enabled || metrics.EnabledExpensive != config.Expensive {
|
if metrics.Enabled != config.Enabled || metrics.EnabledExpensive != config.Expensive {
|
||||||
log.Warn("Metric misconfiguration, some of them might not be visible")
|
log.Warn(
|
||||||
|
"Metric misconfiguration, some of them might not be visible",
|
||||||
|
"metrics", metrics.Enabled,
|
||||||
|
"config.metrics", config.Enabled,
|
||||||
|
"expensive", metrics.EnabledExpensive,
|
||||||
|
"config.expensive", config.Expensive,
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update the values anyways (for services which don't need immediate attention)
|
// Update the values anyways (for services which don't need immediate attention)
|
||||||
|
|
|
||||||
|
|
@ -49,6 +49,9 @@ func init() {
|
||||||
// check for existence of `config` flag
|
// check for existence of `config` flag
|
||||||
if flag == configFlag && i < len(os.Args)-1 {
|
if flag == configFlag && i < len(os.Args)-1 {
|
||||||
configFile = strings.TrimLeft(os.Args[i+1], "-") // find the value of flag
|
configFile = strings.TrimLeft(os.Args[i+1], "-") // find the value of flag
|
||||||
|
} else if len(flag) > 6 && flag[:6] == configFlag {
|
||||||
|
// Checks for `=` separated flag (e.g. config=path)
|
||||||
|
configFile = strings.TrimLeft(flag[6:], "=")
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, enabler := range enablerFlags {
|
for _, enabler := range enablerFlags {
|
||||||
|
|
@ -90,7 +93,8 @@ func updateMetricsFromConfig(path string) {
|
||||||
|
|
||||||
conf := &CliConfig{}
|
conf := &CliConfig{}
|
||||||
|
|
||||||
if _, err := toml.Decode(tomlData, &conf); err != nil || conf == nil {
|
_, err = toml.Decode(tomlData, &conf)
|
||||||
|
if err != nil || conf == nil || conf.Telemetry == nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
23
packaging/deb/README.md
Normal file
23
packaging/deb/README.md
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
# Debian
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
For debian packages you will need to add the following layouts during the build
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
bor/
|
||||||
|
DEBIAN/control
|
||||||
|
DEBIAN/postinst
|
||||||
|
usr/local/bin/bor
|
||||||
|
lib/systemd/system/bor.service
|
||||||
|
|
||||||
|
This will be wrapped during the build package process building
|
||||||
|
|
||||||
|
|
||||||
|
Note this is still a work in progress:
|
||||||
|
|
||||||
|
TODO: removal/purge on removal using dpkg
|
||||||
|
cleanup of control files to list what we want
|
||||||
|
copyright inclusuion
|
||||||
|
|
||||||
0
packaging/deb/bor/DEBIAN/changelog
Normal file
0
packaging/deb/bor/DEBIAN/changelog
Normal file
0
packaging/deb/bor/DEBIAN/control
Normal file
0
packaging/deb/bor/DEBIAN/control
Normal file
4
packaging/deb/bor/DEBIAN/postinst
Executable file
4
packaging/deb/bor/DEBIAN/postinst
Executable file
|
|
@ -0,0 +1,4 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# This is a postinstallation script so the service can be configured and started when requested
|
||||||
|
#
|
||||||
|
sudo adduser --disabled-password --disabled-login --shell /usr/sbin/nologin --quiet --system --no-create-home --home /nonexistent bor
|
||||||
6
packaging/deb/bor/DEBIAN/postrm
Executable file
6
packaging/deb/bor/DEBIAN/postrm
Executable file
|
|
@ -0,0 +1,6 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
###############
|
||||||
|
# Remove bor installs
|
||||||
|
##############
|
||||||
|
sudo rm -rf /usr/bin/bor
|
||||||
9
packaging/deb/bor/DEBIAN/prerm
Executable file
9
packaging/deb/bor/DEBIAN/prerm
Executable file
|
|
@ -0,0 +1,9 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
#
|
||||||
|
##############
|
||||||
|
# Stop bor before removal
|
||||||
|
##############
|
||||||
|
#sudo systemctl stop bor.service
|
||||||
|
#############
|
||||||
|
|
||||||
1
packaging/requirements/README.md
Normal file
1
packaging/requirements/README.md
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
placeholder
|
||||||
0
packaging/rpm/TODO
Normal file
0
packaging/rpm/TODO
Normal file
129
packaging/templates/mainnet-v1/archive/config.toml
Normal file
129
packaging/templates/mainnet-v1/archive/config.toml
Normal file
|
|
@ -0,0 +1,129 @@
|
||||||
|
chain = "mainnet"
|
||||||
|
# identity = "node_name"
|
||||||
|
# log-level = "INFO"
|
||||||
|
datadir = "/var/lib/bor/data"
|
||||||
|
# keystore = ""
|
||||||
|
syncmode = "full"
|
||||||
|
gcmode = "archive"
|
||||||
|
# snapshot = true
|
||||||
|
# ethstats = ""
|
||||||
|
|
||||||
|
# ["eth.requiredblocks"]
|
||||||
|
|
||||||
|
[p2p]
|
||||||
|
maxpeers = 50
|
||||||
|
port = 30303
|
||||||
|
# maxpendpeers = 50
|
||||||
|
# bind = "0.0.0.0"
|
||||||
|
# nodiscover = false
|
||||||
|
# nat = "any"
|
||||||
|
# [p2p.discovery]
|
||||||
|
# v5disc = false
|
||||||
|
# bootnodes = []
|
||||||
|
# bootnodesv4 = []
|
||||||
|
# bootnodesv5 = []
|
||||||
|
# static-nodes = []
|
||||||
|
# trusted-nodes = []
|
||||||
|
# dns = []
|
||||||
|
|
||||||
|
# [heimdall]
|
||||||
|
# url = "http://localhost:1317"
|
||||||
|
# "bor.without" = false
|
||||||
|
# grpc-address = ""
|
||||||
|
|
||||||
|
[txpool]
|
||||||
|
nolocals = true
|
||||||
|
pricelimit = 30000000000
|
||||||
|
accountslots = 16
|
||||||
|
globalslots = 32768
|
||||||
|
accountqueue = 16
|
||||||
|
globalqueue = 32768
|
||||||
|
lifetime = "1h30m0s"
|
||||||
|
# locals = []
|
||||||
|
# journal = ""
|
||||||
|
# rejournal = "1h0m0s"
|
||||||
|
# pricebump = 10
|
||||||
|
|
||||||
|
[miner]
|
||||||
|
gaslimit = 30000000
|
||||||
|
gasprice = "30000000000"
|
||||||
|
# mine = false
|
||||||
|
# etherbase = ""
|
||||||
|
# extradata = ""
|
||||||
|
|
||||||
|
[jsonrpc]
|
||||||
|
ipcpath = "/var/lib/bor/bor.ipc"
|
||||||
|
# ipcdisable = false
|
||||||
|
# gascap = 50000000
|
||||||
|
# txfeecap = 5.0
|
||||||
|
[jsonrpc.http]
|
||||||
|
enabled = true
|
||||||
|
port = 8545
|
||||||
|
host = "127.0.0.1"
|
||||||
|
api = ["eth", "net", "web3", "txpool", "bor"]
|
||||||
|
vhosts = ["*"]
|
||||||
|
corsdomain = ["*"]
|
||||||
|
# prefix = ""
|
||||||
|
[jsonrpc.ws]
|
||||||
|
enabled = true
|
||||||
|
port = 8546
|
||||||
|
# prefix = ""
|
||||||
|
# host = "localhost"
|
||||||
|
# api = ["web3", "net"]
|
||||||
|
origins = ["*"]
|
||||||
|
# [jsonrpc.graphql]
|
||||||
|
# enabled = false
|
||||||
|
# port = 0
|
||||||
|
# prefix = ""
|
||||||
|
# host = ""
|
||||||
|
# vhosts = ["*"]
|
||||||
|
# corsdomain = ["*"]
|
||||||
|
|
||||||
|
[gpo]
|
||||||
|
# blocks = 20
|
||||||
|
# percentile = 60
|
||||||
|
# maxprice = "5000000000000"
|
||||||
|
ignoreprice = "30000000000"
|
||||||
|
|
||||||
|
[telemetry]
|
||||||
|
metrics = true
|
||||||
|
# expensive = false
|
||||||
|
# prometheus-addr = ""
|
||||||
|
# opencollector-endpoint = ""
|
||||||
|
# [telemetry.influx]
|
||||||
|
# influxdb = false
|
||||||
|
# endpoint = ""
|
||||||
|
# database = ""
|
||||||
|
# username = ""
|
||||||
|
# password = ""
|
||||||
|
# influxdbv2 = false
|
||||||
|
# token = ""
|
||||||
|
# bucket = ""
|
||||||
|
# organization = ""
|
||||||
|
# [telemetry.influx.tags]
|
||||||
|
|
||||||
|
[cache]
|
||||||
|
cache = 4096
|
||||||
|
# gc = 25
|
||||||
|
# snapshot = 10
|
||||||
|
# database = 50
|
||||||
|
# trie = 15
|
||||||
|
# journal = "triecache"
|
||||||
|
# rejournal = "1h0m0s"
|
||||||
|
# noprefetch = false
|
||||||
|
# preimages = false
|
||||||
|
# txlookuplimit = 2350000
|
||||||
|
|
||||||
|
# [accounts]
|
||||||
|
# unlock = []
|
||||||
|
# password = ""
|
||||||
|
# allow-insecure-unlock = false
|
||||||
|
# lightkdf = false
|
||||||
|
# disable-bor-wallet = false
|
||||||
|
|
||||||
|
# [grpc]
|
||||||
|
# addr = ":3131"
|
||||||
|
|
||||||
|
# [developer]
|
||||||
|
# dev = false
|
||||||
|
# period = 0
|
||||||
129
packaging/templates/mainnet-v1/sentry/sentry/bor/config.toml
Normal file
129
packaging/templates/mainnet-v1/sentry/sentry/bor/config.toml
Normal file
|
|
@ -0,0 +1,129 @@
|
||||||
|
chain = "mainnet"
|
||||||
|
# identity = "node_name"
|
||||||
|
# log-level = "INFO"
|
||||||
|
datadir = "/var/lib/bor/data"
|
||||||
|
# keystore = ""
|
||||||
|
syncmode = "full"
|
||||||
|
# gcmode = "full"
|
||||||
|
# snapshot = true
|
||||||
|
# ethstats = ""
|
||||||
|
|
||||||
|
# ["eth.requiredblocks"]
|
||||||
|
|
||||||
|
[p2p]
|
||||||
|
maxpeers = 50
|
||||||
|
port = 30303
|
||||||
|
# maxpendpeers = 50
|
||||||
|
# bind = "0.0.0.0"
|
||||||
|
# nodiscover = false
|
||||||
|
# nat = "any"
|
||||||
|
# [p2p.discovery]
|
||||||
|
# v5disc = false
|
||||||
|
# bootnodes = []
|
||||||
|
# bootnodesv4 = []
|
||||||
|
# bootnodesv5 = []
|
||||||
|
# static-nodes = []
|
||||||
|
# trusted-nodes = []
|
||||||
|
# dns = []
|
||||||
|
|
||||||
|
# [heimdall]
|
||||||
|
# url = "http://localhost:1317"
|
||||||
|
# "bor.without" = false
|
||||||
|
# grpc-address = ""
|
||||||
|
|
||||||
|
[txpool]
|
||||||
|
nolocals = true
|
||||||
|
pricelimit = 30000000000
|
||||||
|
accountslots = 16
|
||||||
|
globalslots = 32768
|
||||||
|
accountqueue = 16
|
||||||
|
globalqueue = 32768
|
||||||
|
lifetime = "1h30m0s"
|
||||||
|
# locals = []
|
||||||
|
# journal = ""
|
||||||
|
# rejournal = "1h0m0s"
|
||||||
|
# pricebump = 10
|
||||||
|
|
||||||
|
[miner]
|
||||||
|
gaslimit = 30000000
|
||||||
|
gasprice = "30000000000"
|
||||||
|
# mine = false
|
||||||
|
# etherbase = ""
|
||||||
|
# extradata = ""
|
||||||
|
|
||||||
|
[jsonrpc]
|
||||||
|
ipcpath = "/var/lib/bor/bor.ipc"
|
||||||
|
# ipcdisable = false
|
||||||
|
# gascap = 50000000
|
||||||
|
# txfeecap = 5.0
|
||||||
|
[jsonrpc.http]
|
||||||
|
enabled = true
|
||||||
|
port = 8545
|
||||||
|
host = "127.0.0.1"
|
||||||
|
api = ["eth", "net", "web3", "txpool", "bor"]
|
||||||
|
vhosts = ["*"]
|
||||||
|
corsdomain = ["*"]
|
||||||
|
# prefix = ""
|
||||||
|
# [jsonrpc.ws]
|
||||||
|
# enabled = false
|
||||||
|
# port = 8546
|
||||||
|
# prefix = ""
|
||||||
|
# host = "localhost"
|
||||||
|
# api = ["web3", "net"]
|
||||||
|
# origins = ["*"]
|
||||||
|
# [jsonrpc.graphql]
|
||||||
|
# enabled = false
|
||||||
|
# port = 0
|
||||||
|
# prefix = ""
|
||||||
|
# host = ""
|
||||||
|
# vhosts = ["*"]
|
||||||
|
# corsdomain = ["*"]
|
||||||
|
|
||||||
|
[gpo]
|
||||||
|
# blocks = 20
|
||||||
|
# percentile = 60
|
||||||
|
# maxprice = "5000000000000"
|
||||||
|
ignoreprice = "30000000000"
|
||||||
|
|
||||||
|
[telemetry]
|
||||||
|
metrics = true
|
||||||
|
# expensive = false
|
||||||
|
# prometheus-addr = ""
|
||||||
|
# opencollector-endpoint = ""
|
||||||
|
# [telemetry.influx]
|
||||||
|
# influxdb = false
|
||||||
|
# endpoint = ""
|
||||||
|
# database = ""
|
||||||
|
# username = ""
|
||||||
|
# password = ""
|
||||||
|
# influxdbv2 = false
|
||||||
|
# token = ""
|
||||||
|
# bucket = ""
|
||||||
|
# organization = ""
|
||||||
|
# [telemetry.influx.tags]
|
||||||
|
|
||||||
|
[cache]
|
||||||
|
cache = 4096
|
||||||
|
# gc = 25
|
||||||
|
# snapshot = 10
|
||||||
|
# database = 50
|
||||||
|
# trie = 15
|
||||||
|
# journal = "triecache"
|
||||||
|
# rejournal = "1h0m0s"
|
||||||
|
# noprefetch = false
|
||||||
|
# preimages = false
|
||||||
|
# txlookuplimit = 2350000
|
||||||
|
|
||||||
|
# [accounts]
|
||||||
|
# unlock = []
|
||||||
|
# password = ""
|
||||||
|
# allow-insecure-unlock = false
|
||||||
|
# lightkdf = false
|
||||||
|
# disable-bor-wallet = false
|
||||||
|
|
||||||
|
# [grpc]
|
||||||
|
# addr = ":3131"
|
||||||
|
|
||||||
|
# [developer]
|
||||||
|
# dev = false
|
||||||
|
# period = 0
|
||||||
131
packaging/templates/mainnet-v1/sentry/validator/bor/config.toml
Normal file
131
packaging/templates/mainnet-v1/sentry/validator/bor/config.toml
Normal file
|
|
@ -0,0 +1,131 @@
|
||||||
|
# NOTE: Update and uncomment: `keystore`, `password`, and `unlock` fields.
|
||||||
|
|
||||||
|
chain = "mainnet"
|
||||||
|
# identity = "node_name"
|
||||||
|
# log-level = "INFO"
|
||||||
|
datadir = "/var/lib/bor/data"
|
||||||
|
# keystore = "$BOR_DIR/keystore"
|
||||||
|
syncmode = "full"
|
||||||
|
# gcmode = "full"
|
||||||
|
# snapshot = true
|
||||||
|
# ethstats = ""
|
||||||
|
|
||||||
|
# ["eth.requiredblocks"]
|
||||||
|
|
||||||
|
[p2p]
|
||||||
|
maxpeers = 1
|
||||||
|
port = 30303
|
||||||
|
nodiscover = true
|
||||||
|
# maxpendpeers = 50
|
||||||
|
# bind = "0.0.0.0"
|
||||||
|
# nat = "any"
|
||||||
|
# [p2p.discovery]
|
||||||
|
# v5disc = false
|
||||||
|
# bootnodes = []
|
||||||
|
# bootnodesv4 = []
|
||||||
|
# bootnodesv5 = []
|
||||||
|
# static-nodes = []
|
||||||
|
# trusted-nodes = []
|
||||||
|
# dns = []
|
||||||
|
|
||||||
|
# [heimdall]
|
||||||
|
# url = "http://localhost:1317"
|
||||||
|
# "bor.without" = false
|
||||||
|
# grpc-address = ""
|
||||||
|
|
||||||
|
[txpool]
|
||||||
|
nolocals = true
|
||||||
|
pricelimit = 30000000000
|
||||||
|
accountslots = 16
|
||||||
|
globalslots = 32768
|
||||||
|
accountqueue = 16
|
||||||
|
globalqueue = 32768
|
||||||
|
lifetime = "1h30m0s"
|
||||||
|
# locals = []
|
||||||
|
# journal = ""
|
||||||
|
# rejournal = "1h0m0s"
|
||||||
|
# pricebump = 10
|
||||||
|
|
||||||
|
[miner]
|
||||||
|
mine = true
|
||||||
|
gaslimit = 30000000
|
||||||
|
gasprice = "30000000000"
|
||||||
|
# etherbase = ""
|
||||||
|
# extradata = ""
|
||||||
|
|
||||||
|
[jsonrpc]
|
||||||
|
ipcpath = "/var/lib/bor/bor.ipc"
|
||||||
|
# ipcdisable = false
|
||||||
|
# gascap = 50000000
|
||||||
|
# txfeecap = 5.0
|
||||||
|
[jsonrpc.http]
|
||||||
|
enabled = true
|
||||||
|
port = 8545
|
||||||
|
host = "127.0.0.1"
|
||||||
|
api = ["eth", "net", "web3", "txpool", "bor"]
|
||||||
|
vhosts = ["*"]
|
||||||
|
corsdomain = ["*"]
|
||||||
|
# prefix = ""
|
||||||
|
# [jsonrpc.ws]
|
||||||
|
# enabled = false
|
||||||
|
# port = 8546
|
||||||
|
# prefix = ""
|
||||||
|
# host = "localhost"
|
||||||
|
# api = ["web3", "net"]
|
||||||
|
# origins = ["*"]
|
||||||
|
# [jsonrpc.graphql]
|
||||||
|
# enabled = false
|
||||||
|
# port = 0
|
||||||
|
# prefix = ""
|
||||||
|
# host = ""
|
||||||
|
# vhosts = ["*"]
|
||||||
|
# corsdomain = ["*"]
|
||||||
|
|
||||||
|
[gpo]
|
||||||
|
# blocks = 20
|
||||||
|
# percentile = 60
|
||||||
|
# maxprice = "5000000000000"
|
||||||
|
ignoreprice = "30000000000"
|
||||||
|
|
||||||
|
[telemetry]
|
||||||
|
metrics = true
|
||||||
|
# expensive = false
|
||||||
|
# prometheus-addr = ""
|
||||||
|
# opencollector-endpoint = ""
|
||||||
|
# [telemetry.influx]
|
||||||
|
# influxdb = false
|
||||||
|
# endpoint = ""
|
||||||
|
# database = ""
|
||||||
|
# username = ""
|
||||||
|
# password = ""
|
||||||
|
# influxdbv2 = false
|
||||||
|
# token = ""
|
||||||
|
# bucket = ""
|
||||||
|
# organization = ""
|
||||||
|
# [telemetry.influx.tags]
|
||||||
|
|
||||||
|
[cache]
|
||||||
|
cache = 4096
|
||||||
|
# gc = 25
|
||||||
|
# snapshot = 10
|
||||||
|
# database = 50
|
||||||
|
# trie = 15
|
||||||
|
# journal = "triecache"
|
||||||
|
# rejournal = "1h0m0s"
|
||||||
|
# noprefetch = false
|
||||||
|
# preimages = false
|
||||||
|
# txlookuplimit = 2350000
|
||||||
|
|
||||||
|
[accounts]
|
||||||
|
allow-insecure-unlock = true
|
||||||
|
# password = "$BOR_DIR/password.txt"
|
||||||
|
# unlock = ["$ADDRESS"]
|
||||||
|
# lightkdf = false
|
||||||
|
# disable-bor-wallet = false
|
||||||
|
|
||||||
|
# [grpc]
|
||||||
|
# addr = ":3131"
|
||||||
|
|
||||||
|
# [developer]
|
||||||
|
# dev = false
|
||||||
|
# period = 0
|
||||||
131
packaging/templates/mainnet-v1/without-sentry/bor/config.toml
Normal file
131
packaging/templates/mainnet-v1/without-sentry/bor/config.toml
Normal file
|
|
@ -0,0 +1,131 @@
|
||||||
|
# NOTE: Update and uncomment: `keystore`, `password`, and `unlock` fields.
|
||||||
|
|
||||||
|
chain = "mainnet"
|
||||||
|
# identity = "node_name"
|
||||||
|
# log-level = "INFO"
|
||||||
|
datadir = "/var/lib/bor/data"
|
||||||
|
# keystore = "$BOR_DIR/keystore"
|
||||||
|
syncmode = "full"
|
||||||
|
# gcmode = "full"
|
||||||
|
# snapshot = true
|
||||||
|
# ethstats = ""
|
||||||
|
|
||||||
|
# ["eth.requiredblocks"]
|
||||||
|
|
||||||
|
[p2p]
|
||||||
|
maxpeers = 50
|
||||||
|
port = 30303
|
||||||
|
# maxpendpeers = 50
|
||||||
|
# bind = "0.0.0.0"
|
||||||
|
# nodiscover = false
|
||||||
|
# nat = "any"
|
||||||
|
# [p2p.discovery]
|
||||||
|
# v5disc = false
|
||||||
|
# bootnodes = []
|
||||||
|
# bootnodesv4 = []
|
||||||
|
# bootnodesv5 = []
|
||||||
|
# static-nodes = []
|
||||||
|
# trusted-nodes = []
|
||||||
|
# dns = []
|
||||||
|
|
||||||
|
# [heimdall]
|
||||||
|
# url = "http://localhost:1317"
|
||||||
|
# "bor.without" = false
|
||||||
|
# grpc-address = ""
|
||||||
|
|
||||||
|
[txpool]
|
||||||
|
nolocals = true
|
||||||
|
pricelimit = 30000000000
|
||||||
|
accountslots = 16
|
||||||
|
globalslots = 32768
|
||||||
|
accountqueue = 16
|
||||||
|
globalqueue = 32768
|
||||||
|
lifetime = "1h30m0s"
|
||||||
|
# locals = []
|
||||||
|
# journal = ""
|
||||||
|
# rejournal = "1h0m0s"
|
||||||
|
# pricebump = 10
|
||||||
|
|
||||||
|
[miner]
|
||||||
|
mine = true
|
||||||
|
gaslimit = 30000000
|
||||||
|
gasprice = "30000000000"
|
||||||
|
# etherbase = ""
|
||||||
|
# extradata = ""
|
||||||
|
|
||||||
|
[jsonrpc]
|
||||||
|
ipcpath = "/var/lib/bor/bor.ipc"
|
||||||
|
# ipcdisable = false
|
||||||
|
# gascap = 50000000
|
||||||
|
# txfeecap = 5.0
|
||||||
|
[jsonrpc.http]
|
||||||
|
enabled = true
|
||||||
|
port = 8545
|
||||||
|
host = "127.0.0.1"
|
||||||
|
api = ["eth", "net", "web3", "txpool", "bor"]
|
||||||
|
vhosts = ["*"]
|
||||||
|
corsdomain = ["*"]
|
||||||
|
# prefix = ""
|
||||||
|
# [jsonrpc.ws]
|
||||||
|
# enabled = false
|
||||||
|
# port = 8546
|
||||||
|
# prefix = ""
|
||||||
|
# host = "localhost"
|
||||||
|
# api = ["web3", "net"]
|
||||||
|
# origins = ["*"]
|
||||||
|
# [jsonrpc.graphql]
|
||||||
|
# enabled = false
|
||||||
|
# port = 0
|
||||||
|
# prefix = ""
|
||||||
|
# host = ""
|
||||||
|
# vhosts = ["*"]
|
||||||
|
# corsdomain = ["*"]
|
||||||
|
|
||||||
|
[gpo]
|
||||||
|
# blocks = 20
|
||||||
|
# percentile = 60
|
||||||
|
# maxprice = "5000000000000"
|
||||||
|
ignoreprice = "30000000000"
|
||||||
|
|
||||||
|
[telemetry]
|
||||||
|
metrics = true
|
||||||
|
# expensive = false
|
||||||
|
# prometheus-addr = ""
|
||||||
|
# opencollector-endpoint = ""
|
||||||
|
# [telemetry.influx]
|
||||||
|
# influxdb = false
|
||||||
|
# endpoint = ""
|
||||||
|
# database = ""
|
||||||
|
# username = ""
|
||||||
|
# password = ""
|
||||||
|
# influxdbv2 = false
|
||||||
|
# token = ""
|
||||||
|
# bucket = ""
|
||||||
|
# organization = ""
|
||||||
|
# [telemetry.influx.tags]
|
||||||
|
|
||||||
|
[cache]
|
||||||
|
cache = 4096
|
||||||
|
# gc = 25
|
||||||
|
# snapshot = 10
|
||||||
|
# database = 50
|
||||||
|
# trie = 15
|
||||||
|
# journal = "triecache"
|
||||||
|
# rejournal = "1h0m0s"
|
||||||
|
# noprefetch = false
|
||||||
|
# preimages = false
|
||||||
|
# txlookuplimit = 2350000
|
||||||
|
|
||||||
|
[accounts]
|
||||||
|
allow-insecure-unlock = true
|
||||||
|
# password = "$BOR_DIR/password.txt"
|
||||||
|
# unlock = ["$ADDRESS"]
|
||||||
|
# lightkdf = false
|
||||||
|
# disable-bor-wallet = false
|
||||||
|
|
||||||
|
# [grpc]
|
||||||
|
# addr = ":3131"
|
||||||
|
|
||||||
|
# [developer]
|
||||||
|
# dev = false
|
||||||
|
# period = 0
|
||||||
3
packaging/templates/package_scripts/changelog
Normal file
3
packaging/templates/package_scripts/changelog
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
bor (2.10.11) unstable; urgency=low
|
||||||
|
|
||||||
|
-- Polygon Team <release-team@polygon.technology> Mon, 10 Nov 2022 00:37:31 +0100
|
||||||
3
packaging/templates/package_scripts/changelog.profile
Normal file
3
packaging/templates/package_scripts/changelog.profile
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
bor-profile (2.10.11) unstable; urgency=low
|
||||||
|
|
||||||
|
-- Polygon Team <release-team@polygon.technology> Mon, 10 Nov 2022 00:37:31 +0100
|
||||||
12
packaging/templates/package_scripts/control
Normal file
12
packaging/templates/package_scripts/control
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
Source: bor
|
||||||
|
Version: 0.3.0
|
||||||
|
Section: develop
|
||||||
|
Priority: standard
|
||||||
|
Maintainer: Polygon <release-team@polygon.technology>
|
||||||
|
Build-Depends: debhelper-compat (= 13)
|
||||||
|
Package: bor
|
||||||
|
Rules-Requires-Root: yes
|
||||||
|
Architecture: amd64
|
||||||
|
Multi-Arch: foreign
|
||||||
|
Depends:
|
||||||
|
Description: This is the bor package from Polygon Technology.
|
||||||
13
packaging/templates/package_scripts/control.arm64
Normal file
13
packaging/templates/package_scripts/control.arm64
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
Source: bor
|
||||||
|
Version: 0.3.0
|
||||||
|
Section: develop
|
||||||
|
Priority: standard
|
||||||
|
Maintainer: Polygon <release-team@polygon.technology>
|
||||||
|
Build-Depends: debhelper-compat (= 13)
|
||||||
|
Rules-Requires-Root: yes
|
||||||
|
Package: bor
|
||||||
|
Architecture: arm64
|
||||||
|
Multi-Arch: foreign
|
||||||
|
Depends:
|
||||||
|
Description: This is the bor package from Polygon Technology.
|
||||||
|
|
||||||
14
packaging/templates/package_scripts/control.profile.amd64
Normal file
14
packaging/templates/package_scripts/control.profile.amd64
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
Source: bor-profile
|
||||||
|
Version: 0.3.0
|
||||||
|
Section: develop
|
||||||
|
Priority: standard
|
||||||
|
Maintainer: Polygon <release-team@polygon.technology>
|
||||||
|
Build-Depends: debhelper-compat (= 13)
|
||||||
|
Rules-Requires-Root: yes
|
||||||
|
Package: bor-profile
|
||||||
|
Architecture: amd64
|
||||||
|
Multi-Arch: foreign
|
||||||
|
Depends:
|
||||||
|
Description: This is the bor package from Polygon Technology.
|
||||||
|
|
||||||
|
|
||||||
12
packaging/templates/package_scripts/control.profile.arm64
Normal file
12
packaging/templates/package_scripts/control.profile.arm64
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
Source: bor-profile
|
||||||
|
Version: 0.3.0
|
||||||
|
Section: develop
|
||||||
|
Priority: standard
|
||||||
|
Maintainer: Polygon <release-team@polygon.technology>
|
||||||
|
Build-Depends: debhelper-compat (= 13)
|
||||||
|
Rules-Requires-Root: yes
|
||||||
|
Package: bor-profile
|
||||||
|
Architecture: arm64
|
||||||
|
Multi-Arch: foreign
|
||||||
|
Depends:
|
||||||
|
Description: This is the bor package from Polygon Technology.
|
||||||
12
packaging/templates/package_scripts/control.validator
Normal file
12
packaging/templates/package_scripts/control.validator
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
Source: bor-profile
|
||||||
|
Version: 0.3.0
|
||||||
|
Section: develop
|
||||||
|
Priority: standard
|
||||||
|
Maintainer: Polygon <release-team@polygon.technology>
|
||||||
|
Build-Depends: debhelper-compat (= 13)
|
||||||
|
Package: bor-profile
|
||||||
|
Rules-Requires-Root: yes
|
||||||
|
Architecture: amd64
|
||||||
|
Multi-Arch: foreign
|
||||||
|
Depends:
|
||||||
|
Description: This is the bor package from Polygon Technology.
|
||||||
13
packaging/templates/package_scripts/control.validator.arm64
Normal file
13
packaging/templates/package_scripts/control.validator.arm64
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
Source: bor-profile
|
||||||
|
Version: 0.3.0
|
||||||
|
Section: develop
|
||||||
|
Priority: standard
|
||||||
|
Maintainer: Polygon <release-team@polygon.technology>
|
||||||
|
Build-Depends: debhelper-compat (= 13)
|
||||||
|
Rules-Requires-Root: yes
|
||||||
|
Package: bor-profile
|
||||||
|
Architecture: arm64
|
||||||
|
Multi-Arch: foreign
|
||||||
|
Depends:
|
||||||
|
Description: This is the bor package from Polygon Technology.
|
||||||
|
|
||||||
7
packaging/templates/package_scripts/postinst
Executable file
7
packaging/templates/package_scripts/postinst
Executable file
|
|
@ -0,0 +1,7 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# This is a postinstallation script so the service can be configured and started when requested
|
||||||
|
#
|
||||||
|
sudo adduser --disabled-password --disabled-login --shell /usr/sbin/nologin --quiet --system --no-create-home --home /nonexistent bor
|
||||||
|
sudo mkdir -p /var/lib/bor
|
||||||
|
sudo chown -R bor /var/lib/bor
|
||||||
|
sudo systemctl daemon-reload
|
||||||
6
packaging/templates/package_scripts/postinst.profile
Executable file
6
packaging/templates/package_scripts/postinst.profile
Executable file
|
|
@ -0,0 +1,6 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# This is a postinstallation script so the service can be configured and started when requested
|
||||||
|
#
|
||||||
|
sudo mkdir -p /var/lib/bor
|
||||||
|
sudo chown -R bor /var/lib/bor
|
||||||
|
sudo systemctl daemon-reload
|
||||||
8
packaging/templates/package_scripts/postrm
Executable file
8
packaging/templates/package_scripts/postrm
Executable file
|
|
@ -0,0 +1,8 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
###############
|
||||||
|
# Remove bor installs
|
||||||
|
##############
|
||||||
|
sudo rm -rf /var/lib/bor/config.toml
|
||||||
|
sudo rm -rf /lib/systemd/system/bor.service
|
||||||
|
sudo systemctl daemon-reload
|
||||||
7
packaging/templates/package_scripts/preinst
Executable file
7
packaging/templates/package_scripts/preinst
Executable file
|
|
@ -0,0 +1,7 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
#################
|
||||||
|
# Stop existing bor in case of upgrade
|
||||||
|
################
|
||||||
|
#sudo systemctl stop bor.service
|
||||||
|
######################
|
||||||
8
packaging/templates/package_scripts/prerm
Executable file
8
packaging/templates/package_scripts/prerm
Executable file
|
|
@ -0,0 +1,8 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
#
|
||||||
|
##############
|
||||||
|
# Stop bor before removal
|
||||||
|
##############
|
||||||
|
#sudo systemctl stop bor.service
|
||||||
|
#############
|
||||||
16
packaging/templates/systemd/bor.service
Normal file
16
packaging/templates/systemd/bor.service
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
[Unit]
|
||||||
|
Description=bor
|
||||||
|
StartLimitIntervalSec=500
|
||||||
|
StartLimitBurst=5
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Restart=on-failure
|
||||||
|
RestartSec=5s
|
||||||
|
ExecStart=/usr/bin/bor server -config "/var/lib/bor/config.toml"
|
||||||
|
Type=simple
|
||||||
|
KillSignal=SIGINT
|
||||||
|
User=bor
|
||||||
|
TimeoutStopSec=120
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
129
packaging/templates/testnet-v4/archive/config.toml
Normal file
129
packaging/templates/testnet-v4/archive/config.toml
Normal file
|
|
@ -0,0 +1,129 @@
|
||||||
|
chain = "mumbai"
|
||||||
|
# identity = "node_name"
|
||||||
|
# log-level = "INFO"
|
||||||
|
datadir = "/var/lib/bor/data"
|
||||||
|
# keystore = ""
|
||||||
|
syncmode = "full"
|
||||||
|
gcmode = "archive"
|
||||||
|
# snapshot = true
|
||||||
|
# ethstats = ""
|
||||||
|
|
||||||
|
# ["eth.requiredblocks"]
|
||||||
|
|
||||||
|
[p2p]
|
||||||
|
maxpeers = 50
|
||||||
|
port = 30303
|
||||||
|
# maxpendpeers = 50
|
||||||
|
# bind = "0.0.0.0"
|
||||||
|
# nodiscover = false
|
||||||
|
# nat = "any"
|
||||||
|
# [p2p.discovery]
|
||||||
|
# v5disc = false
|
||||||
|
# bootnodes = []
|
||||||
|
# bootnodesv4 = []
|
||||||
|
# bootnodesv5 = []
|
||||||
|
# static-nodes = []
|
||||||
|
# trusted-nodes = []
|
||||||
|
# dns = []
|
||||||
|
|
||||||
|
# [heimdall]
|
||||||
|
# url = "http://localhost:1317"
|
||||||
|
# "bor.without" = false
|
||||||
|
# grpc-address = ""
|
||||||
|
|
||||||
|
[txpool]
|
||||||
|
nolocals = true
|
||||||
|
accountslots = 16
|
||||||
|
globalslots = 131072
|
||||||
|
accountqueue = 64
|
||||||
|
globalqueue = 131072
|
||||||
|
lifetime = "1h30m0s"
|
||||||
|
# locals = []
|
||||||
|
# journal = ""
|
||||||
|
# rejournal = "1h0m0s"
|
||||||
|
# pricelimit = 1
|
||||||
|
# pricebump = 10
|
||||||
|
|
||||||
|
[miner]
|
||||||
|
gaslimit = 30000000
|
||||||
|
# gasprice = "1000000000"
|
||||||
|
# mine = false
|
||||||
|
# etherbase = ""
|
||||||
|
# extradata = ""
|
||||||
|
|
||||||
|
[jsonrpc]
|
||||||
|
ipcpath = "/var/lib/bor/bor.ipc"
|
||||||
|
# ipcdisable = false
|
||||||
|
# gascap = 50000000
|
||||||
|
# txfeecap = 5.0
|
||||||
|
[jsonrpc.http]
|
||||||
|
enabled = true
|
||||||
|
port = 8545
|
||||||
|
host = "0.0.0.0"
|
||||||
|
api = ["eth", "net", "web3", "txpool", "bor"]
|
||||||
|
vhosts = ["*"]
|
||||||
|
corsdomain = ["*"]
|
||||||
|
# prefix = ""
|
||||||
|
[jsonrpc.ws]
|
||||||
|
enabled = true
|
||||||
|
port = 8546
|
||||||
|
# prefix = ""
|
||||||
|
# host = "localhost"
|
||||||
|
# api = ["web3", "net"]
|
||||||
|
origins = ["*"]
|
||||||
|
# [jsonrpc.graphql]
|
||||||
|
# enabled = false
|
||||||
|
# port = 0
|
||||||
|
# prefix = ""
|
||||||
|
# host = ""
|
||||||
|
# vhosts = ["*"]
|
||||||
|
# corsdomain = ["*"]
|
||||||
|
|
||||||
|
# [gpo]
|
||||||
|
# blocks = 20
|
||||||
|
# percentile = 60
|
||||||
|
# maxprice = "5000000000000"
|
||||||
|
# ignoreprice = "2"
|
||||||
|
|
||||||
|
[telemetry]
|
||||||
|
metrics = true
|
||||||
|
# expensive = false
|
||||||
|
# prometheus-addr = ""
|
||||||
|
# opencollector-endpoint = ""
|
||||||
|
# [telemetry.influx]
|
||||||
|
# influxdb = false
|
||||||
|
# endpoint = ""
|
||||||
|
# database = ""
|
||||||
|
# username = ""
|
||||||
|
# password = ""
|
||||||
|
# influxdbv2 = false
|
||||||
|
# token = ""
|
||||||
|
# bucket = ""
|
||||||
|
# organization = ""
|
||||||
|
# [telemetry.influx.tags]
|
||||||
|
|
||||||
|
# [cache]
|
||||||
|
# cache = 1024
|
||||||
|
# gc = 25
|
||||||
|
# snapshot = 10
|
||||||
|
# database = 50
|
||||||
|
# trie = 15
|
||||||
|
# journal = "triecache"
|
||||||
|
# rejournal = "1h0m0s"
|
||||||
|
# noprefetch = false
|
||||||
|
# preimages = false
|
||||||
|
# txlookuplimit = 2350000
|
||||||
|
|
||||||
|
# [accounts]
|
||||||
|
# unlock = []
|
||||||
|
# password = ""
|
||||||
|
# allow-insecure-unlock = false
|
||||||
|
# lightkdf = false
|
||||||
|
# disable-bor-wallet = false
|
||||||
|
|
||||||
|
# [grpc]
|
||||||
|
# addr = ":3131"
|
||||||
|
|
||||||
|
# [developer]
|
||||||
|
# dev = false
|
||||||
|
# period = 0
|
||||||
129
packaging/templates/testnet-v4/sentry/sentry/bor/config.toml
Normal file
129
packaging/templates/testnet-v4/sentry/sentry/bor/config.toml
Normal file
|
|
@ -0,0 +1,129 @@
|
||||||
|
chain = "mumbai"
|
||||||
|
# identity = "node_name"
|
||||||
|
# log-level = "INFO"
|
||||||
|
datadir = "/var/lib/bor/data"
|
||||||
|
# keystore = ""
|
||||||
|
syncmode = "full"
|
||||||
|
# gcmode = "full"
|
||||||
|
# snapshot = true
|
||||||
|
# ethstats = ""
|
||||||
|
|
||||||
|
# ["eth.requiredblocks"]
|
||||||
|
|
||||||
|
[p2p]
|
||||||
|
maxpeers = 50
|
||||||
|
port = 30303
|
||||||
|
# maxpendpeers = 50
|
||||||
|
# bind = "0.0.0.0"
|
||||||
|
# nodiscover = false
|
||||||
|
# nat = "any"
|
||||||
|
# [p2p.discovery]
|
||||||
|
# v5disc = false
|
||||||
|
# bootnodes = []
|
||||||
|
# bootnodesv4 = []
|
||||||
|
# bootnodesv5 = []
|
||||||
|
# static-nodes = []
|
||||||
|
# trusted-nodes = []
|
||||||
|
# dns = []
|
||||||
|
|
||||||
|
# [heimdall]
|
||||||
|
# url = "http://localhost:1317"
|
||||||
|
# "bor.without" = false
|
||||||
|
# grpc-address = ""
|
||||||
|
|
||||||
|
[txpool]
|
||||||
|
nolocals = true
|
||||||
|
accountslots = 16
|
||||||
|
globalslots = 131072
|
||||||
|
accountqueue = 64
|
||||||
|
globalqueue = 131072
|
||||||
|
lifetime = "1h30m0s"
|
||||||
|
# locals = []
|
||||||
|
# journal = ""
|
||||||
|
# rejournal = "1h0m0s"
|
||||||
|
# pricelimit = 1
|
||||||
|
# pricebump = 10
|
||||||
|
|
||||||
|
[miner]
|
||||||
|
gaslimit = 30000000
|
||||||
|
# gasprice = "1000000000"
|
||||||
|
# mine = false
|
||||||
|
# etherbase = ""
|
||||||
|
# extradata = ""
|
||||||
|
|
||||||
|
[jsonrpc]
|
||||||
|
ipcpath = "/var/lib/bor/bor.ipc"
|
||||||
|
# ipcdisable = false
|
||||||
|
# gascap = 50000000
|
||||||
|
# txfeecap = 5.0
|
||||||
|
[jsonrpc.http]
|
||||||
|
enabled = true
|
||||||
|
port = 8545
|
||||||
|
host = "0.0.0.0"
|
||||||
|
api = ["eth", "net", "web3", "txpool", "bor"]
|
||||||
|
vhosts = ["*"]
|
||||||
|
corsdomain = ["*"]
|
||||||
|
# prefix = ""
|
||||||
|
# [jsonrpc.ws]
|
||||||
|
# enabled = false
|
||||||
|
# port = 8546
|
||||||
|
# prefix = ""
|
||||||
|
# host = "localhost"
|
||||||
|
# api = ["web3", "net"]
|
||||||
|
# origins = ["*"]
|
||||||
|
# [jsonrpc.graphql]
|
||||||
|
# enabled = false
|
||||||
|
# port = 0
|
||||||
|
# prefix = ""
|
||||||
|
# host = ""
|
||||||
|
# vhosts = ["*"]
|
||||||
|
# corsdomain = ["*"]
|
||||||
|
|
||||||
|
# [gpo]
|
||||||
|
# blocks = 20
|
||||||
|
# percentile = 60
|
||||||
|
# maxprice = "5000000000000"
|
||||||
|
# ignoreprice = "2"
|
||||||
|
|
||||||
|
[telemetry]
|
||||||
|
metrics = true
|
||||||
|
# expensive = false
|
||||||
|
# prometheus-addr = ""
|
||||||
|
# opencollector-endpoint = ""
|
||||||
|
# [telemetry.influx]
|
||||||
|
# influxdb = false
|
||||||
|
# endpoint = ""
|
||||||
|
# database = ""
|
||||||
|
# username = ""
|
||||||
|
# password = ""
|
||||||
|
# influxdbv2 = false
|
||||||
|
# token = ""
|
||||||
|
# bucket = ""
|
||||||
|
# organization = ""
|
||||||
|
# [telemetry.influx.tags]
|
||||||
|
|
||||||
|
# [cache]
|
||||||
|
# cache = 1024
|
||||||
|
# gc = 25
|
||||||
|
# snapshot = 10
|
||||||
|
# database = 50
|
||||||
|
# trie = 15
|
||||||
|
# journal = "triecache"
|
||||||
|
# rejournal = "1h0m0s"
|
||||||
|
# noprefetch = false
|
||||||
|
# preimages = false
|
||||||
|
# txlookuplimit = 2350000
|
||||||
|
|
||||||
|
# [accounts]
|
||||||
|
# unlock = []
|
||||||
|
# password = ""
|
||||||
|
# allow-insecure-unlock = false
|
||||||
|
# lightkdf = false
|
||||||
|
# disable-bor-wallet = false
|
||||||
|
|
||||||
|
# [grpc]
|
||||||
|
# addr = ":3131"
|
||||||
|
|
||||||
|
# [developer]
|
||||||
|
# dev = false
|
||||||
|
# period = 0
|
||||||
131
packaging/templates/testnet-v4/sentry/validator/bor/config.toml
Normal file
131
packaging/templates/testnet-v4/sentry/validator/bor/config.toml
Normal file
|
|
@ -0,0 +1,131 @@
|
||||||
|
# NOTE: Update and uncomment: `keystore`, `password`, and `unlock` fields.
|
||||||
|
|
||||||
|
chain = "mumbai"
|
||||||
|
# identity = "node_name"
|
||||||
|
# log-level = "INFO"
|
||||||
|
datadir = "/var/lib/bor/data"
|
||||||
|
# keystore = "$BOR_DIR/keystore"
|
||||||
|
syncmode = "full"
|
||||||
|
# gcmode = "full"
|
||||||
|
# snapshot = true
|
||||||
|
# ethstats = ""
|
||||||
|
|
||||||
|
# ["eth.requiredblocks"]
|
||||||
|
|
||||||
|
[p2p]
|
||||||
|
maxpeers = 1
|
||||||
|
port = 30303
|
||||||
|
nodiscover = true
|
||||||
|
# maxpendpeers = 50
|
||||||
|
# bind = "0.0.0.0"
|
||||||
|
# nat = "any"
|
||||||
|
# [p2p.discovery]
|
||||||
|
# v5disc = false
|
||||||
|
# bootnodes = []
|
||||||
|
# bootnodesv4 = []
|
||||||
|
# bootnodesv5 = []
|
||||||
|
# static-nodes = []
|
||||||
|
# trusted-nodes = []
|
||||||
|
# dns = []
|
||||||
|
|
||||||
|
# [heimdall]
|
||||||
|
# url = "http://localhost:1317"
|
||||||
|
# "bor.without" = false
|
||||||
|
# grpc-address = ""
|
||||||
|
|
||||||
|
[txpool]
|
||||||
|
nolocals = true
|
||||||
|
accountslots = 16
|
||||||
|
globalslots = 131072
|
||||||
|
accountqueue = 64
|
||||||
|
globalqueue = 131072
|
||||||
|
lifetime = "1h30m0s"
|
||||||
|
# locals = []
|
||||||
|
# journal = ""
|
||||||
|
# rejournal = "1h0m0s"
|
||||||
|
# pricelimit = 1
|
||||||
|
# pricebump = 10
|
||||||
|
|
||||||
|
[miner]
|
||||||
|
mine = true
|
||||||
|
gaslimit = 30000000
|
||||||
|
# gasprice = "1000000000"
|
||||||
|
# etherbase = ""
|
||||||
|
# extradata = ""
|
||||||
|
|
||||||
|
[jsonrpc]
|
||||||
|
ipcpath = "/var/lib/bor/bor.ipc"
|
||||||
|
# ipcdisable = false
|
||||||
|
# gascap = 50000000
|
||||||
|
# txfeecap = 5.0
|
||||||
|
[jsonrpc.http]
|
||||||
|
enabled = true
|
||||||
|
port = 8545
|
||||||
|
host = "0.0.0.0"
|
||||||
|
api = ["eth", "net", "web3", "txpool", "bor"]
|
||||||
|
vhosts = ["*"]
|
||||||
|
corsdomain = ["*"]
|
||||||
|
# prefix = ""
|
||||||
|
# [jsonrpc.ws]
|
||||||
|
# enabled = false
|
||||||
|
# port = 8546
|
||||||
|
# prefix = ""
|
||||||
|
# host = "localhost"
|
||||||
|
# api = ["web3", "net"]
|
||||||
|
# origins = ["*"]
|
||||||
|
# [jsonrpc.graphql]
|
||||||
|
# enabled = false
|
||||||
|
# port = 0
|
||||||
|
# prefix = ""
|
||||||
|
# host = ""
|
||||||
|
# vhosts = ["*"]
|
||||||
|
# corsdomain = ["*"]
|
||||||
|
|
||||||
|
# [gpo]
|
||||||
|
# blocks = 20
|
||||||
|
# percentile = 60
|
||||||
|
# maxprice = "5000000000000"
|
||||||
|
# ignoreprice = "2"
|
||||||
|
|
||||||
|
[telemetry]
|
||||||
|
metrics = true
|
||||||
|
# expensive = false
|
||||||
|
# prometheus-addr = ""
|
||||||
|
# opencollector-endpoint = ""
|
||||||
|
# [telemetry.influx]
|
||||||
|
# influxdb = false
|
||||||
|
# endpoint = ""
|
||||||
|
# database = ""
|
||||||
|
# username = ""
|
||||||
|
# password = ""
|
||||||
|
# influxdbv2 = false
|
||||||
|
# token = ""
|
||||||
|
# bucket = ""
|
||||||
|
# organization = ""
|
||||||
|
# [telemetry.influx.tags]
|
||||||
|
|
||||||
|
# [cache]
|
||||||
|
# cache = 1024
|
||||||
|
# gc = 25
|
||||||
|
# snapshot = 10
|
||||||
|
# database = 50
|
||||||
|
# trie = 15
|
||||||
|
# journal = "triecache"
|
||||||
|
# rejournal = "1h0m0s"
|
||||||
|
# noprefetch = false
|
||||||
|
# preimages = false
|
||||||
|
# txlookuplimit = 2350000
|
||||||
|
|
||||||
|
[accounts]
|
||||||
|
allow-insecure-unlock = true
|
||||||
|
# password = "$BOR_DIR/password.txt"
|
||||||
|
# unlock = ["$ADDRESS"]
|
||||||
|
# lightkdf = false
|
||||||
|
# disable-bor-wallet = false
|
||||||
|
|
||||||
|
# [grpc]
|
||||||
|
# addr = ":3131"
|
||||||
|
|
||||||
|
# [developer]
|
||||||
|
# dev = false
|
||||||
|
# period = 0
|
||||||
131
packaging/templates/testnet-v4/without-sentry/bor/config.toml
Normal file
131
packaging/templates/testnet-v4/without-sentry/bor/config.toml
Normal file
|
|
@ -0,0 +1,131 @@
|
||||||
|
# NOTE: Update and uncomment: `keystore`, `password`, and `unlock` fields.
|
||||||
|
|
||||||
|
chain = "mumbai"
|
||||||
|
# identity = "node_name"
|
||||||
|
# log-level = "INFO"
|
||||||
|
datadir = "/var/lib/bor/data"
|
||||||
|
# keystore = "$BOR_DIR/keystore"
|
||||||
|
syncmode = "full"
|
||||||
|
# gcmode = "full"
|
||||||
|
# snapshot = true
|
||||||
|
# ethstats = ""
|
||||||
|
|
||||||
|
# ["eth.requiredblocks"]
|
||||||
|
|
||||||
|
[p2p]
|
||||||
|
maxpeers = 50
|
||||||
|
port = 30303
|
||||||
|
# maxpendpeers = 50
|
||||||
|
# bind = "0.0.0.0"
|
||||||
|
# nodiscover = false
|
||||||
|
# nat = "any"
|
||||||
|
# [p2p.discovery]
|
||||||
|
# v5disc = false
|
||||||
|
# bootnodes = []
|
||||||
|
# bootnodesv4 = []
|
||||||
|
# bootnodesv5 = []
|
||||||
|
# static-nodes = []
|
||||||
|
# trusted-nodes = []
|
||||||
|
# dns = []
|
||||||
|
|
||||||
|
# [heimdall]
|
||||||
|
# url = "http://localhost:1317"
|
||||||
|
# "bor.without" = false
|
||||||
|
# grpc-address = ""
|
||||||
|
|
||||||
|
[txpool]
|
||||||
|
nolocals = true
|
||||||
|
accountslots = 16
|
||||||
|
globalslots = 131072
|
||||||
|
accountqueue = 64
|
||||||
|
globalqueue = 131072
|
||||||
|
lifetime = "1h30m0s"
|
||||||
|
# locals = []
|
||||||
|
# journal = ""
|
||||||
|
# rejournal = "1h0m0s"
|
||||||
|
# pricelimit = 1
|
||||||
|
# pricebump = 10
|
||||||
|
|
||||||
|
[miner]
|
||||||
|
mine = true
|
||||||
|
gaslimit = 30000000
|
||||||
|
# gasprice = "1000000000"
|
||||||
|
# etherbase = ""
|
||||||
|
# extradata = ""
|
||||||
|
|
||||||
|
[jsonrpc]
|
||||||
|
ipcpath = "/var/lib/bor/bor.ipc"
|
||||||
|
# ipcdisable = false
|
||||||
|
# gascap = 50000000
|
||||||
|
# txfeecap = 5.0
|
||||||
|
[jsonrpc.http]
|
||||||
|
enabled = true
|
||||||
|
port = 8545
|
||||||
|
host = "0.0.0.0"
|
||||||
|
api = ["eth", "net", "web3", "txpool", "bor"]
|
||||||
|
vhosts = ["*"]
|
||||||
|
corsdomain = ["*"]
|
||||||
|
# prefix = ""
|
||||||
|
# [jsonrpc.ws]
|
||||||
|
# enabled = false
|
||||||
|
# port = 8546
|
||||||
|
# prefix = ""
|
||||||
|
# host = "localhost"
|
||||||
|
# api = ["web3", "net"]
|
||||||
|
# origins = ["*"]
|
||||||
|
# [jsonrpc.graphql]
|
||||||
|
# enabled = false
|
||||||
|
# port = 0
|
||||||
|
# prefix = ""
|
||||||
|
# host = ""
|
||||||
|
# vhosts = ["*"]
|
||||||
|
# corsdomain = ["*"]
|
||||||
|
|
||||||
|
# [gpo]
|
||||||
|
# blocks = 20
|
||||||
|
# percentile = 60
|
||||||
|
# maxprice = "5000000000000"
|
||||||
|
# ignoreprice = "2"
|
||||||
|
|
||||||
|
[telemetry]
|
||||||
|
metrics = true
|
||||||
|
# expensive = false
|
||||||
|
# prometheus-addr = ""
|
||||||
|
# opencollector-endpoint = ""
|
||||||
|
# [telemetry.influx]
|
||||||
|
# influxdb = false
|
||||||
|
# endpoint = ""
|
||||||
|
# database = ""
|
||||||
|
# username = ""
|
||||||
|
# password = ""
|
||||||
|
# influxdbv2 = false
|
||||||
|
# token = ""
|
||||||
|
# bucket = ""
|
||||||
|
# organization = ""
|
||||||
|
# [telemetry.influx.tags]
|
||||||
|
|
||||||
|
# [cache]
|
||||||
|
# cache = 1024
|
||||||
|
# gc = 25
|
||||||
|
# snapshot = 10
|
||||||
|
# database = 50
|
||||||
|
# trie = 15
|
||||||
|
# journal = "triecache"
|
||||||
|
# rejournal = "1h0m0s"
|
||||||
|
# noprefetch = false
|
||||||
|
# preimages = false
|
||||||
|
# txlookuplimit = 2350000
|
||||||
|
|
||||||
|
[accounts]
|
||||||
|
allow-insecure-unlock = true
|
||||||
|
# password = "$BOR_DIR/password.txt"
|
||||||
|
# unlock = ["$ADDRESS"]
|
||||||
|
# lightkdf = false
|
||||||
|
# disable-bor-wallet = false
|
||||||
|
|
||||||
|
# [grpc]
|
||||||
|
# addr = ":3131"
|
||||||
|
|
||||||
|
# [developer]
|
||||||
|
# dev = false
|
||||||
|
# period = 0
|
||||||
|
|
@ -375,7 +375,7 @@ func getStaticTrustedNodes(args []string) {
|
||||||
fmt.Println("only TOML config file is supported through CLI")
|
fmt.Println("only TOML config file is supported through CLI")
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
path := "~/.bor/data/bor/static-nodes.json"
|
path := "./static-nodes.json"
|
||||||
if !checkFileExists(path) {
|
if !checkFileExists(path) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,14 @@ then
|
||||||
fi
|
fi
|
||||||
read -p "* Your validator address (e.g. 0xca67a8D767e45056DC92384b488E9Af654d78DE2), or press Enter to skip if running a sentry node: " ADD
|
read -p "* Your validator address (e.g. 0xca67a8D767e45056DC92384b488E9Af654d78DE2), or press Enter to skip if running a sentry node: " ADD
|
||||||
|
|
||||||
|
if [[ -f $HOME/.bor/data/bor/static-nodes.json ]]
|
||||||
|
then
|
||||||
|
cp $HOME/.bor/data/bor/static-nodes.json ./static-nodes.json
|
||||||
|
else
|
||||||
|
read -p "* You dont have '~/.bor/data/bor/static-nodes.json' file. If you want to use static nodes, enter the path to 'static-nodes.json' here (press Enter to skip): " STAT
|
||||||
|
if [[ -f $STAT ]]; then cp $STAT ./static-nodes.json; fi
|
||||||
|
fi
|
||||||
|
|
||||||
printf "\nThank you, your inputs are:\n"
|
printf "\nThank you, your inputs are:\n"
|
||||||
echo "Path to start.sh: "$startPath
|
echo "Path to start.sh: "$startPath
|
||||||
echo "Address: "$ADD
|
echo "Address: "$ADD
|
||||||
|
|
@ -113,4 +121,9 @@ chmod +x $tmpDir/3305fe263dd4a999d58f96deb064e21bb70123d9.sh
|
||||||
$tmpDir/3305fe263dd4a999d58f96deb064e21bb70123d9.sh $ADD
|
$tmpDir/3305fe263dd4a999d58f96deb064e21bb70123d9.sh $ADD
|
||||||
rm $tmpDir/3305fe263dd4a999d58f96deb064e21bb70123d9.sh
|
rm $tmpDir/3305fe263dd4a999d58f96deb064e21bb70123d9.sh
|
||||||
|
|
||||||
|
if [[ -f $HOME/.bor/data/bor/static-nodes.json ]]
|
||||||
|
then
|
||||||
|
rm ./static-nodes.json
|
||||||
|
fi
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue