cosmos主網(wǎng)即將上線没佑,對(duì)文檔做了大量更新毕贼。特地翻譯了一下,方便小伙伴們閱覽, 之后會(huì)持續(xù)更新
第四章客戶端:
服務(wù)提供商
我們將“服務(wù)提供商”定義為給終端用戶提供服務(wù)的實(shí)體蛤奢,這些實(shí)體包括與基于Cosmos-SDK的區(qū)塊鏈(包括Cosmos Hub)的某種形式的交互鬼癣。更具體地說(shuō),本文檔將聚焦與token的交互啤贩。
本章節(jié)不涉及旨在提供輕客戶端功能的錢包構(gòu)建待秃。預(yù)計(jì)服務(wù)提供商將作為終端用戶的區(qū)塊鏈的可信節(jié)點(diǎn)。
架構(gòu)的高級(jí)描述
主要有三點(diǎn)需要考慮到:
- 全節(jié)點(diǎn):與區(qū)塊鏈交互痹屹。
- REST服務(wù)器:充當(dāng)HTTP調(diào)用的中繼者章郁。
- REST API:定義REST服務(wù)器的可用入口。
運(yùn)行一個(gè)全節(jié)點(diǎn)
安裝和配置
我們描述運(yùn)行Cosmos Hub和全節(jié)點(diǎn)交互的步驟志衍。對(duì)于其他基于SDK的區(qū)塊鏈暖庄,過(guò)程應(yīng)該是類似的。
首先楼肪,你需要安裝軟件培廓。
然后,你可以開(kāi)始運(yùn)行全節(jié)點(diǎn)淹辞。
命令行界面
接下來(lái)医舆,你將找到一些有用的CLI命令來(lái)與全節(jié)點(diǎn)交互。
創(chuàng)建密鑰對(duì)
生成一個(gè)新密鑰(默認(rèn)使用secp256k1橢圓曲線算法):
gaiacli keys add <your_key_name>
系統(tǒng)將要求你為此密鑰對(duì)創(chuàng)建密碼(至少8個(gè)字符)象缀。該命令返回4個(gè)信息:
- ['NAME']:密鑰的名稱
- ['ADDRESS']:你的地址蔬将。用于接收資金。
- ['PUBKEY']:你的公鑰央星。驗(yàn)證人要用到霞怀。
- ['Seed phrase']:12個(gè)單詞的短語(yǔ)。將此種子短語(yǔ)保存在安全的地方莉给。它用于在你忘記密碼時(shí)恢復(fù)你的私鑰毙石。
你可以輸入以下內(nèi)容查看所有可用密鑰:
gaiacli keys list
查看你的余額
你的地址收到token后,你可以輸入以下內(nèi)容查看帳戶的余額:
gaiacli account <YOUR_ADDRESS>
注意:當(dāng)你查詢帳戶余額為零的賬戶時(shí)颓遏,你將收到以下錯(cuò)誤信息:在狀態(tài)內(nèi)找不到地址為<YOUR_ADDRESS>的帳戶徐矩。這是預(yù)料之中的!我們正在努力改進(jìn)我們的錯(cuò)誤消息叁幢。
通過(guò)CLI發(fā)送代幣
下面是通過(guò)CLI發(fā)送代幣的命令:
gaiacli send --amount=10faucetToken --chain-id=<name_of_testnet_chain> --from=<key_name> --to=<destination_address>
標(biāo)識(shí):
-
--amount
: 此標(biāo)識(shí)接受的格式<value|coinName>
滤灯。 -
--chain-id
: 此標(biāo)識(shí)允許你指定區(qū)塊鏈的id。不同的測(cè)試網(wǎng)絡(luò)和主網(wǎng)有著不同的id值。 -
--from
: 發(fā)送方賬戶的名稱鳞骤。 -
--to
: 接收方的地址窒百。
幫助
如果你需要做其他事情,你最好運(yùn)行:
gaiacli
它將顯示所有可用命令豫尽。對(duì)于每個(gè)命令篙梢,你可以使用--help標(biāo)識(shí)來(lái)獲取更多信息。
啟動(dòng)REST服務(wù)器
REST服務(wù)器作為前端節(jié)點(diǎn)和全節(jié)點(diǎn)之間的中介美旧。你不需要在全節(jié)點(diǎn)所在的計(jì)算機(jī)上運(yùn)行REST服務(wù)器渤滞。
啟動(dòng)REST服務(wù)器:
gaiacli advanced rest-server --node=<full_node_address:full_node_port>
標(biāo)識(shí):
-
--trust-node
: 布爾值。如果為true陈症,則禁用輕客戶端驗(yàn)證蔼水。如果為false震糖,則啟用录肯。對(duì)于服務(wù)提供商,應(yīng)將其設(shè)置為true吊说。默認(rèn)情況下论咏,設(shè)置為true。 -
--node
: 你可以在此設(shè)置全節(jié)點(diǎn)的地址和端口颁井。格式為<full_node_address:full_node_port>厅贪。如果全節(jié)點(diǎn)在同一臺(tái)機(jī)器上,則地址應(yīng)為tcp://localhost:26657
雅宾。 -
--laddr
: 此標(biāo)識(shí)允許你指定REST服務(wù)器的地址和端口(默認(rèn)為1317
)养涮。你通常只使用此標(biāo)志來(lái)指定端口,在這種情況下只需輸入“l(fā)ocalhost”作為地址眉抬。格式為<rest_server_address:port>贯吓。
監(jiān)聽(tīng)傳入的交易
監(jiān)聽(tīng)傳入的交易的推薦方法是通過(guò)LCD的以下入口定期查詢區(qū)塊鏈:
/bank/balance/{account}
REST API
REST API記錄了可用于與整個(gè)節(jié)點(diǎn)交互的所有可用入口。在這里查看蜀变。
API針對(duì)每種類別的入口劃分為ICS標(biāo)準(zhǔn)悄谐。例如,ICS20描述了與token交互的API库北。
為了給開(kāi)發(fā)者提供更大的靈活性爬舰,我們支持生成未簽名交易,使用不同API入口對(duì)其進(jìn)行簽名和廣播寒瓦。這允許服務(wù)提供商使用他們自己的簽名機(jī)制情屹。
為了生成未簽署交易(轉(zhuǎn)移代幣的示例),你需要在base_req
中使用generate_only
杂腰。