買比特幣 買比特幣
Ctrl+D 買比特幣
ads

ACTION:智能合約之合約數據表字段升級_ACT

Author:

Time:1900/1/1 0:00:00

有些時候,由于前期考慮不周,或者后期設計升級,導致合約table字段需要增加,或者類型需要更改,所以需要數據遷移,下面舉例我常用的升級方法假設目前合約內有個tablexxxinfo

struct]xxxinfo{uint64_tid;uint64_ttest;//為測試添加的字段uint8_ttest1;//為測試添加的字段autoprimary_key()const{returnid;}};typedefeosio::multi_index<"xxxinfo"_n,xxxinfo>xxxinfo_tables;

現在升級需要解決的問題是test當初設計字段類型過大,導致ram浪費,test1選型過小,增加test2字段{uint32_t}.

智能合約審計平臺Sherlock完成400萬美元種子輪融資,Archetype領投:9月14日消息,智能合約審計平臺Sherlock完成400萬美元種子輪融資,Archetype領投,Spartan、Lattice、CoinFund等參投。新資金將用于組建團隊并為Sherlock平臺的外部審計提供資金。(CoinDesk)[2022/9/14 13:30:09]

在合約中增加新的表結構xxxinfo1及其對象,并修正上面問題

struct]xxxinfo1{uint64_tid;uint32_ttest;//為測試添加的字段uint16_ttest1;//為測試添加的字段uint32_ttest2;//為測試添加的字段autoprimary_key()const{returnid;}};typedefeosio::multi_index<"xxxinfo1"_n,xxxinfo1>xxxinfo1_tables;

穆長春:數字人民幣智能合約已在政府補貼、零售營銷等領域成功應用:9月2日消息,中國人民銀行數字貨幣研究所所長穆長春在2022年中國國際服務貿易交易會金融服務專題主論壇、2022中國國際金融年度論壇上表示,目前,數字人民幣智能合約已經在政府補貼、零售營銷、預付資金管理等領域成功應用。隨著底層平臺和相關制度安排的逐步完善,將在更大范圍內加速落地。[2022/9/2 13:05:19]

此時合約內同時存在xxxinfo1和xxxinfo1兩張表.

增加遷移執行的action接口

//.hACTIONmigratexxx();//.cppvoidmigratexxx(){xxxinfo1_tablesxxxinfo1_table(_self,_self.value);xxxinfo_tablesxxxinfo_table(_self,_self.value);autoitr=xxxinfo_table.begin();while(itr!=xxxinfo_table.end()){xxxinfo1_table.emplace(_self,(auto&h){h.id=xxxinfo1_table.available_primary_key();h.test=itr->test;h.test1=itr->test1;});itr++;}}

TrustBase自主研發波卡智能合約編程語言SubScript:據官方消息,TrustBase基于波卡智能合約獨立開發編程語言SubScript,用于優化波卡生態中的開發體驗。Subscript是一個用于Polkadot Wasm智能合約的編程語言,可以提供WebAssembly原生的的智能合約編程環境和IDE支持。相對于當前Parity官方維護的ink!語言,Subscript無需rust編程基礎,任何具備web開發基礎的DApp開發者都可以快速上手Subscript語言。Subscript此前已獲得Web3基金會的官方資助。

TrustBase是一個支持跨鏈消息的波卡Wasm智能合約平行鏈,為開發者提供了方便易用的合約語言及編程工具,DApp開發者不需要拍賣波卡中繼鏈插槽,就可以訪問波卡的XCMP跨鏈消息。[2020/12/19 15:46:32]

停止Dapp,避免遷移期間數據改變,然后執行actioncleos-uhttps://api.eoslaomao.compushaction合約賬戶migratexxx'{}'-p合約賬戶

火幣大學顧問合伙人方軍:區塊鏈應用三套件分別是區塊鏈平臺、智能合約和通證:9月18日上午,火幣大學全球區塊鏈領導者課程(GBLP)第六期產業模塊繼續開課,火幣大學顧問合伙人方軍以《從互聯網+到區塊鏈+的商業變革——通證經濟模型設計》的主題為學員們帶來授課。

方軍表示,互聯網的商業模式主要是平臺經濟,而區塊鏈+的商業模式則是通證經濟。簡單抽象來看,要做一個區塊鏈應用,需要三套件。第一選擇一個區塊鏈平臺,可能是公鏈,自己搭一個聯盟鏈,也可能用螞蟻金服、騰訊云、火幣中國提供的BaaS服務等。第二在區塊鏈上,為了實現業務邏輯,需要寫程序,區塊鏈術語里叫“智能合約”。以太坊就是去中心化的智能合約與應用平臺。第三用區塊鏈的賬本、合約編寫出來通證,也就是價值憑證,既可以像比特幣、以太坊的可互換通證,也可以是像加密貓、票據等不可互換通證。總之,通過這三件套就可以了解區塊鏈+的創新模式。[2020/9/18]

如果數據較多,且數據是累計增長,可以分區間執行遷移,遷移過程中,可以不停止dapp,等遷移差不多追上舊表了,再暫停dapp,然后等數據全部遷移完.

修正合約中的新表為

struct]xxxinfo{uint64_tid;uint32_ttest;//為測試添加的字段uint16_ttest1;//為測試添加的字段uint32_ttest2;//為測試添加的字段autoprimary_key()const{returnid;}};typedefeosio::multi_index<"xxxinfo1"_n,xxxinfo>xxxinfo_tables;

將舊表修改為

struct]xxxinfo_bak{uint64_tid;uint64_ttest;//為測試添加的字段uint8_ttest1;//為測試添加的字段autoprimary_key()const{returnid;}};typedefeosio::multi_index<"xxxinfo"_n,xxxinfo_bak>xxxinfo_bak_tables;

修正前后端調用的table名,重新上線,并運行dapp,建議等運行一段時間,在刪除舊表增加清理舊表的action

//.hACTIONclearxxxbak();//.cppvoidclearxxxbak(){xxxinfo_bak_tablesxxxinfo_bak_table(_self,_self.value);autoitr=xxxinfo_bak_table.begin();while(itr!=xxxinfo_bak_table.end()){itr=xxxinfo_bak_table.erase(itr);}}

然后執行actioncleos-upushaction合約賬戶clearxxxbak'{}'-p合約賬戶最后再刪除合約內舊表及對象就完成了此次合約表升級過程。

Tags:ACTIONACTIONACT幣ACT價格ION幣是什么幣ACTION幣是什么幣

以太坊交易
比特幣:比特幣價格保持在 24,000 美元以下,通脹可能卷土重來_DXY比特幣中國官網聯系方式

PCE指數讓人擔心通貨膨脹尚未結束,這就是為什么對進一步加息的擔憂正在為比特幣和Co帶來新的阻力。 比特幣在新的美國經濟數據表明通脹回歸后,今天繼續走低.

1900/1/1 0:00:00
BTC:比特幣(BTC)價格躍升至 17,000 美元,但陷阱依然存在_全球十大加密貨幣BTCs是不是黃了

盡管比特幣目前表現良好,但12月將出現更多沖擊,可能會給它帶來壓力。 比特幣暫時飆升至17,000美元,這主要是由于月底的波動.

1900/1/1 0:00:00
以太坊:今年 4 月值得關注的 5 大最佳山寨幣_EOS幣是什么幣

加密貨幣分析師AustinArnold確定了2023年4月投資者應注意的五種加密貨幣。據他介紹,他預計這些代幣會經歷可能影響其市場表現的重大事件,從而使它們成為加密貨幣愛好者的潛在良好長期投資選.

1900/1/1 0:00:00
Optimism:CNBC 警告投資者應遠離狗狗幣、柴犬幣和其他十幾種山寨幣_Optimism幣是什么幣

在美聯儲宣布進一步加息后,CNBC主持人JimCramer建議投資者避免使用meme資產和山寨幣.

1900/1/1 0:00:00
亞馬遜:390m Shiba Inu 被移除,但“一切都好”可能不成立_SHIB

ShibaInu,著名的“meme-token”見證了整個加密社區的大力支持。因此,各種占主導地位的買家紛紛涌入購買代幣。而且,SHIB的燃燒機制繼續給他們留下深刻印象.

1900/1/1 0:00:00
THORChain:成功投資組合的頂級山寨幣:高風險和中風險策略_MATIC幣

著名的加密貨幣分析師JonathanFiorenza分享了他對在這個山寨幣季節投資的頂級山寨幣的看法.

1900/1/1 0:00:00
ads