Validator247
  • 🛠️Validator247
  • 🔏Mainnet
    • 🔋MantraChain
    • 🔋Shentu
    • 🔋Nibiru
    • 🔋Dymension
    • 🔋Arch way
    • 🔋Pactus
    • 🔋SEDA
    • 🔋Entangle
    • 🔋SelfChain
    • 🔋Penumbra
    • 🔋ZetaChain
    • 🔋Elys Network
  • 🔐Testnet
    • 💠RPC Node 0G_Lab
    • 💠0G_storage-node-V3_Galileo
    • 💠XRPL EVM network
    • 💠Initia
    • 💠MantraChain-Dukong
    • 💠AlignedLayer
    • 💠Warden Protocol
    • 💠Airchains - varanasi-1
    • 💠Airchains
    • 💠Hedge
    • 💠Celestia
    • 💠Mantrachain - Hongbai
    • 💠0G_Lab
    • 💠Galactica
    • 💠Penumbra
    • 💠Side Protocol
    • 💠Avail
    • 💠Entangle
    • 💠Namada
    • 💠Autonity
    • 💠0G Newton - V2
    • 💠Empeiria
  • 💠Tanssi
  • 💠Fiamma Chain
  • 💠Story Protocol
  • 💠Nillion
  • 💠Prysm
  • 💠Octra-Labs
  • 💠Pipe Network
  • 🏁EigenLayer testnet
  • ❎Overview of the Initia Project
  • 💲Initia: Integrating L1 and L2 for a Future-Ready Blockchain Ecosystem
  • IBC
  • 🍉Cosmos Wasm Smart Contracts
  • 🐣Foundry install
  • Group 1
    • 🐣hetzner Pass
  • Page 1
Powered by GitBook
On this page

IBC

Thiết lập IBC Channels:

Hướng dẫn này giả định rằng bạn đã thiết lập và cấu hình Hermes một cách chính xác.

Yêu cầu trước khi bắt đầu:

  1. Node RPC đã đồng bộ hoàn chỉnh cho mỗi chuỗi mà bạn muốn truyền tải.

  2. Cần có ví cụ thể cho mỗi chuỗi để tài trợ cho việc truyền tải gói tin.

  3. Đã thiết lập indexing là kv trong config.toml cho mỗi node.

Bước 1: Tạo tệp mnemonic

Tạo tệp mnemonic cho Persistence và Crescent:

nano core-1.mnemonic

Sau đó, nhập cụm từ seed và lưu lại.

nano crescent-1.mnemonic

Nhập cụm từ seed cho Crescent và lưu lại.

Bước 2: Thêm/phục hồi khóa

Thêm hoặc phục hồi khóa liên quan đến tệp mnemonic đã lưu:

hermes keys add --chain core-1 --mnemonic-file core-1.mnemonic

Làm tương tự với Crescent:

hermes keys add --chain crescent-1 --mnemonic-file crescent-1.mnemonic

Bước 3: Kiểm tra khóa

Vào thư mục khóa để kiểm tra xem các khóa đã được lưu trữ đúng chưa:

hermes keys list --chain core-1

Kiểm tra số dư để đảm bảo bạn có đủ số dư để thực hiện lệnh tạo kênh:

hermes keys balance --chain core-1
hermes keys balance --chain crescent-1

Bước 4: Cấu hình trong config.toml

Thêm hai đoạn cấu hình cho các chuỗi vào tệp config.toml trên máy ảo cosmos-relayer:

[[chains]]
id = 'core-1'
rpc_addr = 'http://<ip>:<port>'
grpc_addr = 'http://<ip>:<port>'
websocket_addr = 'ws://<ip>:<port>/websocket'
rpc_timeout = '10s'
account_prefix = 'persistence'
key_name = 'persistence'
store_prefix = 'ibc'
max_gas = 2000000
max_tx_size = 180000
gas_price = { price = 0.008, denom = 'uxprt' }
gas_multiplier = 1.1
clock_drift = '15s'
trusting_period = '14days'
trust_threshold = { numerator = '1', denominator = '3' }
memo_prefix = '<add your memo>'
[chains.packet_filter]
policy = 'allow'
list = [
<channel information to be added here>
]

[[chains]]
id = 'crescent-1'
rpc_addr = 'http://<ip>:<port>'
grpc_addr = 'http://<ip>:<port>'
websocket_addr = 'ws://<ip>:<port>/websocket'
rpc_timeout = '15s'
account_prefix = 'cre'
key_name = 'crescent'
store_prefix = 'ibc'
default_gas = 3000000
max_gas = 10000000
gas_price = { price = 0.01, denom = 'ucre' }
gas_multiplier = 1.2
max_msg_num = 30
max_tx_size = 1800000
clock_drift = '15s'
trusting_period = '9days'
trust_threshold = { numerator = '1', denominator = '3' }
memo_prefix = '<add your memo>'
[chains.packet_filter]
policy = 'allow'
list = [
<channel information to be added here>
]

Lưu và đóng tệp.

Bước 5: Kiểm tra sức khỏe relayer

Sử dụng lệnh sau để kiểm tra xem mọi thứ đã được thiết lập đúng hay chưa:

hermes health-check

Bước 6: Tạo kênh

Tạo các kênh và kết nối khách hàng mới bằng lệnh sau:

hermes create channel --a-chain core-1 --b-chain crescent-1 --a-port transfer --b-port transfer --order unordered --new-client-connection

Nếu quá trình tạo kênh thành công, bạn sẽ nhận được thông báo với thông tin về kênh, kết nối và khách hàng.

