Cách tham gia bản phát hành Avalanche-Everest

Avalanche - Việt Nam
8 min readAug 25, 2020

--

Chúng tôi vừa phát hành Everest, ứng cử viên phát hành cho Avalanche, giai đoạn thử nghiệm cuối cùng trước mainnet. Chúng tôi gần như đã sẵn sàng để chia sẻ Avalanche với thế giới.

Avalanche có thông lượng cao (~ 5.000tps), tốc độ cuối cùng nhanh (dưới 2 giây) và khả năng phục hồi cao. Trong testnet được khuyến khích gần đây của chúng tôi, Denali, chúng tôi đã có hơn 1.000 trình xác thực tạo khối đầy đủ tham gia đồng thuận.

Giai đoạn 1 — Cài đặt và chạy Avalanche

Ứng dụng khách Gecko của Avalanche đã được thử nghiệm hoạt động với các hệ điều hành sau:

  • Ubuntu 18.04 và 20.04
  • OSX Catalina trở lên

Yêu cầu phần cứng tối thiểu:

  • CPU: 2 GHz
  • RAM: 3 GB
  • Dung lượng: 250 MB dung lượng trống
  • Các tệp nhị phân chỉ được biên dịch cho x64, yêu cầu bạn phải tự xây dựng từ nguồn để làm cho nó hoạt động trên các kiến ​​trúc khác

Phần cứng được đề xuất:

  • CPU:> 2 GHz
  • RAM:> 3 GB
  • Bộ nhớ:> 5 GB dung lượng trống trên SSD
  • Các tệp nhị phân chỉ được biên dịch cho x64, yêu cầu bạn phải tự xây dựng từ nguồn để làm cho nó hoạt động trên các kiến ​​trúc khác

Với mục đích của hướng dẫn này, một tiện ích được gọi curllà được sử dụng để thực hiện các lệnh gọi API. Tuy nhiên, các tùy chọn thay thế như công cụ Postman cũng thường được sử dụng để thực hiện các lệnh gọi API trên mạng Avalanche. Mặc dù không phải là yêu cầu của Gecko, nhưng bạn nên cài đặt tiện ích này trên hệ điều hành của mình để xem qua nguyên văn hướng dẫn.

  • Tải xuống bản Everest tar.gz (zip dành cho osx) mới nhất được tìm thấy tại đây: https://github.com/ava-labs/gecko/releases
  • Giải nén vào một thư mục chúng ta chọn:
    * Linux: tar -xvf avalanche-linux-<VERSION>.tar.gz
    * OSX: unzip avalanche-osx-<VERSION>.zip
  • cd avalanche-<VERSION>

Khi chúng ta đã giải nén các tệp vào một thư mục mà chúng ta chọn, chúng ta chỉ cần mở thư mục đó trong giao diện dòng lệnh terminal và nhập:

> ./avalanche

Giai đoạn 2 — Đặt cược Avalanche

Để trở thành người xác thực trong mạng Avalanche, trước tiên người ta phải đặt AVAX vào nền tảng. Đối với Everest, số tiền đặt cược tối thiểu là 5.000.000 nAVAX (nano-AVAX). Số tiền này sẽ không giống như trên Mainnet, nhưng chúng tôi đặt ngưỡng này ở mức rất hợp lý để khuyến khích càng nhiều người đam mê trở thành người xác nhận.

Nền tảng Avalanche hiện đang sử dụng các nguyên tắc cơ bản của RPC để hoàn thành công việc. Các loại nguyên thủy này giúp người dùng xây dựng giao dịch, ký giao dịch, gửi giao dịch và duy trì nút. Trong tương lai, các khối nguyên thủy này sẽ được tóm tắt thêm để hỗ trợ các nhiệm vụ cơ bản, nhưng đối với Everest, chúng tôi đảm bảo các khối xây dựng này hoạt động như mong đợi.

Bước 1 — Tạo người dùng và địa chỉ

Để trở thành trình xác thực, người dùng phải được tạo. Lệnh gọi API sau sẽ tạo người dùng có tên người dùng và mật khẩu mà chúng ta chỉ định.

curl -X POST --data '{
"jsonrpc": "2.0",
"id": 1,
"method": "keystore.createUser",
"params": {
"username": "USERNAME CỦA BẠN",
"password": "MẬT KHẨU CỦA BẠN"
}
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/keystore

Bây giờ chúng ta đã có tài khoản, chúng ta cần tạo một địa chỉ trên X-Chain. Địa chỉ này sẽ nhận AVAX từ vòi

curl -X POST --data '{
"jsonrpc":"2.0",
"id" :1,
"method" :"avm.createAddress",
"params" :{
"username": "USERNAME CỦA BẠN",
"password": "MẬT KHẨU CỦA BẠN"
}
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/bc/X

Điều này sẽ trả về một phản hồi như sau, trong đó có địa chỉ mà chúng ta vừa tạo. Chúng ta sẽ cần ghi lại địa chỉ X-Chain của mình vì chúng ta sẽ sử dụng nó trong các bước sau.

