Skip to main content

Thiết lập Client Chuỗi CrossFi

Trình điều khiển Crossfi Chain

crossfid là công cụ cho phép bạn tương tác với nút chạy trên mạng Cosmos Hub, bất kể bạn có chạy nó hay không. Hãy thiết lập nó đúng cách.

Thiết lập crossfid

Lệnh chính dùng để thiết lập crossfid là như sau:

cấu hình crossfid

Nó cho phép bạn thiết lập giá trị mặc định cho từng cờ được cung cấp.

Đầu tiên, thiết lập địa chỉ của nút đầy đủ mà bạn muốn kết nối:

cấu hình crossfid node :

# ví dụ: cấu hình crossfid node https://77.87.106.33:26657

Nếu bạn chạy nút đầy đủ của riêng mình, chỉ cần sử dụng tcp://localhost:26657 làm địa chỉ.

Sau đó, chúng ta hãy thiết lập giá trị mặc định của cờ --trust-node:

cấu hình crossfid trust-node true

# Đặt là true nếu bạn tin tưởng nút đầy đủ mà bạn đang kết nối, false nếu không

Cuối cùng, hãy thiết lập chain-id của chuỗi khối mà chúng ta muốn tương tác:

cấu hình crossfid chain-id crossfi-1

Quản lý khóa

Keyring

Keyring lưu trữ các cặp chìa khóa riêng/công khai dùng để tương tác với nút. Chẳng hạn, một khóa trình điều khiển cần được thiết lập trước khi chạy nút chuỗi khối, để cho phép kí khối chính xác. Chìa khóa riêng có thể được lưu trữ tại những vị trí khác nhau, được gọi là "backends", như trong một tập tin hoặc trong bộ lưu trữ khóa của hệ điều hành.

Các môi trường không có giao diện đồ họa đề xuất sử dụng backends file hoặc pass.

Các loại khóa

Có ba loại biểu diễn khóa được sử dụng:

  • mp
    • Được tạo từ các khóa tài khoản bằng cách sử dụng crossfid keys add
    • Sử dụng để nhận tiền
    • ví dụ: mp15h6vd5f0wqps26zjlwrc6chah08ryu4hzzdwhc
  • mpvaloper
    • Sử dụng để kết hợp trình điều khiển với nhà điều hành của nó
    • Sử dụng để kích hoạt các lệnh staking
    • ví dụ: mpvaloper1carzvgq3e6y3z5kz5y6gxp3wpy3qdrv928vyah
  • mppub
    • Được tạo từ các khóa tài khoản bằng cách sử dụng crossfid keys add
    • ví dụ: mppub1zcjduc3q7fu03jnlu2xpl75s2nkt7krm6grh4cc5aqth73v0zwmea25wj2hsqhlqzm
  • mpvalconspub
    • Được tạo khi nút được khởi tạo với crossfid init.
    • Nhận giá trị này với crossfid tendermint show-validator
    • ví dụ: mpvalconspub1zcjduepq0ms2738680y72v44tfyqm3c9ppduku8fs6sr73fx7m666sjztznqzp2emf

Di chuyển Khóa từ Keybase On-Disk Cổ Điển sang Cửa hàng Bí mật Tích hợp trong Hệ Điều Hành

Các phiên bản cũ hơn của crossfid sử dụng để lưu trữ các khóa trong thư mục chính của người dùng. Nếu bạn đang di chuyển từ một phiên bản cũ hơn của crossfid, bạn sẽ cần di chuyển các khóa cũ của mình vào bộ nhớ chứng chỉ của hệ điều hành bằng cách chạy lệnh sau:

crossfid keys migrate

Lệnh này sẽ yêu cầu mỗi cụm mật khẩu. Nếu một cụm mật khẩu không đúng, nó sẽ bỏ qua khóa tương ứng.


Tạo Chìa khóa

Bạn sẽ cần một cặp khóa riêng và khóa công cộng tài khoản (còn gọi là sk, pk) để có thể nhận tiền, gửi các giao dịch, trái phiếu tx, v.v.

