Beerus adalah Starknet Light Client yang terinspirasi oleh dan menggunakan Helios.
Pada awal tahun 2024 Eiger mengambil alih kepemilikan repositori Beerus dan kepemimpinan proyek. Beerus dimulai oleh Tim Eksplorasi Starkware dan kami berterima kasih atas kepercayaan mereka serta kerja luar biasa yang telah mereka lakukan.
Salah satu tujuan kami adalah mengintegrasikan Beerus ke dalam dompet berbasis web, memungkinkan pengguna untuk beralih ke mode klien ringan dengan lancar. Transisi ini sangat penting bagi mereka yang memilih untuk tidak bergantung pada penyedia RPC yang tidak tepercaya, sebuah langkah penting menuju operasi tanpa kepercayaan.
Kami memposting pembaruan pengembangan di saluran Telegram
Salin file konfigurasi dari etc/conf/beerus.toml
dan atur URL penyedia RPC di salinannya. Pastikan penyedia kompatibel. Baca lebih lanjut tentang penyedia di sini
Kemudian jalankan:
cargo run --release -- -c ./path/to/config.toml
Setelah Beerus mulai memverifikasi bahwa ia aktif dan berjalan, coba permintaan ini:
curl -H 'Content-type: application/json' -d'{
"jsonrpc": "2.0",
"method": "starknet_getStateRoot",
"params": [],
"id": 1
}' http://127.0.0.1:3030
Hasil yang sukses akan terlihat seperti di bawah ini:
{"jsonrpc":"2.0","result":"0x539895aff28be4958188c1d4e8e68ee6772bdd49dd9362a4fbb189e61c54ff1","id":1}
bidang | contoh | keterangan |
---|---|---|
ethereum_rpc | https://eth-mainnet.g.alchemy.com/v2/{YOUR_API_KEY} | url penyedia simpul L1 yang tidak tepercaya |
starknet_rpc | https://starknet-mainnet.g.alchemy.com/starknet/version/rpc/v0_7/{YOUR_API_KEY} | url penyedia simpul L2 yang tidak tepercaya |
data_dir | tmp | Lokasi OPTIONAL untuk menyimpan data L1 dan L2 |
jajak pendapat_detik | 5 | OPTIONAL detik untuk menunggu kueri status sn, min = 1 dan maks = 3600 |
rpc_addr | 127.0.0.1:3030 | Alamat lokal OPTIONAL untuk mendengarkan permintaan rpc |
Saat Anda memilih jaringan, periksa apakah url ethereum_rpc
dan starknet_rpc
juga mengarah ke jaringan yang sesuai. Misalnya:
UTAMA
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 mengandalkan DUA titik akhir RPC yang tidak tepercaya, satu untuk L1 (Ethereum), dan satu lagi untuk L2 (Starknet). Karena ini tidak tepercaya, biasanya node tersebut bukan node yang dijalankan di host lokal atau jaringan lokal Anda.
Beerus mengharapkan menyajikan spesifikasi Starknet OpenRPC v0.7.1.
Penyedia RPC Starknet juga harus mendukung titik akhir pathfinder_getProof
API ekstensi Pathfinder.
Anda dapat memeriksa apakah penyedia tersebut kompatibel dengan menjalankan perintah ini:
# 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"
]
]
}
'
Jika Anda mendapatkan respons seperti di bawah ini, maka penyedianya tidak kompatibel .
{
"jsonrpc": "2.0",
"id": 1,
"error": {
"code": -32601,
"message": "method 'pathfinder_getProof' not found"
}
}
Kami merekomendasikan menggunakan salah satu penyedia berikut:
Penyedia API lainnya dapat ditemukan di sini.
Untuk penyedia Ethereum RPC, tidak ada persyaratan khusus. Penyedia harus mendukung Spesifikasi Ethereum JSON-RPC
CATATAN: kami mengandalkan helios untuk nilai pos pemeriksaan yang valid dan url konsensus rpc
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 mengikuti praktik keamanan yang baik, namun keamanan 100% tidak dapat dijamin. Beerus disediakan "sebagaimana adanya" tanpa jaminan apa pun. Gunakan dengan risiko Anda sendiri.