{
"jsonrpc": "2.0",
"result": {
"address": "ĐỊA CHỈ X-CHAIN CỦA BẠN"
},
"id": 1
}

Chúng ta cũng phải tạo một địa chỉ trên P-Chain bằng cách sử dụng người dùng của chúng ta.

curl -X POST --data '{ 
"jsonrpc": "2.0",
"method": "platform.createAddress",
"params": {
"username": "USERNAME CỦA BẠN",
"password": "MẬT KHẨU CỦA BẠN"
} ,
"id": 1
} '-H' content-type: application / json; ' 127.0.0.1:9650/ext/P

Điều này trả về tài khoản P-Chain. Chúng ta cũng phải ghi lại điều này, vì chúng ta sẽ sử dụng nó trong các bước sau.

{ 
"jsonrpc": "2.0",
"result": {
"address": "ĐỊA CHỈ P-CHAIN CỦA BẠN"
},
"id": 1
}

Bước 2 — Nhận tiền

Ổn thỏa! Bây giờ chúng ta có một số tài khoản, hãy đặt một số tiền vào chúng. Để bắt đầu, chúng ta sẽ nhận được một số tiền từ Avalanche Testnet Faucet. Chúng ta đưa địa chỉ X-Chain của mình vào biểu mẫu, xác nhận chúng ta là con người và yêu cầu 10.000.000 nAVAX (nano-AVAX).

Các khoản tiền này sẽ đến trong vòng chưa đầy 2 giây. Để xác minh rằng số tiền có trong địa chỉ của chúng ta, hãy gọi hàm sau, thay thế “ĐỊA CHỈ X-CHAIN ​​CỦA BẠN TẠI ĐÂY” bằng địa chỉ X-Chain được cung cấp cho faucet.

curl -X POST --data '{ 
"jsonrpc": "2.0",
"id": 1,
"method": "avm.getBalance",
"params": {
"address": "ĐỊA CHỈ X-CHAIN ​​CỦA BẠN TẠI ĐÂY" ,
"assetID": "AVAX"
}
} '-H' content-type: application / json; ' 127.0.0.1:9650/ext/bc/X

Chúng ta sẽ thấy phản hồi sau, xác nhận rằng chúng ta đã nhận được AVAX của mình.

{
"jsonrpc": "2.0",
"result": {
"balance": "10000000",
"utxoIDs": [
{
"txID": "ZckGnBciWaRyDXiYcs9igvXjyMZH28cSrDVvpkBteHxhYEA3Z",
"outputIndex": 0
}
]
},
"id": 1
}

Bước 3 — Gửi nó đến Nền tảng

Chúng ta đã có tiền! Bây giờ là lúc để làm điều gì đó với nó. Để làm điều này, chúng ta sẽ đưa AVAX từ X-Chain của chúng ta vào P-Chain của chúng ta. P-Chain kiểm soát tất cả các tài khoản staker và bộ xác nhận. Đây là nơi diễn ra sự điều phối nền tảng và giống như X-Chain, nó được chạy theo mặc định trên tất cả các nút trên nền tảng AVAX.

Lệnh gọi API “exportAVAX” bắt đầu một quy trình trên nút cục bộ để ký một giao dịch mà trong một bước có thể chuyển tiền từ X-Chain sang P-Chain trên toàn mạng. Đây là một hoán đổi nguyên tử và mọi nút sẽ tiến hành nó. Đảm bảo sử dụng địa chỉ P-Chain được tạo ở Bước 1, không phải địa chỉ X-Chain. Chúng ta sẽ gửi số tiền đặt cược tối thiểu của Everest — 5.000.000 nAVAX — đến P-Chain để chúng ta có thể xác nhận trên mạng. Chúng ta cũng muốn bao gồm thêm 2.000.000 nAVAX để trả cho 2 phí giao dịch — thứ nhất là nhập tiền vào P-Chain và thứ hai là thêm nút của chúng ta làm trình xác thực.

curl -X POST --data '{
"jsonrpc":"2.0",
"id" :1,
"method" :"avm.exportAVAX",
"params" :{
"username": "USERNAME CỦA BẠN",
"password": "MẬT KHẨU CỦA BẠN",
"to":"ĐỊA CHỈ P-Chain CỦA BẠN TẠI ĐÂY",
"amount": 7000000
}
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/bc/X

Điều này sẽ trả về một TxID trong phản hồi. Chúng ta không cần giữ lại TxID này và có thể bỏ qua nó.

Bước tiếp theo là chấp nhận chuyển giao này trên P-Chain. Để làm được điều này, chúng ta phải chuyển địa chỉ P-Chain của mình tới phương thức “importAVAX” trên P-Chain. Chúng ta cũng chuyển vào “sourceChain”đó là ID hoặc bí danh của chuỗi mà AVAX đang được nhập từ đó. Để nhập tiền từ X-Chain, hãy sử dụng "X".