Để tạo khóa secp256k1 mới:

crossfid keys add

Kết quả khi chạy lệnh trên sẽ chứa một cụm từ seed. Nên lưu cụm từ seed ở một nơi an toàn để trong trường hợp bạn quên mật khẩu của bộ lưu trữ chứng chỉ của hệ điều hành, bạn có thể phục hồi các khóa từ cụm từ seed với lệnh sau:

crossfid keys add --recover

Nếu bạn kiểm tra lại các chìa khóa riêng, bạn sẽ thấy:``

crossfid keys show

Xem địa chỉ của nhà điều hành trình điều khiển qua:

crossfid keys show  --bech=val

Bạn có thể xem tất cả các khóa có sẵn bằng cách gõ:

crossfid keys list

Xem khóa public của trình điều khiển cho nút của bạn bằng cách gõ:

crossfid tendermint show-validator

Lưu ý rằng đây là khóa ký tên Tendermint, không phải là khóa mà bạn sẽ sử dụng trong các giao dịch ủy thác.

Chúng tôi khuyến cáo KHÔNG sử dụng cùng một cụm mật khẩu cho nhiều phím chìa. Đội ngũ Tendermint và Quỹ Interchain sẽ không chịu trách nhiệm về mất vốn.


Tạo khóa công khai Multisig

Bạn có thể tạo và xuất một khóa công khai multisig bằng cách gõ:

crossfid keys add --multisig=name1,name2,name3[...] --multisig-threshold=K new_key_name

K là số chìa khóa riêng tối thiểu phải ký giao dịch có địa chỉ của khóa công khai làm người ký.

Cờ --multisig phải chứa tên của các chìa khóa công cộng sẽ được kết hợp thành một khóa công khai và được tạo ra và lưu trữ như new_key_name trong cơ sở dữ liệu cục bộ. Tất cả các tên được cung cấp thông qua --multisig phải đã tồn tại trong cơ sở dữ liệu cục bộ. Trừ khi có cờ --nosort, thứ tự sắp xếp chìa khóa cung cấp trên dòng lệnh không quan trọng, tức là các lệnh sau đây tạo hai khóa giống hệt nhau:

crossfid keys add --multisig=foo,bar,baz --multisig-threshold=2 multisig_address
crossfid keys add --multisig=baz,foo,bar --multisig-threshold=2 multisig_address

Các địa chỉ multisig cũng có thể được tạo ngay và xuất ra thông qua lệnh sau:

crossfid keys show --multisig-threshold K name1 name2 name3 [...]

Để biết thêm thông tin về cách tạo, ký và phát sóng các giao dịch với một tài khoản đa chữ ký, xem Giao dịch Multisig.


Phát Sóng Giao Dịch

Khi phát sóng các giao dịch, crossfid nhận một cờ --broadcast-mode. Cờ này có thể có giá trị sync (mặc định), async, hoặc block, trong đó sync khiến client trả về phản hồi CheckTx, async khiến client trả về ngay lập tức, và block khiến client chờ đợi tx được cam kết (hoặc hết thời gian).

Điều quan trọng cần lưu ý là chế độ block không nên được sử dụng trong hầu hết các trường hợp. Điều này là do truyền phát sóng có thể hết thời gian nhưng tx vẫn có thể được bao gồm trong một khối. Điều này có thể dẫn đến nhiều tình huống không mong muốn. Do đó, tốt nhất là sử dụng sync hoặc async và truy vấn bằng cách hash tx để xác định khi nào tx được bao gồm trong một khối.

Phí & Gas

Mỗi giao dịch có thể cung cấp phí hoặc giá gas, nhưng không được cả hai.

Giá gas tối thiểu của trình điều khiển có cấu hình đa biểu và chúng sử dụng giá trị này khi xác định có nên bao gồm giao dịch trong một khối trong CheckTx, nơi gasPrices >= minGasPrices. Lưu ý, giao dịch của bạn phải cung cấp phí lớn hơn hoặc bằng bất kỳ trong các đơn vị mà trình điều khiển yêu cầu.

