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
- Được tạo từ các khóa tài khoản bằng cách sử dụng
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
- Được tạo từ các khóa tài khoản bằng cách sử dụng
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
- Được tạo khi nút được khởi tạo với
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 page
và limit
:
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 bondATOM
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
,NoWithVeto
vàAbstain
- 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ả p2
và p3
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.json
và p1signature.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ư Bash
và Zsh
có thể được tạo ra thông qua lệnh completion
, có sẵn cho cả crossfid
và crossfid
.
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.