curl -X POST --data '{
"jsonrpc": "2.0",
"method": "platform.importAVAX",
"params": {
"username": "USERNAME CỦA BẠN",
"password": "MẬT KHẨU CỦA BẠN",
"to":"ĐỊA CHỈ P-Chain CỦA BẠN TẠI ĐÂY",
"sourceChain": "X"
},
"id": 1
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/bc/P

Điều này sẽ trả về một TxID trong phản hồi. Chúng ta không cần giữ lại TxID này và có thể bỏ qua nó.

Đó phải là nó! P-Chain phải có đủ tiền để đặt cược và tham gia với tư cách là người xác nhận trong testnet Everest. Để xác minh, chúng ta gọi getBalanceP-Chain và xác minh số dư.

curl -X POST --data '{
"jsonrpc": "2.0",
"method": "platform.getBalance",
"params":{
"address":"ĐỊA CHỈ P-Chain CỦA BẠN TẠI ĐÂY"
},
"id": 1
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/bc/P

Giai đoạn 3 — Xác thực

Đã thành công! Bây giờ chúng ta đã có tiền trên P-Chain, chúng ta đã sẵn sàng đăng ký để trở thành người xác thực trên mạng. Mỗi nút có một “nodeID” được sử dụng để xác định duy nhất nút trên mạng. Để trở thành trình xác nhận, chúng ta cần cam kết nodeID này là nút thực hiện công việc. Điều đầu tiên cần làm là lấy nodeID của chúng ta và ghi lại nó để chúng ta có thể sử dụng nó sau này.

curl -X POST --data '{
"jsonrpc": "2.0",
"method": "info.getNodeID",
"params":{},
"id": 1
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/info

Bước tiếp theo là xây dựng một giao dịch bổ sung nodeID của chúng ta vào mạng. Trong ví dụ dưới đây, chúng ta đang đặt thời gian bắt đầu là 15 phút kể từ bây giờ và chúng ta sẽ kết thúc vào ngày 15 tháng 8 năm 2021.

  • Lưu ý: trên OSX, bạn nên sử dụng $(gdate” thay vì “$(date”. Nếu bạn chưa cài đặt “gdate”, hãy thực hiện “brew install coreutils” trong terminal của bạn.
curl -X POST --data '{
"jsonrpc": "2.0",
"method": "platform.addDefaultSubnetValidator",
"params": {
"username":"USERNAME CỦA BẠN TẠI ĐÂY",
"password":"MẬT KHẨU CỦA BẠN TẠI ĐÂY",
"nodeID":"NODEID CỦA BẠN TẠI ĐÂY",
"rewardAddress":"ĐỊA CHỈ P-Chain CỦA BẠN TẠI ĐÂY",
"startTime":'$(date --date="15 minutes" +%s)',
"endTime":1629032852,
"stakeAmount":5000000,
"delegationFeeRate":0
},
"id": 1
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/P

Điều này sẽ trả về một TxID trong phản hồi. Chúng ta không cần giữ lại TxID này và có thể bỏ qua nó. Và đó phải là điều đó! Chúng ta sẽ thấy mình trong danh sách các trình xác thực đang chờ xử lý ngay bây giờ và sau 15 phút nữa, chúng ta sẽ có trong danh sách các trình xác thực hiện tại!

curl -X POST --data '{
"jsonrpc": "2.0",
"method": "platform.getPendingValidators",
"params": {},
"id": 4
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/Pcurl -X POST --data '{
"jsonrpc": "2.0",
"method": "platform.getCurrentValidators",
"params": {},
"id": 1
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/P

Công cụ có sẵn

Bây giờ chúng ta đã thiết lập một nút cục bộ, hãy thoải mái xem các công cụ và tài nguyên khác có sẵn cho Avalanche.

Chúc vui vẻ! Và hãy cho mọi người biết trong kênh Discord của chúng tôi nếu bạn cần hỗ trợ.

Về Avalanche

Avalanche là một nền tảng mã nguồn mở để khởi chạy các ứng dụng tài chính phi tập trung và triển khai chuỗi khối doanh nghiệp trong một hệ sinh thái có thể tương tác, có khả năng mở rộng cao. Các nhà phát triển xây dựng trên Avalanche có thể dễ dàng tạo các ứng dụng mạnh mẽ, đáng tin cậy và an toàn và các mạng blockchain tùy chỉnh với các bộ quy tắc phức tạp hoặc xây dựng trên các mạng con riêng tư hoặc công khai hiện có.

Website | Whitepapers | Twitter | Discord | GitHub | Documentation | Explorer | Avalanche-X | Telegram | Facebook | LinkedIn | Reddit | YouTube

Nguồn bài viết: https://medium.com/avalabs/how-to-join-avalanche-everest-release-a40cd20aa654
Kết nối với chúng tôi tại: https://t.me/avalanche_vn

--

--

Avalanche - Việt Nam
Avalanche - Việt Nam

Written by Avalanche - Việt Nam

Chào mừng bạn đến với Avalanche - Việt Nam: https://t.me/avalanche_vn

No responses yet