Halaman ini menjelaskan cara membuat node blockchain Ethereum di Blockchain Node Engine menggunakan panggilan konsol atau API.
Menggunakan konsol
Di konsol Google Cloud, buka halaman Blockchain Node Engine.
Halaman daftar Nodes ditampilkan secara default. Jika belum ada node blockchain yang dibuat, Anda akan diminta untuk membuatnya.
Untuk membuat node blockchain:
Klik Buat. Wizard Create a blockchain node akan terbuka.
Mengonfigurasi info node:
- Nama node blockchain: Ketik nama untuk
node. Gunakan huruf kecil (a-z),
angka, dan tanda hubung. Misalnya,
my-node
. - Jenis blockchain: Pilih nama
blockchain.
Misalnya,
ETHEREUM
. - Klik Lanjutkan.
- Nama node blockchain: Ketik nama untuk
node. Gunakan huruf kecil (a-z),
angka, dan tanda hubung. Misalnya,
Mengonfigurasi info blockchain: Mengonfigurasi informasi khusus blockchain. Misalnya, untuk mengonfigurasi node Ethereum, pilih opsi berikut. Informasi ini tidak dapat diubah nanti:
- Jaringan: Nama
jaringan.
Contohnya,
MAINNET
. - Jenis node: Jenis
node blockchain. Misalnya,
FULL
. - Klien Eksekusi/Konsensus: Nama lapisan
eksekusi/konsensus
software
klien. Misalnya,
GETH
/LIGHTHOUSE
. Lihat Konfigurasi yang didukung untuk mengetahui kombinasi yang didukung. - Aktifkan namespace tambahan: Namespace JSON-RPC opsional saat menggunakan klien eksekusi Ethereum Geth. Misalnya,
debug
. - Klik Lanjutkan.
- Jaringan: Nama
jaringan.
Contohnya,
Mengonfigurasi info jaringan:
- Pilih lokasi geografis tempat Anda akan menghosting resource. Contoh,
us-central1
. Informasi ini tidak dapat diubah nanti. Lihat Lokasi yang didukung. - Configure Endpoints: Membuat endpoint yang dapat diakses secara publik secara default. Tinjau Private Service Connect untuk mengetahui informasi selengkapnya tentang penggunaan endpoint pribadi.
- Klik Lanjutkan.
- Pilih lokasi geografis tempat Anda akan menghosting resource. Contoh,
Menambahkan label:
- Ketik pasangan nilai kunci. Klik Tambahkan item untuk menambahkan lebih banyak pasangan nilai kunci.
- Klik Lanjutkan.
Klik Create. node blockchain akan dibuat dan daftar Nodes akan ditampilkan. Status menunjukkan Creating hingga node blockchain siap digunakan, lalu statusnya berubah menjadi Running.
Menggunakan API
Untuk membuat node blockchain menggunakan API, kirim permintaan POST ke API
dengan spesifikasi node blockchain. Berikut adalah contoh penggunaan perintah curl
untuk mengirim permintaan ke API:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"blockchainType": "BLOCKCHAIN_TYPE",
"privateServiceConnectEnabled" : false,
"ethereumDetails": {
"consensusClient": "CONSENSUS_CLIENT",
"executionClient": "EXECUTION_CLIENT",
"apiEnableAdmin": false,
"apiEnableDebug": false,
"network": "NETWORK",
"nodeType": "NODE_TYPE"
},
"labels": {
"LABEL_KEY": "LABEL_VALUE"
}
}' \
https://blockchainnodeengine.googleapis.com/v1/projects/PROJECT_ID/\
locations/LOCATION/blockchainNodes?blockchain_node_id=NODE_NAME
Anda harus mengganti variabel dalam contoh di atas dengan nilai sebenarnya sebagai berikut:
- BLOCKCHAIN_TYPE: Nama
blockchain. Contoh,
ETHEREUM
. privateServiceConnectEnabled
: Opsional dan dinonaktifkan secara default. Tetapkan ketrue
untuk mengaktifkan Private Service Connect.- CONSENSUS_CLIENT: Nama lapisan
konsensus dari
software klien. Misalnya,
LIGHTHOUSE
. Lihat Konfigurasi yang didukung untuk mengetahui kombinasi yang didukung. - EXECUTION_CLIENT: Nama lapisan
eksekusi software
klien. Misalnya,
GETH
. Lihat Konfigurasi yang didukung untuk mengetahui kombinasi yang didukung. apiEnableAdmin
: Namespace JSON-RPC opsional saat menggunakan klien eksekusi Ethereum Geth. Dinonaktifkan secara default. Tetapkan ketrue
untuk mengaktifkan.apiEnableDebug
: Namespace JSON-RPC opsional saat menggunakan klien eksekusi Ethereum Geth. Dinonaktifkan secara default. Tetapkan ketrue
untuk mengaktifkan.- NETWORK: Nama
jaringan. Contoh,
MAINNET
. - NODE_TYPE: Jenis node blockchain. Misalnya,
FULL
. - PROJECT_ID: Google Cloud Project ID Anda. Misalnya,
my-project-id
. - LOCATION: Lokasi tempat menghosting resource Anda. Informasi ini tidak dapat diubah nanti. Contoh,
us-central1
. Lihat Lokasi yang didukung. - NODE_NAME: Nama yang Anda tentukan untuk node.
Gunakan huruf kecil (a-z), angka, dan tanda hubung. Contoh,
my-node
. labels
: Pasangan nilai kunci. Pada contoh di atas, kuncinya adalah LABEL_KEY, misalnyamy-label-key
dan nilainya adalah LABEL_VALUE, misalnyamy-label-value
.
Berikut adalah contoh respons untuk perintah di atas:
{
"name": "projects/my-project-id/locations/us-central1/operations/operation-1683664820863-5fb48c391814a-a546e3e6-ddee30ad",
"metadata": {
"@type": "type.googleapis.com/google.cloud.blockchainnodeengine.v1.OperationMetadata",
"createTime": "2023-05-09T20:40:20.979144857Z",
"target": "projects/my-project-id/locations/us-central1/blockchainNodes/my-node",
"verb": "create",
"requestedCancellation": false,
"apiVersion": "v1"
},
"done": false
}
Perhatikan bahwa OPERATION_ID ditampilkan dalam contoh sebelumnya:
operation-1683664820863-5fb48c391814a-a546e3e6-ddee30ad
Anda dapat menggunakan nilai ini untuk mendapatkan status pembuatan node blockchain.
Konfigurasi Validator
Ada opsi tambahan yang tersedia untuk mendukung pelanggan yang menggunakan klien beacon Blockchain Node Engine dengan klien validator yang dikelola pelanggan.
CATATAN: Opsi ini hanya tersedia menggunakan API.
Untuk membuat node blockchain dengan opsi validator yang ditetapkan, gunakan perintah curl
seperti:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"blockchainType": "BLOCKCHAIN_TYPE",
"ethereumDetails": {
"consensusClient": "CONSENSUS_CLIENT",
"executionClient": "EXECUTION_CLIENT",
"apiEnableAdmin": false,
"apiEnableDebug": false,
"network": "NETWORK",
"nodeType": "NODE_TYPE",
"validatorConfig": {
"beaconFeeRecipient": "BEACON_FEE_RECIPIENT",
"mev_relay_urls": "MEV_RELAY_URL",
}
},
}' \
https://blockchainnodeengine.googleapis.com/v1/projects/PROJECT_ID/\
locations/LOCATION/blockchainNodes?blockchain_node_id=NODE_NAME
Penerima Biaya Beacon
Penerima biaya default dapat ditetapkan di klien beacon, yang digunakan jika penerima biaya tidak ditentukan oleh klien validator. Meskipun dokumentasi Lighthouse merujuk ke ini sebagai penerima biaya yang disarankan, karena klien eksekusi dan beacon tepercaya, penerima selalu digunakan jika ditentukan.
Penerima biaya beacon harus berupa alamat Ethereum dengan awalan "0x", misalnya "0xb469d8b44a3f559a3386af6273ec4a71da88a15a".
URL relay MEV
Node blockchain dilengkapi dengan layanan MEV-boost terkelola. Hal ini memungkinkan pelanggan menggunakan layanan pembuat blok eksternal, mengambil blok terbaik yang ditawarkan oleh layanan tersebut, dan mengusulkan blok tersebut.
Tidak ada layanan tertentu yang direkomendasikan atau didukung, dan pelanggan bertanggung jawab untuk memverifikasi layanan yang mereka pilih di sini.
URL relay MEV ditentukan sebagai daftar URL yang dipisahkan koma, misalnya "https://mev1.example.org/,https://mev2.example.org/".
Konfigurasi yang didukung
Blockchain Node Engine mendukung berbagai konfigurasi. Anda dapat membuat node dengan salah satu kombinasi berikut:
nodeType | jaringan | executionClient | consensusClient |
---|---|---|---|
PENUH | MAINNET | GETH | MERCUSUAR |
PENUH | TESTNET_GOERLI_PRATER | GETH | MERCUSUAR |
PENUH | TESTNET_SEPOLIA | GETH | MERCUSUAR |
PENUH | TESTNET_HOLESKY | GETH | MERCUSUAR |
ARSIP | MAINNET | ERIGON | MERCUSUAR |