Run Challenger - BNB Greenfield Node
Ön Koşullar
Önerilen Donanım
Aşağıda önerilen donanım gereksinimleri listelenmiştir:
- Donanım Gereksinimleri: Güncel versiyonlarıyla Mac OS X veya Linux çalıştıran masaüstü veya dizüstü bilgisayar donanımı.
- CPU: 4 çekirdek
- RAM: 4 GB
- İlişkisel veritabanı: Mysql
Anahtar Hazırlığı
- Challenger özel anahtarı: İşlemleri imzalamak ve onaylamak için kullanılır.
- Bls özel anahtarı: Oyları toplamak için kullanılır.
Bu iki anahtar, become-validator
adım 2'de oluşturulan validator_challenger
ve validator_bls
'yı ifade eder.
Aşağıdaki komutlar ile bu anahtarları alabilirsiniz.
gnfd keys export validator_challenger --unarmored-hex --unsafe --keyring-backend test
gnfd keys export validator_bls --unarmored-hex --unsafe --keyring-backend test
İkili Dosyayı Hazırla
Terminalinizde aşağıdaki komutu çalıştırarak greenfield-challenger uygulamasını alın:
git clone --branch "$(curl -s https://api.github.com/repos/bnb-chain/greenfield-challenger/releases/latest | jq -r '.tag_name')" https://github.com/bnb-chain/greenfield-challenger.git
cd greenfield-challenger
Konfigürasyon
config/config.json
dosyasını değiştirin. Ya da yeni bir tane oluşturabilir ve --config-path
bayrağı ile konfigürasyon yolunu belirtebilirsiniz.
::: info Tam bir konfigürasyon dosyası referansı için. :::
Özel anahtarınızı ve bls anahtarınızı ayarlayın (dosya veya aws sırrı aracılığıyla).
"greenfield_config": {
"key_type": "local_private_key" veya "aws_private_key" anahtarları aws'de mi yoksa yerel olarak bu json dosyasında mı depoladığınıza bağlı,
"aws_region": "aws_private_key" seçimini yaptıysanız bunu ayarlayın,
"aws_secret_name": "aws_private_key" seçimini yaptıysanız bunu ayarlayın,
"aws_bls_secret_name": "aws_private_key" seçimini yaptıysanız bunu ayarlayın,
"private_key": "local_private_key" seçimini yaptıysanız bunu ayarlayın,
"bls_private_key": "local_private_key" seçimini yaptıysanız bunu ayarlayın,
...
}::: note
private_key
terimi,validator_challenger
hesabının özel anahtarına,bls_private_key
terimi isevalidator_bls
hesabının özel anahtarına işaret eder. Bu özel anahtarları elde etmek için,anahtar hazırlığı
bölümünde verilen talimatları takip edebilirsiniz. :::RPC Adresinizi ve Zincir Kimliğinizi ayarlayın
=== "Ana Ağa"
```json
"greenfield_config": {
"rpcAddr": "https://greenfield-chain.bnbchain.org:443",
"chainId": "greenfield_1017-1"
}
```=== "Test Ağı"
```json
"greenfield_config": {
"rpcAddr": "https://gnfd-testnet-fullnode-tendermint-us.bnbchain.org:443",
"chainId": "greenfield_5600-1"
}
```Veritabanı ayarlarınızı yapılandırın.
"db_config": {
"dialect": "mysql",
"db_path": "your_db_path",
"key_type": "local_private_key" veya "aws_private_key" anahtarları aws'de mi yoksa yerel olarak bu json dosyasında mı depoladığınıza bağlı,
"aws_region": "aws_private_key" seçimini yaptıysanız bunu ayarlayın, aksi takdirde boş bırakın,
"aws_secret_name": "aws_private_key" seçimini yaptıysanız bunu ayarlayın, aksi takdirde boş bırakın,
"username": "local_private_key" seçimini yaptıysanız veritabanı kullanıcı adını ayarlayın, aksi takdirde boş bırakın,
"password": "local_private_key" seçimini yaptıysanız veritabanı parolasını ayarlayın, aksi takdirde boş bırakın,
...
}İçsel sp yapılandırmanızı ayarlayın (ölçüm amacı için).
"sp_config": {
"internal_sp_endpoints": [] // içsel SP’lerin uç noktalarının listesi
}
Derleme
İkili dosyayı derleyin:
make build
Docker görüntüsünü derleyin:
make build_docker
Çalıştırma
MySQL'i Docker'da çalıştırın (sqlite kullanıyorsanız atlanabilir)
docker run --name gnfd-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
Veritabanı Şemasını Oluşturun
MySQL istemcisinde şemayı oluşturun:
CREATE SCHEMA IF NOT EXISTS `challenger` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
Challenger'ı Başlatın
./build/greenfield-challenger --config-type [local or aws] --config-path config_file_path --aws-region [aws region or omit] --aws-secret-key [aws secret key for config or omit]
Örnek:
./build/greenfield-challenger --config-type local --config-path config/config.json
Docker'ı çalıştırın:
docker run -it -v /your/data/path:/greenfield-challenger -e CONFIG_TYPE="local" -e CONFIG_FILE_PATH=/your/config/file/path/in/container -d greenfield-challenger
Ayrıca greenfield challenger uygulamasını Helm Chart V3 kullanarak dağıtabilirsiniz. Lütfen challenger-readme referansına bakın.