Kết quả cuối cùng

Kênh giữa Persistence và Crescent sẽ được thiết lập như sau:

  • core-1 > crescent-1 channel-68

  • crescent-1 > core-1 channel-30

Kết luận

IBC cho phép giao tiếp bất đồng bộ giữa các blockchain, và việc xây dựng các kênh này là một bước quan trọng để nâng cao khả năng kết nối giữa các mạng lưới blockchain. Đảm bảo rằng bạn tiếp tục duy trì và cải thiện công nghệ này để hướng tới một tương lai đa chuỗi mạnh mẽ hơn.

Hướng Dẫn Thiết Lập IBC Giữa Prysm và Warden

Bước 1: Kiểm Tra Sự Kết Nối Kênh

Trước khi tạo kênh, hãy kiểm tra xem có kênh nào đã tồn tại giữa Prysm và Warden hay không. Bạn có thể kiểm tra điều này bằng cách sử dụng explorer như Mintscan hoặc thông qua lệnh query.

Tùy chọn 1: Sử dụng Mintscan Truy cập: Mintscan và kiểm tra các kênh có sẵn.

Tùy chọn 2: Query kênh trên <chain-id>

hermes query channels --chain <chain-id>

Bước 2: Tạo Tệp Mnemonic

Tạo tệp mnemonic cho cả Prysm và Warden.

cd hermes
nano prysm.mnemonic
cd hermes
nano warden.mnemonic

Nhập cụm từ hạt giống (seed phrases) và lưu tệp.

Bước 3: Khôi Phục Khóa

Khôi phục khóa tương ứng với tệp mnemonic đã lưu.

hermes keys add --chain prysm --mnemonic-file prysm.mnemonic

Lặp lại cho Warden:

hermes keys add --chain warden --mnemonic-file warden.mnemonic

Bước 4: Kiểm Tra Khóa

Kiểm tra thư mục khóa để xác nhận rằng các khóa đã được lưu chính xác.

hermes keys list --chain prysm
hermes keys list --chain warden

Bước 5: Kiểm Tra Số Dư

Kiểm tra số dư để đảm bảo có đủ tài nguyên để thực hiện lệnh tạo kênh.

hermes keys balance --chain prysm
hermes keys balance --chain warden

Bước 6: Cấu Hình config.toml

Dưới đây là tệp cấu hình cho Prysm và Warden đã được điều chỉnh theo thông số mà bạn cung cấp:

[global]
log_level = "info"

[[chains]]
id = "prysm-devnet-1"
rpc_addr = "http://127.0.0.1:32657"  # Địa chỉ RPC của mạng
grpc_addr = "http://127.0.0.1:32090"  # Địa chỉ gRPC của mạng
event_source = { mode = "push", url = "ws://127.0.0.1:32657/websocket", batch_delay = "500ms" }
rpc_timeout = "10s"
trusted_node = false
account_prefix = "prysm"
key_name = "prysm-key"
store_prefix = "prysm"
default_gas = 100000
max_gas = 4000000
gas_price = { price = 0.025, denom = "PRYSM" }  # Chú ý dùng ký hiệu đơn vị phù hợp
gas_multiplier = 1.1
max_msg_num = 30
max_tx_size = 2097152
clock_drift = "5s"
max_block_time = "30s"
trusting_period = "14days"
trust_threshold = "2/3"
address_type = { derivation = "cosmos" }

[[chains]]
id = "buenavista-1"
rpc_addr = "http://127.0.0.1:13657"  # Địa chỉ RPC của mạng
grpc_addr = "http://127.0.0.1:13090"  # Địa chỉ gRPC của mạng
event_source = { mode = "push", url = "ws://127.0.0.1:13657/websocket", batch_delay = "500ms" }
rpc_timeout = "10s"
trusted_node = false
account_prefix = "warden"
key_name = "warden-key"
store_prefix = "warden"
default_gas = 100000
max_gas = 4000000
gas_price = { price = 0.025, denom = "Warden" }  # Chú ý dùng ký hiệu đơn vị phù hợp
gas_multiplier = 1.1
max_msg_num = 30
max_tx_size = 2097152
clock_drift = "5s"
max_block_time = "30s"
trusting_period = "14days"
trust_threshold = "2/3"
address_type = { derivation = "cosmos" }

Bước 7: Kiểm Tra Sức Khỏe Của Relayer

Sử dụng lệnh sau để kiểm tra sức khỏe của các chuỗi đã được cấu hình:

hermes health-check

Bước 8: Tạo Kênh

Tạo kênh và kết nối client mới giữa Prysm và Warden:

hermes create channel --a-chain prysm-devnet-1 --b-chain buenavista-1 --a-port transfer --b-port transfer --order unordered --new-client-connection

Khi lệnh thành công, bạn sẽ nhận được thông tin về kênh, kết nối và client.

Bước 9: Ghi Nhớ Thông Tin Kênh

Ghi nhớ tất cả thông tin client, kết nối và kênh vì chúng sẽ cần thiết để duy trì relayer giữa các chuỗi.

Kết Luận

Sau khi hoàn thành các bước trên, bạn sẽ có khả năng tạo ra các kênh IBC giữa Prysm và Warden. Hãy đảm bảo duy trì và cải thiện IBC để góp phần vào việc xây dựng một tương lai đa chuỗi vững mạnh.

PreviousInitia: Integrating L1 and L2 for a Future-Ready Blockchain EcosystemNextCosmos Wasm Smart Contracts

Last updated 8 months ago