Beerus ist ein Starknet Light Client, der von Helios inspiriert ist und dieses verwendet.
Anfang 2024 übernahm Eiger den Besitz des Endlagers Beerus und die Leitung des Projekts. Beerus wurde vom Starkware Exploration Team ins Leben gerufen und wir sind dankbar für ihr Vertrauen und die hervorragende Arbeit, die sie geleistet haben.
Eines unserer Ziele ist die Integration von Beerus in webbasierte Wallets, sodass Benutzer nahtlos in einen Light-Client-Modus wechseln können. Dieser Übergang ist von entscheidender Bedeutung für diejenigen, die sich nicht auf nicht vertrauenswürdige RPC-Anbieter verlassen möchten, ein entscheidender Schritt zu einem vertrauenswürdigen Betrieb.
Wir veröffentlichen Entwicklungsupdates auf dem Telegram-Kanal
Kopieren Sie die Konfigurationsdatei von etc/conf/beerus.toml
und richten Sie die RPC-Anbieter-URLs in der Kopie ein. Stellen Sie sicher, dass die Anbieter kompatibel sind. Lesen Sie hier mehr über Anbieter
Führen Sie dann Folgendes aus:
cargo run --release -- -c ./path/to/config.toml
Sobald Beerus mit der Überprüfung begonnen hat, ob es betriebsbereit ist, versuchen Sie es mit dieser Anfrage:
curl -H 'Content-type: application/json' -d'{
"jsonrpc": "2.0",
"method": "starknet_getStateRoot",
"params": [],
"id": 1
}' http://127.0.0.1:3030
Das erfolgreiche Ergebnis sollte etwa wie folgt aussehen:
{"jsonrpc":"2.0","result":"0x539895aff28be4958188c1d4e8e68ee6772bdd49dd9362a4fbb189e61c54ff1","id":1}
Feld | Beispiel | Beschreibung |
---|---|---|
ethereum_rpc | https://eth-mainnet.g.alchemy.com/v2/{YOUR_API_KEY} | URL des nicht vertrauenswürdigen L1-Knotenanbieters |
starknet_rpc | https://starknet-mainnet.g.alchemy.com/starknet/version/rpc/v0_7/{YOUR_API_KEY} | URL des nicht vertrauenswürdigen L2-Knotenanbieters |
Datenverzeichnis | tmp | OPTIONAL Speicherort zum Speichern von L1- und L2-Daten |
poll_secs | 5 | OPTIONAL Sekunden zum Warten auf die Abfrage des SN-Status, min = 1 und max = 3600 |
rpc_addr | 127.0.0.1:3030 | OPTIONAL lokale Adresse zum Lauschen auf RPC-Anforderungen |
Wenn Sie ein Netzwerk auswählen, überprüfen Sie, ob die URLs ethereum_rpc
und starknet_rpc
auch auf die entsprechenden Netzwerke verweisen. Zum Beispiel:
MAINNET
ethereum_rpc = "https://eth-mainnet.g.alchemy.com/v2/{YOUR_API_KEY}"
starknet_rpc = "https://starknet-mainnet.g.alchemy.com/starknet/version/rpc/v0_7/{YOUR_API_KEY}"
SEPOLIA
ethereum_rpc = "https://eth-sepolia.g.alchemy.com/v2/{YOUR_API_KEY}"
starknet_rpc = "https://starknet-sepolia.g.alchemy.com/starknet/version/rpc/v0_7/{YOUR_API_KEY}"
Beerus verlässt sich auf ZWEI nicht vertrauenswürdige RPC-Endpunkte, einen für L1 (Ethereum) und einen für L2 (Starknet). Da diese nicht vertrauenswürdig sind, handelt es sich normalerweise nicht um Knoten, die auf Ihrem lokalen Host oder Ihrem lokalen Netzwerk ausgeführt werden.
Beerus erwartet, Version 0.7.1 der Starknet OpenRPC-Spezifikationen bereitzustellen.
Der Starknet-RPC-Anbieter muss auch den Pathfinder-Erweiterungs-API-Endpunkt pathfinder_getProof
unterstützen.
Sie können überprüfen, ob der Anbieter kompatibel ist, indem Sie diesen Befehl ausführen:
# This is an example RPC url. Use your RPC provider url to check if the node is compatible.
STARKNET_RPC_URL= " https://starknet-sepolia.g.alchemy.com/starknet/version/rpc/v0_7/{YOUR_API_KEY} "
curl --request POST
--url $STARKNET_RPC_URL
--header ' content-type: application/json '
--data '
{
"id": 1,
"jsonrpc": "2.0",
"method": "pathfinder_getProof",
"params": [
{
"block_number": 56072
},
"0x07cb0dca5767f238b056665d2f8350e83a2dee7eac8ec65e66bbc790a4fece8a",
[
"0x01d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"
]
]
}
'
Wenn Sie eine Antwort ähnlich der folgenden erhalten, ist der Anbieter nicht kompatibel .
{
"jsonrpc": "2.0",
"id": 1,
"error": {
"code": -32601,
"message": "method 'pathfinder_getProof' not found"
}
}
Wir empfehlen die Nutzung eines dieser Anbieter:
Weitere API-Anbieter finden Sie hier.
Für den Ethereum RPC-Anbieter gibt es keine besonderen Anforderungen. Der Anbieter muss die Ethereum JSON-RPC-Spezifikation unterstützen
HINWEIS: Wir verlassen uns sowohl für gültige Prüfpunktwerte als auch für Konsens-RPC-URLs auf Helios
cargo build --release
cargo test
# # Run integration tests against live endpoint
export STARKNET_MAINNET_URL=https://starknet-mainnet.g.alchemy.com/starknet/version/rpc/v0_7/ ${ALCHEMY_API_KEY}
export STARKNET_SEPOLIA_URL=https://starknet-sepolia.g.alchemy.com/starknet/version/rpc/v0_7/ ${ALCHEMY_API_KEY}
BEERUS_TEST_RUN=1 cargo test
docker build . -t beerus
docker run -e ETHEREUM_RPC= < arg > -e STARKNET_RPC= < arg > -it beerus
ALCHEMY_API_KEY= ' YOURAPIKEY ' cargo run --release --example call
ALCHEMY_API_KEY= ' YOURAPIKEY ' cargo run --release --example state
Beerus befolgt bewährte Sicherheitspraktiken, eine 100-prozentige Sicherheit kann jedoch nicht gewährleistet werden. Beerus wird „wie besehen“ ohne jegliche Gewährleistung bereitgestellt. Die Nutzung erfolgt auf eigene Gefahr.