区块见闻 区块见闻
Ctrl+D收藏区块见闻
首页 > PEPE > 正文

INFO:智能合约之合约数据表字段升级_RSK Infrastructure Framework

作者:

时间:

有些时候,由于前期考虑不周,或者后期设计升级,导致合约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}.

澳大利亚当局暂停Holon Investments的三只加密货币基金:金色财经报道,澳大利亚证券和投资委员会(ASIC)在一份官方声明中以不合规的目标市场决定为由,暂时暂停了加密资产管理公司 Holon Investments 为三只加密基金提供的零售服务。Holon Investments将被暂停提供或分发比特币、以太币和文件币21天。(the block)[2022/10/17 17:29:30]

在合约中增加新的表结构xxxinfo1及其对象,并修正上面问题

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

动态 | 风投公司IMS Digital Ventures将推出借助区块链的社交内容平台:风险投资公司IMS Digital Ventures宣布,将在中国推出一个社交和内容平台,借助区块链技术,让消费者能够认证原创产品。(BusinessWire)[2019/10/14]

此时合约内同时存在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++;}}

动态 | DENT Wireless通过新beta应用程序进行了“首次国际通话”:据cryptonews报道,香港虚拟电信公司DENT Wireless正在以太坊区块链建立其生态系统,刚刚宣布已经通过其新beta应用程序进行了“首次国际通话”。此外,该公司还宣布,其服务将在未来两周内在50个国家或地区发布。[2019/3/16]

停止Dapp,避免迁移期间数据改变,然后执行actioncleos-uhttps://api.eoslaomao.compushaction合约账户migratexxx'{}'-p合约账户

如果数据较多,且数据是累计增长,可以分区间执行迁移,迁移过程中,可以不停止dapp,等迁移差不多追上旧表了,再暂停dapp,然后等数据全部迁移完.

动态 | Bitcoin.com或将添加Cashaccount.info到其区块浏览器中:据AMBcrypto报道,Bitcoin.com的主要开发者Corbin Fraser在该网站的最新视频博客中表示,比特币钱包Copay已经将Cashaccount.info添加至其系统中。Bitcoin.com也正在考虑将该软件整合到它的区块浏览器中。[2019/1/8]

修正合约中的新表为

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合约账户最后再删除合约内旧表及对象就完成了此次合约表升级过程。

标签:XXXXININFINFOXXX价格xinbitokenRSK Infrastructure FrameworkINFO价格

PEPE热门资讯
KET:「崛起社区」在市场动荡中分析Lido Finance的潮起潮落_CRICKET

除了少数方面外,最近的投降很少对LidoFinance生态系统产生负面影响。 信标链上的净存款在Lido池中增加。随着TVL下降,L2桥接增长了5%.

ENT:「崛起社区」山寨币获得关注,而比特币的社会趋势下降_xrp币可以投资吗

根据市场情报平台Santiment提供的数据,随着比特币(BTC)开始从关键的26,000美元大关下跌,社交量和对山寨币的情绪大幅上升.

XRP:昨日加密市场复盘,发生了什么?_BNB未来价格能达到多少

过去24小时对股票和加密市场来说是沉重的打击。金融部门已经投降,这很可怕,在SI、SVB、拜登、LetitiaJames之间,坏消息的地震使我们进入月度盘整.

XIN:价值10亿美元的资产获得保护:FTX首席执行官 做证_Infinity Box

简单来说 FTX在新领导层的领导下收回了价值10亿美元的资产。JohnRay透露FTX使用“QuickBooks”来保存记录。社区担心Binance的崩溃.

比特币:休眠 7.7 年后,以太坊 ICO 参与者苏醒_ONC

参与区块链首次代币发行或ICO的长期休眠以太坊地址在7.7年后苏醒。它在17110898区块中将一个以太币转移到一个新地址——一些人推测这是一个测试交易,时间戳是在10多个小时前.

比特币:梳理一下区块链行情看法及后续应对_BTC

行情又白玩了一周,上周借助cpi信息的公布,向下打了一针,随后又快速拉回。熊市靠后的阶段就是这样的,市场普遍流动性较差,交易情绪很弱,只有借助外部信息的刺激才能产生行情的波动.