欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

如何進(jìn)行EOS內(nèi)存ram的買(mǎi)賣(mài)

如何進(jìn)行EOS內(nèi)存ram的買(mǎi)賣(mài),相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

創(chuàng)新互聯(lián)長(zhǎng)期為數(shù)千家客戶(hù)提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為張家港企業(yè)提供專(zhuān)業(yè)的成都做網(wǎng)站、網(wǎng)站建設(shè),張家港網(wǎng)站改版等技術(shù)服務(wù)。擁有十年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。

對(duì)于EOS RAM的來(lái)說(shuō)什么最重要呢?我們經(jīng)常在每天的數(shù)字貨幣和區(qū)塊鏈相關(guān)新聞中看到EOS旁邊的RAM這個(gè)詞,但是無(wú)論如何我們應(yīng)該關(guān)注它的價(jià)格,為什么要關(guān)注它的價(jià)格,即使是那些只想深入了解智能合約開(kāi)發(fā)的人也需要這樣嗎?Eos中基本上有三種類(lèi)型的資源:帶寬(Network),計(jì)算和計(jì)算積壓(CPU)和狀態(tài)存儲(chǔ)(RAM)。RAM本質(zhì)上是為智能合約中調(diào)用的每個(gè)交易提供資源的gas,不像磁盤(pán)和CPU是通過(guò)token值按比例獲得的資源,RAM是需要從eosio購(gòu)買(mǎi)的。RAM的價(jià)格由Bancor算法預(yù)先確定。Bancor算法將動(dòng)態(tài)地促進(jìn)當(dāng)前RAM的供應(yīng)和供應(yīng)的價(jià)格基礎(chǔ)并使其達(dá)到市場(chǎng)均衡。因此,所有買(mǎi)賣(mài)ram的交易都是與eosio.ram的單方面交易。次級(jí)市場(chǎng)也激勵(lì)那些沒(méi)有使用它的RAM儲(chǔ)備將其出售給需要它們的人。因?yàn)镋osio支持免費(fèi)的用戶(hù)理念,所以運(yùn)行網(wǎng)絡(luò)的負(fù)擔(dān)落在開(kāi)發(fā)人員身上。我們需要為智能合約預(yù)留足夠的RAM才能在Eos網(wǎng)絡(luò)上正常運(yùn)行。

購(gòu)買(mǎi)RAM

在EOS平臺(tái)上的整個(gè)智能合約開(kāi)發(fā)過(guò)程中,我們可能會(huì)遇到這樣一種情況:我們分配的RAM不符合部署合同的要求。在這種情況下,我們需要額外購(gòu)買(mǎi)的帶有EOS令牌的ram才能繼續(xù)進(jìn)行合同部署。整個(gè)過(guò)程可以使用Eos-io提供的CLI工具,即keosd和cleos來(lái)完成。在我們之前的文章中,我們已經(jīng)完成了設(shè)置本地開(kāi)發(fā)環(huán)境以測(cè)試智能合約的過(guò)程。如果你已經(jīng)按照文章中的那些步驟進(jìn)行操作,我們可以使用相同的工具與主網(wǎng)和測(cè)試網(wǎng)進(jìn)行交互,并進(jìn)行一些配置更改。

讓我們首先將我們的cleos應(yīng)用程序指向測(cè)試網(wǎng)絡(luò)節(jié)點(diǎn)而不是本地運(yùn)行的nodeosd。我們可以創(chuàng)建一個(gè)額外的別名來(lái)注冊(cè)這個(gè)配置。

alias cleos-test='docker exec -i keosd /opt/eosio/bin/cleos -u http://jungle.eos9cat.com:8888 --wallet-url http://localhost:8900'

在上面的命令中,我們創(chuàng)建了別名cleos-test,以便與eos9cat提供的eos測(cè)試網(wǎng)絡(luò)節(jié)點(diǎn)快速交互。請(qǐng)注意,我們?nèi)匀灰蕾?lài)我們的本地錢(qián)包應(yīng)用程序來(lái)處理我們的私鑰。 只要我們?cè)诮怄i錢(qián)包中導(dǎo)入相應(yīng)的私鑰即可。

提示:如果要持久保存命令,可以將命令放在~/.bashrc文件中(如果你在linux上)和~/.bash_profile(用于mac)。

如何進(jìn)行EOS內(nèi)存ram的買(mǎi)賣(mài)

