Beranda>Terkait pemrograman>Kode sumber lainnya

Pembaruan proyek

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

Memulai

Menjalankan Beerus untuk pertama kalinya

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}

Konfigurasi

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}"

Penyedia RPC

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.

Titik akhir RPC Starknet

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.

Titik akhir RPC Ethereum

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

Perkembangan

Membangun

cargo build --release

Tes

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 

Buruh pelabuhan

docker build . -t beerus
docker run -e ETHEREUM_RPC= < arg > -e STARKNET_RPC= < arg > -it beerus

Contoh

ALCHEMY_API_KEY= ' YOURAPIKEY ' cargo run --release --example call
ALCHEMY_API_KEY= ' YOURAPIKEY ' cargo run --release --example state

Keamanan

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.

Memperluas
Informasi Tambahan