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 Node ditampilkan secara default. Jika tidak ada node blockchain yang dibuat, Anda akan diminta untuk membuatnya.
Untuk membuat node blockchain:
Klik Buat. Wizard Create a blockchain node akan terbuka.
Konfigurasi 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,
Konfigurasi info blockchain: Konfigurasi 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
eksekusi/konsensus
lapisan software
klien. Misalnya,
GETH
/LIGHTHOUSE
. Lihat Konfigurasi yang didukung untuk kombinasi yang didukung. - Aktifkan namespace tambahan: Namespace JSON-RPC opsional
saat menggunakan klien eksekusi Ethereum Geth. Misalnya,
debug
. - Klik Lanjutkan.
- Jaringan: Nama
jaringan.
Contohnya,
Konfigurasi info jaringan:
- Pilih
lokasi geografis
tempat menghosting resource Anda. Contoh,
us-central1
. Informasi ini tidak dapat diubah nanti. Lihat Lokasi yang didukung. - Mengonfigurasi Endpoint: Membuat endpoint yang dapat diakses secara publik.
- Klik Lanjutkan.
- Pilih
lokasi geografis
tempat menghosting resource Anda. Contoh,
Menambahkan label:
- Ketik pasangan nilai kunci. Klik Tambahkan item untuk menambahkan lebih banyak pasangan nilai kunci.
- Klik Lanjutkan.
Klik Buat. Node blockchain akan dibuat dan daftar Nodes akan ditampilkan. Status menunjukkan Creating hingga node blockchain siap digunakan, dan kemudian status 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 ini dengan nilai aktual sebagai berikut:
- BLOCKCHAIN_TYPE: Nama
blockchain. Contoh,
ETHEREUM
. - 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
: Opsional namespace JSON-RPC saat menggunakan klien eksekusi Ethereum Geth. Dinonaktifkan secara default. Setel ketrue
untuk mengaktifkan.apiEnableDebug
: Opsional namespace JSON-RPC saat menggunakan klien eksekusi Ethereum Geth. Dinonaktifkan secara default. Setel ketrue
untuk mengaktifkan.- NETWORK: Nama
jaringan. Contoh,
MAINNET
. - NODE_TYPE: Jenis node blockchain. Misalnya,
FULL
. - PROJECT_ID: ID project Google Cloud 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. Dalam contoh, kuncinya adalah LABEL_KEY, misalnyamy-label-key
dan nilainya adalah LABEL_VALUE, misalnyamy-label-value
.
Berikut adalah contoh respons terhadap perintah sebelumnya:
{
"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 suar 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 menyebutnya 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 managed MEV-boost yang disertakan. Hal ini memungkinkan pelanggan menggunakan layanan atau beberapa 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 relai 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 | LIGHTHOUSE |
PENUH | TESTNET_GOERLI_PRATER | GETH | LIGHTHOUSE |
PENUH | TESTNET_SEPOLIA | GETH | LIGHTHOUSE |
PENUH | TESTNET_HOLESKY | GETH | LIGHTHOUSE |
ARSIP | MAINNET | ERIGON | LIGHTHOUSE |