有時(shí),當(dāng)你部署包含更復(fù)雜邏輯的應(yīng)用程序合約時(shí),可能會(huì)收到類(lèi)似于上述屏幕截圖的錯(cuò)誤消息,暗示智能合約帳戶(hù)沒(méi)有足夠的RAM來(lái)部署合同。在這種情況下,我們必須從eosio.ram購(gòu)買(mǎi)更多的ram。

我們可以通過(guò)發(fā)出以下命令來(lái)快速檢查我們的ram分配:

cleos-test get account ${accountname}

如何進(jìn)行EOS內(nèi)存ram的買(mǎi)賣(mài)

memory部分下的quota屬性指示帳戶(hù)分配的內(nèi)存量。

現(xiàn)在我們知道我們有權(quán)獲得多少ram,我們?cè)趺纯赡苤牢覀冃枰嗌賀am才能部署我們的智能合約?由于Eosio區(qū)塊鏈?zhǔn)褂?code>Web Assembly執(zhí)行用戶(hù)生成的應(yīng)用程序和代碼,因此我們可以通過(guò)將*.wasm*.abi文件的大小相加來(lái)粗略估計(jì)執(zhí)行智能合約所需的千字節(jié)數(shù)。除了計(jì)算粗略估計(jì)之外,我們還必須確定購(gòu)買(mǎi)ram所需的Eos代幣數(shù)量。

Eos區(qū)塊鏈平臺(tái)依靠Bancor算法通過(guò)單邊交易模型促進(jìn)二級(jí)ram市場(chǎng),我們可以通過(guò)查詢(xún)系統(tǒng)合約公開(kāi)的ram市場(chǎng)表并執(zhí)行一些簡(jiǎn)單的計(jì)算來(lái)確定Eos ram價(jià)格。

如何進(jìn)行EOS內(nèi)存ram的買(mǎi)賣(mài)

要獲得EOS/KiB,我們需要將quote.balance(連接器余額)除以base.balanceram(token不足支付的部分),最后將該值乘以1024(即quote.balance/base.balance)*1024。在我想要部署的智能合約的示例中,需要大約100KiB,這將花費(fèi)大約31.70 EOS token。 然后,我們可以通過(guò)Cleos發(fā)出以下命令來(lái)繼續(xù)實(shí)際的交易。

cleos-test system buyram -k ${payer} ${reciever} amount

k標(biāo)志將指示金額參數(shù)表示要購(gòu)買(mǎi)的KiB金額,系統(tǒng)合約交易將自動(dòng)從付款人的賬戶(hù)中扣除適當(dāng)數(shù)量的EOS token。 如果沒(méi)有kflag,金額將默認(rèn)為花費(fèi)的EOS token數(shù)量。 同樣,根據(jù)ram價(jià)格,將向賬戶(hù)中添加適當(dāng)數(shù)量的ram。

如何進(jìn)行EOS內(nèi)存ram的買(mǎi)賣(mài)

如果我們現(xiàn)在再次部署合約,它應(yīng)該成功。

如何進(jìn)行EOS內(nèi)存ram的買(mǎi)賣(mài)

出售RAM

對(duì)于帳戶(hù)當(dāng)前占用的不需要的ram,可以通過(guò)Banchor算法確定的價(jià)格通過(guò)系統(tǒng)合約交換某些EOS token的資源。出售ram和在eos區(qū)塊鏈上購(gòu)買(mǎi)ram的過(guò)程類(lèi)似。

cleos-test system sellram ${account} bytes

成功的交易看起來(lái)與此類(lèi)似:

如何進(jìn)行EOS內(nèi)存ram的買(mǎi)賣(mài)

持久存儲(chǔ)