Lưu ý: Với cơ chế này đang hoạt động, các trình điều khiển có thể bắt đầu ưu tiên tx theo gasPrice trong mempool, do đó việc cung cấp phí hoặc giá gas cao hơn có thể mang lại ưu tiên tx cao hơn.

ví dụ.

crossfid tx bank send ... --fees=50000uatom

hoặc

bash
crossfid tx bank send ... --gas-prices=0.0025uatom

Hoạt Động Tài Khoản

Nhận Token

Trên testnet, việc nhận token thường được thực hiện thông qua một faucet. Hiện tại không có faucet công khai nào.

Truy vấn Số dư tài khoản

Sau khi nhận được token vào địa chỉ của bạn, bạn có thể xem số dư tài khoản của mình bằng cách gõ:

truy vấn crossfid tài khoản

Khi bạn truy vấn số dư tài khoản với không có token, bạn sẽ nhận được lỗi này: Không có tài khoản có địa chỉ này được tìm thấy trong trạng thái. Điều này cũng có thể xảy ra nếu bạn nạp tiền vào tài khoản trước khi nút của bạn đã đồng bộ hoàn toàn với chuỗi. Đây là điều bình thường.

Gửi Token

Lệnh sau có thể được sử dụng để gửi tiền xu từ một tài khoản đến tài khoản khác:

crossfid tx bank send   10faucetToken \
--chain-id=

Tham số số lượng nhận định dạng .

Bạn có thể muốn giới hạn lượng gas tối đa có thể được tiêu thụ bởi giao dịch bằng cách sử dụng cờ --gas. Nếu bạn truyền --gas=auto, nguồn cấp gas sẽ được ước tính tự động trước khi thực hiện giao dịch. Ước tính gas có thể không chính xác khi có thay đổi trạng thái giữa cuối cuộc mô phỏng và thực hiện thực tế của giao dịch, do đó điều chỉnh cần thực hiện trên ước tính gốc để đảm bảo giao dịch được phát sóng thành công. Điều chỉnh này có thể được điều khiển thông qua cờ --gas-adjustment, có giá trị mặc định là 1.0.

Bây giờ, xem lại số dư được cập nhật của các tài khoản nguồn và đích:

truy vấn crossfid tài khoản
truy vấn crossfid tài khoản

Bạn cũng có thể kiểm tra số dư của mình tại một khối nhất định bằng cách sử dụng cờ --block:

truy vấn crossfid tài khoản  --block=

Bạn có thể mô phỏng giao dịch mà không thực sự phát sóng bằng cách thêm cờ --dry-run vào dòng lệnh:

crossfid tx bank send   10faucetToken \
--chain-id= \
--dry-run

Hơn nữa, bạn có thể xây dựng giao dịch và in định dạng JSON của nó ra STDOUT bằng cách thêm --generate-only vào danh sách các đối số dòng lệnh:

crossfid tx bank send   10faucetToken \
--chain-id= \
--generate-only > unsignedSendTx.json

bash
crossfid tx sign \
--chain-id= \
--from= \
unsignedSendTx.json > signedSendTx.json

Cờ --generate-only ngăn cản crossfid truy cập vào keybase cục bộ. Do đó, khi cờ này được cung cấp, `` phải là một địa chỉ.

Bạn có thể xác thực chữ ký của giao dịch bằng cách gõ lệnh sau đây:

crossfid tx sign --validate-signatures signedSendTx.json

Bạn có thể phát sóng giao dịch đã ký tên đến một nút bằng cách cung cấp tệp JSON vào lệnh sau:

crossfid tx broadcast --node= signedSendTx.json

Truy vấn Giao Dịch

Khớp một Tập hợp Sự Kiện

Bạn có thể sử dụng lệnh tìm kiếm giao dịch để truy vấn cho các giao dịch khớp với một tập hợp các sự kiện nhất định, được thêm vào mỗi giao dịch.

