이 페이지에서는 콘솔 또는 API 호출을 사용하여 블록체인 노드 엔진에서 이더리움 블록체인 노드를 만드는 방법을 설명합니다.
Console 사용
Google Cloud 콘솔에서 Blockchain Node Engine 페이지로 이동합니다.
기본적으로 노드 목록 페이지가 표시됩니다. 블록체인 노드가 생성되지 않은 경우 노드를 만들라는 메시지가 표시됩니다.
블록체인 노드를 만들려면 다음 단계를 따르세요.
만들기를 클릭합니다. 블록체인 노드 만들기 마법사가 열립니다.
노드 정보 구성:
블록체인 정보 구성: 블록체인 관련 정보를 구성합니다. 예를 들어 이더리움 노드를 구성하려면 다음 옵션을 선택합니다. 다음 정보는 나중에 변경할 수 없습니다.
네트워크 정보 구성:
라벨 추가:
- 키-값 쌍을 입력합니다. 항목 추가를 클릭하여 키-값 쌍을 더 추가합니다.
- 계속을 클릭합니다.
만들기를 클릭합니다. 블록체인 노드가 생성되고 노드 목록이 표시됩니다. 블록체인 노드를 사용할 수 있을 때까지 상태는 생성 중으로 표시되고, 그 후 상태가 실행 중으로 변경됩니다.
API 사용
API를 사용하여 블록체인 노드를 만들려면 블록체인 노드 사양과 함께 API에 POST 요청을 전송합니다. curl
명령어를 사용하여 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
이 예시의 변수를 다음과 같이 실제 값으로 바꿔야 합니다.
- BLOCKCHAIN_TYPE: 블록체인의 이름입니다. 예를 들면 다음과 같습니다.
ETHEREUM
- CONSENSUS_CLIENT: 클라이언트 소프트웨어의 합의 레이어 이름입니다. 예를 들면
LIGHTHOUSE
입니다. 지원되는 조합은 지원되는 구성을 참고하세요. - EXECUTION_CLIENT: 클라이언트 소프트웨어의 실행 레이어 이름입니다. 예를 들면
GETH
입니다. 지원되는 조합은 지원되는 구성을 참고하세요. apiEnableAdmin
: Ethereum Geth 실행 클라이언트를 사용할 때 선택적인 JSON-RPC 네임스페이스입니다. 기본적으로 사용 중지됩니다. 사용 설정하려면true
로 설정합니다.apiEnableDebug
: Ethereum Geth 실행 클라이언트를 사용할 때 선택적인 JSON-RPC 네임스페이스입니다. 기본적으로 사용 중지됩니다. 사용 설정하려면true
로 설정합니다.- NETWORK: 네트워크의 이름입니다. 예를 들면 다음과 같습니다.
MAINNET
- NODE_TYPE: 블록체인 노드의 유형입니다. 예를 들면
FULL
입니다. - PROJECT_ID: Google Cloud 프로젝트 ID입니다. 예를 들면
my-project-id
입니다. - LOCATION: 리소스를 호스팅할 위치입니다. 이 정보는 나중에 변경할 수 없습니다. 예를 들면 다음과 같습니다.
us-central1
지원되는 위치를 참고하세요. - NODE_NAME: 노드에 지정한 이름입니다.
소문자 (a~z), 숫자, 하이픈을 사용하세요. 예를 들면
my-node
입니다. labels
: 키-값 쌍입니다. 이 예시에서 키는 LABEL_KEY(예:my-label-key
)이고 값은 LABEL_VALUE(예:my-label-value
)입니다.
다음은 이전 명령어에 대한 샘플 응답입니다.
{
"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
}
이전 예시에서는 OPERATION_ID가 반환됩니다.
operation-1683664820863-5fb48c391814a-a546e3e6-ddee30ad
이 값을 사용하여 블록체인 노드 생성의 상태를 가져올 수 있습니다.
유효성 검사기 구성
고객 관리형 검증자 클라이언트로 블록체인 노드 엔진 비콘 클라이언트를 사용하는 고객을 지원하기 위한 추가 옵션이 있습니다.
참고: 이러한 옵션은 API를 통해서만 사용할 수 있습니다.
유효성 검사기 옵션이 설정된 블록체인 노드를 만들려면 다음과 같은 curl
명령어를 사용하세요.
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
비콘 수수료 수령자
기본 수수료 수신자는 비콘 클라이언트에 설정할 수 있으며, 이는 검사기 클라이언트에서 수수료 수신자를 지정하지 않은 경우에 사용됩니다. Lighthouse 문서에서는 이를 추천 수수료 수신자로 언급하지만 실행 클라이언트와 비콘 클라이언트가 모두 신뢰할 수 있으므로 수신자가 지정된 경우 항상 사용됩니다.
비콘 수수료 수신자는 '0x' 접두사가 있는 이더리움 주소여야 합니다(예: '0xb469d8b44a3f559a3386af6273ec4a71da88a15a').
MEV-relay URL
블록체인 노드에는 관리형 MEV-boost 서비스가 포함되어 있습니다. 이를 통해 고객은 외부 블록 빌더 서비스 또는 서비스를 사용하여 해당 서비스에서 제공하는 최적의 블록을 가져와 제안할 수 있습니다.
특정 서비스가 추천되거나 보증되지 않으며, 고객은 여기에서 선택한 서비스를 확인해야 합니다.
MEV-relay URL은 쉼표로 구분된 URL 목록으로 지정됩니다(예: 'https://mev1.example.org/,https://mev2.example.org/').
지원되는 구성
블록체인 노드 엔진은 다양한 구성을 지원합니다. 다음 조합으로 노드를 만들 수 있습니다.
nodeType | 네트워크 | executionClient | consensusClient |
---|---|---|---|
FULL | MAINNET | GETH | LIGHTHOUSE |
FULL | TESTNET_GOERLI_PRATER | GETH | LIGHTHOUSE |
FULL | TESTNET_SEPOLIA | GETH | LIGHTHOUSE |
FULL | TESTNET_HOLESKY | GETH | LIGHTHOUSE |
Archive | MAINNET | ERIGON | LIGHTHOUSE |