由于其靈活性,RAM可以說(shuō)是Eos區(qū)塊鏈平臺(tái)上最受歡迎的資源。RAM不僅可以用于存儲(chǔ)中間計(jì)算狀態(tài),還可以用作持久存儲(chǔ)。多索引數(shù)據(jù)庫(kù)是Eos中的一種數(shù)據(jù)結(jié)構(gòu),它根據(jù)范圍的定義方式提供存儲(chǔ)數(shù)據(jù)的靈活性。多索引數(shù)據(jù)庫(kù)將以表格格式存儲(chǔ)持久數(shù)據(jù)。實(shí)際上,與許多其他流行的智能合約平臺(tái)不同,Eos智能合約中的交易不能返回任何值或變量,這意味著RAM捕獲的任何數(shù)據(jù)都不能通過(guò)交易返回給調(diào)用者。為了獲得對(duì)智能合約中的變量值的訪(fǎng)問(wèn),例如某個(gè)計(jì)算和交易的結(jié)果,數(shù)據(jù)需要通過(guò)帶有范圍的多索引數(shù)據(jù)庫(kù)表進(jìn)行更新,通常以調(diào)用者的帳戶(hù)名稱(chēng)或智能合約本身的帳戶(hù)名稱(chēng)的形式存儲(chǔ)數(shù)據(jù)的關(guān)聯(lián)鏈接,然后可以通過(guò)具有相應(yīng)合同名稱(chēng),范圍和表名稱(chēng)的gettable API檢索數(shù)據(jù)。

例如,每個(gè)帳戶(hù)已存儲(chǔ)在eosio.token合約中定義的多索引數(shù)據(jù)庫(kù)中的EOS token數(shù),該合約由定義范圍的每個(gè)帳戶(hù)的一小塊RAM組成。我們可以使用以下命令直接從db檢索某個(gè)帳戶(hù)擁有的token數(shù)量:

cleos-test get table eosio.token ${account} accounts

如何進(jìn)行EOS內(nèi)存ram的買(mǎi)賣(mài)

上述命令中的表名是accounts,范圍是個(gè)人帳戶(hù)名。將帳戶(hù)余額信息與實(shí)際擁有它們的帳戶(hù)分配是合乎邏輯的。另一方面,如果我們希望檢索有關(guān)EOS token本身的信息,我們將需要查看具有不同表的另一個(gè)范圍,即使信息是在同一智能合約中已經(jīng)編碼:

cleos-test get table eosio.token EOS stats

確定范圍和表名稱(chēng)可能很棘手,特別是對(duì)于其他人生成的合約,通常可以通過(guò)查看合約的abi來(lái)快速檢索表名。

如何進(jìn)行EOS內(nèi)存ram的買(mǎi)賣(mài)

范圍更難,但可以通過(guò)查看在代碼中對(duì)多索引數(shù)據(jù)庫(kù)的引用查看參數(shù)來(lái)確定。

如何進(jìn)行EOS內(nèi)存ram的買(mǎi)賣(mài)

第一個(gè)帶下劃線(xiàn)的部分顯示對(duì)stats表的引用是使用sym參數(shù)進(jìn)行的,該參數(shù)表示token的SYMBOL;因此,表的范圍是token的SYMBOL。

第e二個(gè)帶下劃線(xiàn)的部分描述了在交易期間減去余額時(shí)引用帳戶(hù)表的行。這行代碼暗示表帳戶(hù)的范圍是帳戶(hù)名稱(chēng)。有關(guān)在智能合約中使用多索引數(shù)據(jù)庫(kù)的更多教程和信息。

升級(jí)合約

由于智能合約本身與存儲(chǔ)在本地磁盤(pán)上的多索引數(shù)據(jù)庫(kù)之間的連接僅僅是一個(gè)參考鏈接,因此該功能與使用同一帳戶(hù)多次部署合約時(shí)一起授予,以便升級(jí)eos生態(tài)系統(tǒng)中的智能合約。只要定義多索引數(shù)據(jù)庫(kù)的關(guān)鍵功能在新舊智能合約中相同,就可以在新的智能合約中對(duì)數(shù)據(jù)進(jìn)行引用。

在某些情況下,你甚至可能會(huì)發(fā)現(xiàn)通過(guò)部署空合約或大小明顯較小的合同來(lái)釋放RAM以進(jìn)行銷(xiāo)售是有用的,同時(shí)仍然將與前合同相關(guān)的數(shù)據(jù)保留在持久存儲(chǔ)上。

看完上述內(nèi)容,你們掌握如何進(jìn)行EOS內(nèi)存ram的買(mǎi)賣(mài)的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

分享名稱(chēng):如何進(jìn)行EOS內(nèi)存ram的買(mǎi)賣(mài)
分享URL:http://www.chinadenli.net/article48/gidphp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開(kāi)發(fā)標(biāo)簽優(yōu)化動(dòng)態(tài)網(wǎng)站Google軟件開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)