Mỗi sự kiện được tạo thành từ một cặp khóa-giá trị dưới dạng .=. Các sự kiện cũng có thể được kết hợp để truy vấn kết quả cụ thể hơn bằng cách sử dụng ký hiệu &.

Bạn có thể truy vấn các giao dịch bằng sự kiện như sau:

crossfid query txs --events='message.sender=cosmos1...'

Và cho việc sử dụng nhiều sự kiện:

crossfid query txs --events='message.sender=cosmos1...&message.action=withdraw_delegator_reward'

Việc phân trang cũng được hỗ trợ thông qua pagelimit:

crossfid query txs --events='message.sender=cosmos1...' --page=1 --limit=20

Thẻ action luôn bằng kiểu thông điệp trả về bởi hàm Type() của thông điệp liên quan.

Bạn có thể tìm thấy danh sách các sự kiện có sẵn trên từng modul SDK:

Khớp với Hash Giao dịch

Bạn cũng có thể truy vấn một giao dịch đơn lẻ bằng hash của nó bằng cách sử dụng lệnh sau:

truy vấn crossfid tx [hash]


Slashing

Tháo rời cấm

Để tháo rời trình điều khiển bị cấm của bạn

crossfid tx slashing unjail --from

Thông tin Ký Tên

Để truy xuất thông tin ký tên của trình điều khiển:

truy vấn crossfid slashing signing-info

Truy vấn Tham số

Bạn có thể nhận được các tham số slashing hiện tại thông qua:

truy vấn crossfid slashing params

Minting

Bạn có thể truy vấn các tham số minting/lạm phát thông qua:

truy vấn crossfid minting params

Để truy vấn giá trị lạm phát hiện tại:

truy vấn crossfid minting inflation

Để truy vấn giá trị cấp phát hàng năm hiện tại:

truy vấn crossfid minting annual-provisions

Staking

Thiết lập một trình điều khiển

Vui lòng tham khảo phần Cài đặt Trình điều khiển (liên kết bị xóa) để biết hướng dẫn đầy đủ hơn về cách thiết lập một ứng cử viên trình điều khiển.

Ủy quyền cho một trình điều khiển

Trên mainnet sắp tới, bạn có thể ủy quyền atom cho một trình điều khiển. Những người ủy quyền này có thể nhận được một phần doanh thu phí của trình điều khiển. Đọc thêm về Mô hình Token Cosmos.

Truy vấn Trình điều khiển

Bạn có thể truy vấn danh sách tất cả các trình điều khiển của một chuỗi cụ thể:

truy vấn crossfid staking validators

Nếu bạn muốn lấy thông tin của một trình điều khiển đơn lẻ bạn có thể kiểm tra bằng:

truy vấn crossfid staking validator

Bon Token

Trên mainnet của Cosmos Hub, chúng tôi ủy thác uatom, nơi 1atom = 1000000uatom. Đây là cách bạn có thể bond mã thông báo cho validator testnet (tức là delegate):

crossfid tx staking delegate \
--amount=10000000uatom \
--validator= \
--from= \
--chain-id=

`` là địa chỉ của validator mà bạn dự định ủy thác. Nếu bạn đang chạy một testnet địa phương, bạn có thể tìm thấy điều này với:

crossfid keys show [name] --bech val

nơi [name] là tên của khóa bạn đã chỉ định khi bạn khởi tạo crossfid.

Khi mã thông báo được bond, chúng được đặt chung với tất cả các mã thông báo bond khác trong mạng. Validators và delegators nhận được tỷ lệ phần trăm cổ phần tương ứng với cổ phần của họ trong pool này.

Truy vấn việc ủy quyền

Khi việc ủy quyền được gửi đến một validator, bạn có thể xem thông tin của nó bằng cách sử dụng lệnh sau:

crossfid query staking delegation

Hoặc nếu bạn muốn kiểm tra tất cả các ủy quyền hiện tại của bạn với các validator khác nhau:

crossfid query staking delegations

Tháo bond mã thông báo

Nếu vì lý do nào đó mà validator có hành vi xấu, hoặc bạn chỉ muốn tháo bond một lượng mã thông báo nhất định, hãy sử dụng lệnh sau.

crossfid tx staking unbond \
\
10atom \
--from= \
--chain-id=

Việc tháo bond sẽ tự động hoàn thành khi thời gian tháo bond đã qua.

Truy vấn Ủy quyền Tháo bond

Sau khi bạn bắt đầu một ủy quyền tháo bond, bạn có thể xem thông tin của nó bằng cách sử dụng lệnh sau:

crossfid query staking unbonding-delegation

Hoặc nếu bạn muốn kiểm tra tất cả các ủy quyền tháo bond hiện tại của bạn với các validator khác nhau:

crossfid query staking unbonding-delegations

Ngoài ra, bạn có thể nhận tất cả các ủy quyền tháo bond từ một validator cụ thể:

crossfid query staking unbonding-delegations-from

Tái ủy quyền mã thông báo

Tái ủy quyền là một loại ủy quyền cho phép bạn bond mã thông báo thanh khoản từ một validator khác:

crossfid tx staking redelegate \
\
\
10atom \
--from= \
--chain-id=

Ở đây, bạn cũng có thể tái ủy quyền một shares-amount hoặc một shares-fraction cụ thể với các cờ tương ứng.

Việc tái ủy quyền sẽ tự động hoàn thành khi thời gian tháo bond đã qua.

Truy vấn Tái ủy quyền

Khi bạn bắt đầu một tái ủy quyền, bạn có thể thấy thông tin của nó bằng cách sử dụng lệnh sau:

crossfid query staking redelegation

Hoặc nếu bạn muốn kiểm tra tất cả các ủy quyền tháo bond hiện tại của bạn với các validator khác nhau:

crossfid query staking redelegations

Ngoài ra, bạn có thể nhận được tất cả các tái ủy quyền từ một validator cụ thể:

  crossfid query staking redelegations-from

Truy vấn Tham số

Các tham số xác định cài đặt cấp cao cho staking. Bạn có thể lấy các giá trị hiện tại bằng cách sử dụng:

crossfid query staking params

Với lệnh trên, bạn sẽ nhận được các giá trị cho:

  • Thời gian tháo bond
  • Số lượng tối đa các validator
  • Mã định danh tiền xu cho staking

Tất cả các giá trị này sẽ được cập nhật thông qua một quy trình governance bằng các đề xuất ParameterChange.

Truy vấn Pool

Một Pool staking xác định các tham số động của trạng thái hiện tại. Bạn có thể truy vấn chúng bằng lệnh sau:

crossfid query staking pool

Với lệnh pool, bạn sẽ nhận được các giá trị cho:

  • Mã thông báo không bond và bond
  • Cung cấp mã thông báo
  • Lạm phát hàng năm hiện tại và khối mà lần lạm phát cuối cùng đã được xử lý
  • Cổ phiếu bond ghi nhận gần nhất

Truy vấn Ủy quyền Đến Validator

Bạn cũng có thể truy vấn tất cả các ủy quyền đến một validator cụ thể:

  crossfid query delegations-to

Quản trị

Quản trị là quy trình mà người dùng trong Cosmos Hub có thể đạt được sự đồng thuận về các nâng cấp phần mềm, các tham số của mainnet hoặc cơ chế báo hiệu thông qua các đề xuất văn bản. Điều này được thực hiện thông qua việc bỏ phiếu cho các đề xuất, được nộp bởi các holders ATOM trên mainnet.

Một số điều cần lưu ý về quy trình bỏ phiếu:

  • Bỏ phiếu được thực hiện bởi các holders ATOM đã bond theo nguyên tắc 1 bond ATOM 1 phiếu
  • Các delegators kế thừa phiếu bầu của validator nếu họ không bình chọn
  • Các phiếu bầu được tính vào cuối kỳ bỏ phiếu (2 tuần trên mainnet) nơi mỗi địa chỉ có thể bỏ phiếu nhiều lần để cập nhật giá trị Option của mình (trả phí giao dịch mỗi lần), chỉ phiếu bầu gần đây nhất được tính là hợp lệ
  • Người bỏ phiếu có thể chọn giữa các lựa chọn Yes, No, NoWithVetoAbstain
  • Vào cuối kỳ bỏ phiếu, một đề xuất được chấp nhận nếu:
    • (YesVotes / (YesVotes+NoVotes+NoWithVetoVotes)) > 1/2
    • (NoWithVetoVotes / (YesVotes+NoVotes+NoWithVetoVotes)) < 1/3
    • ((YesVotes+NoVotes+NoWithVetoVotes) / totalBondedStake) >= quorum

Để biết thêm thông tin về quy trình quản trị và cách hoạt động, vui lòng xem thông tin mô-đun Quản trị.

Tạo một Đề xuất Quản trị

Để tạo một đề xuất quản trị, bạn phải nộp một khoản tiền ban đầu kèm theo tiêu đề và mô tả. Các mô-đun khác ngoài quản trị có thể triển khai các loại đề xuất và trình xử lý riêng của mình (ví dụ: thay đổi tham số), trong đó chính mô-đun quản trị hỗ trợ các đề xuất Text. Bất kỳ mô-đun nào ngoài quản trị đều có lệnh gắn trên submit-proposal.

Để nộp một đề xuất Text:

crossfid tx gov submit-proposal \
--title= \
--description=<description> \
--type="Text" \
--deposit="1000000uatom" \
--from=<name> \
--chain-id=<chain_id>

Bạn cũng có thể cung cấp đề xuất trực tiếp thông qua cờ --proposal, gắn với tệp JSON chứa đề xuất.

Để nộp một đề xuất thay đổi tham số, bạn phải cung cấp một tệp đề xuất vì nội dung của nó không thân thiện với đầu vào CLI:

crossfid tx gov submit-proposal param-change <path/to/proposal.json> \
--from=<name> \
--chain-id=<chain_id>

Nơi proposal.json chứa các nội dung sau:


],
"deposit": [

]
}

Hiện tại, các thay đổi tham số được xem xét nhưng không được xác thực, nên rất cần thiết đảm bảo rằng bất kỳ thay đổi value nào đều hợp lệ (tức là đúng loại và trong phạm vi) cho tham số tương ứng, ví dụ: MaxValidators nên là một số nguyên và không phải là số thập phân.

Việc kiểm tra nghiêm ngặt một đề xuất thay đổi tham số nên ngăn ngừa điều này xảy ra (không nên đặt cọc trong quá trình quản trị), nhưng vẫn cần được lưu ý.

SoftwareUpgrade hiện không được hỗ trợ vì chưa được triển khai và hiện không khác so với đề xuất Text.

Truy vấn Đề xuất

Khi đã tạo, bạn có thể truy vấn thông tin về đề xuất:

crossfid query gov proposal <proposal_id>

Hoặc truy vấn tất cả các đề xuất có sẵn:

crossfid query gov proposals

Bạn cũng có thể truy vấn các đề xuất được lọc theo voter hoặc depositor bằng cách sử dụng các cờ tương ứng.

Để truy vấn người đề xuất của một đề xuất quản trị cụ thể:

crossfid query gov proposer <proposal_id>

Tăng tiền đặt cọc

Để một đề xuất được phát tín hiệu lên mạng, số tiền đặt cọc phải trên giá trị minDeposit (giá trị ban đầu: 512000000uatom). Nếu đề xuất mà bạn đã tạo trước đó chưa đạt yêu cầu này, bạn vẫn có thể tăng tổng số tiền đặt cọc để kích hoạt nó. Khi đạt được tiền đặt cọc tối thiểu, đề xuất sẽ vào giai đoạn bỏ phiếu:

crossfid tx gov deposit <proposal_id> "10000000uatom" \
--from=<name> \
--chain-id=<chain_id>

> LƯU Ý: Các đề xuất không đáp ứng yêu cầu này sẽ bị xóa sau khi vượt quá MaxDepositPeriod.

Truy vấn Tiền đặt cọc

Khi một đề xuất mới được tạo ra, bạn có thể truy vấn tất cả các khoản tiền đặt cọc đã nộp cho đề xuất đó:

crossfid query gov deposits <proposal_id>

Bạn cũng có thể truy vấn một khoản tiền đặt cọc do một địa chỉ cụ thể nộp:

crossfid query gov deposit <proposal_id> <depositor_address>

Bỏ phiếu cho Đề xuất

Sau khi tiền đặt cọc của một đề xuất đạt đến giá trị MinDeposit, giai đoạn bỏ phiếu mở ra. Các nhà giữ Atom đã bond có thể chọn phiếu bầu:

crossfid tx gov vote <proposal_id> <Yes/No/NoWithVeto/Abstain> \
--from=<name> \
--chain-id=<chain_id>

Truy vấn Phiếu Bầu

Kiểm tra phiếu bầu với lựa chọn bạn vừa nộp:

crossfid query gov vote <proposal_id> <voter_address>

Bạn cũng có thể truy vấn tất cả các phiếu bầu trước đó đã nộp cho đề xuất với:

crossfid query gov votes <proposal_id>

Truy vấn kết quả phiếu bầu đề xuất

Để kiểm tra tổng phiếu bầu hiện tại của một đề xuất cụ thể, bạn có thể sử dụng lệnh tally:

crossfid query gov tally <proposal_id>

Truy vấn Tham số Quản trị

Để kiểm tra các tham số quản trị hiện tại, hãy chạy:

crossfid query gov params

Để truy vấn các tập hợp con của tham số quản trị, hãy chạy:

crossfid query gov param voting
crossfid query gov param tallying
crossfid query gov param deposit

Phân phối Phí

Truy vấn Tham số Phân phối

Để kiểm tra các tham số phân phối hiện tại, hãy chạy:

crossfid query distribution params

Truy vấn Community Pool Phân phối

Để truy vấn tất cả các đồng tiền trong pool cộng đồng nằm dưới sự kiểm soát của Quản trị:

crossfid query distribution community-pool

Truy vấn phần thưởng chưa rút

Để kiểm tra các phần thưởng hiện chưa rút (un-withdrawn), hãy chạy:

crossfid query distribution outstanding-rewards

Truy vấn Hoa hồng của Validator

Để kiểm tra hoa hồng còn lại chưa rút cho một validator, hãy chạy:

crossfid query distribution commission <validator_address>

Truy vấn Validator Slashes

Để kiểm tra các lần slash lịch sử cho một validator, hãy chạy:

crossfid query distribution slashes <validator_address> <start_height> <end_height>

Truy vấn Phần thưởng Delegator

Để kiểm tra phần thưởng hiện tại cho một uỷ quyền (nếu rút), hãy chạy:

crossfid query distribution rewards <delegator_address> <validator_address>

Truy vấn Tất cả Phần thưởng Delegator

Để kiểm tra tất cả các phần thưởng hiện tại cho một uỷ quyền (nếu rút), hãy chạy:

crossfid query distribution rewards <delegator_address>

Giao dịch Đa chứ ký

Giao dịch đa chữ ký yêu cầu chữ ký từ nhiều khóa cá nhân khác nhau. Do đó, việc tạo và ký một giao dịch từ tài khoản đa chữ ký đòi hỏi sự hợp tác giữa các bên liên quan. Một giao dịch đa chữ ký có thể được khởi tạo bởi bất kỳ người giữ khóa nào, và ít nhất một người trong số họ sẽ cần nhập khóa công khai của các bên khác vào Keybase của mình và tạo ra khóa công khai đa chữ ký nhằm hoàn tất và phát tín hiệu giao dịch.

Ví dụ, với một khóa đa chữ ký bao gồm các khóa p1, p2, và p3, mỗi khóa được giữ bởi một bên khác nhau, người dùng giữ khóa p1 cần phải nhập cả p2p3 vào để tạo ra khóa công khai tài khoản đa chữ ký:

crossfid keys add \
p2 \
--pubkey=cosmospub1addwnpepqtd28uwa0yxtwal5223qqr5aqf5y57tc7kk7z8qd4zplrdlk5ez5kdnlrj4

crossfid keys add \
p3 \
--pubkey=cosmospub1addwnpepqgj04jpm9wrdml5qnss9kjxkmxzywuklnkj0g3a3f8l5wx9z4ennz84ym5t

crossfid keys add \
p1p2p3 \
--multisig-threshold=2 \
--multisig=p1,p2,p3

Một khóa công khai đa chữ ký mới p1p2p3 đã được lưu trữ, và địa chỉ của nó sẽ được sử dụng làm người ký kết giao dịch đa chữ ký:

crossfid keys show --address p1p2p3

Bạn cũng có thể xem ngưỡng đa chữ ký, các thành phần pubkey và trọng số tương ứng bằng cách xem đầu ra JSON của khóa hoặc sử dụng cờ --show-multisig:

crossfid keys show p1p2p3 -o json

crossfid keys show p1p2p3 --show-multisig

Bước đầu tiên để tạo một giao dịch đa chữ ký là khởi tạo nó thay mặt cho địa chỉ đa chữ ký được tạo ra trước đó:

crossfid tx bank send cosmos1570v2fq3twt0f0x02vhxpuzc9jc4yl30q2qned 1000000uatom \
--from=<multisig_address> \
--generate-only > unsignedTx.json

Tệp unsignedTx.json chứa giao dịch chưa ký được mã hóa thành JSON. p1 bây giờ có thể ký giao dịch với khóa riêng của mình:

crossfid tx sign \
unsignedTx.json \
--multisig=<multisig_address> \
--from=p1 \
--output-document=p1signature.json

Sau khi chữ ký được tạo, p1 truyền cả unsignedTx.jsonp1signature.json cho p2 hoặc p3, những người này sẽ tạo ra chữ ký tương ứng của họ:

crossfid tx sign \
unsignedTx.json \
--multisig=<multisig_address> \
--from=p2 \
--output-document=p2signature.json

p1p2p3 là một khóa đa chứ ký 2-của-3, do đó, một chữ ký bổ sung là đủ. Bất kỳ người giữ khóa nào hiện cũng có thể tạo giao dịch đa chứ ký bằng cách kết hợp các tệp chữ ký cần thiết:

crossfid tx multisign \
unsignedTx.json \
p1p2p3 \
p1signature.json p2signature.json > signedTx.json

Giao dịch bây giờ có thể được gửi tới nút:

crossfid tx broadcast signedTx.json

Scripts Hoàn Tất Shells

Script hoàn tất cho các trình thông dịch shell phổ biến của UNIX như BashZsh có thể được tạo ra thông qua lệnh completion, có sẵn cho cả crossfidcrossfid.

Nếu bạn muốn tạo các script hoàn tất Bash, hãy chạy lệnh sau:

crossfid completion > crossfid_completion
crossfid completion > gaiacli_completion

Nếu bạn muốn tạo các script hoàn tất Zsh, hãy chạy lệnh sau:

crossfid completion --zsh > crossfid_completion
crossfid completion --zsh > gaiacli_completion

Trên hầu hết các hệ thống UNIX, các script như vậy có thể được nạp vào trong .bashrc hoặc .bash_profile để bật tự hoàn tất Bash:

echo '. crossfid_completion' >> ~/.bashrc
echo '. gaiacli_completion' >> ~/.bashrc

Tham khảo sổ tay người dùng của trình thông dịch được cung cấp bởi hệ điều hành của bạn để biết thông tin về cách bật tự hoàn tất shell.