首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是TL方案在吨-坚实和如何使用它?

什么是TL方案在吨-坚实和如何使用它?
EN

Stack Overflow用户
提问于 2021-12-03 18:07:36
回答 1查看 213关注 0票数 2

这个问题是关于Everscale区块链智能合同中的大量可靠语言的问题。

有时,我会看到与TL-B方案相关的代码。例如,如下所示:

代码语言:javascript
复制
function getInvokeMessage(address sender, address recipient, uint128 amount, bool bounce, TvmCell payload) public pure
        returns(TvmCell message) {
        TvmCell body = tvm.encodeBody(MsigDebot.invokeTransaction, sender, recipient, amount, bounce, payload);
        TvmBuilder message_;
        message_.store(false, true, true, false, address(0), address(this));
        message_.storeTons(0);
        message_.storeUnsigned(0, 1);
        message_.storeTons(0);
        message_.storeTons(0);
        message_.store(uint64(0));
        message_.store(uint32(0));
        message_.storeUnsigned(0, 1); //init: nothing$0
        message_.storeUnsigned(1, 1); //body: right$1
        message_.store(body);
        message = message_.toCell();
    }

我需要一步一步的解释,这段代码在做什么?或者给我参考一下解释它的文档。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-25 21:08:26

消息相应地构造为TL方案

一般来说,该消息的类型称为"Message“

这种类型由三个部分组成。

第一部分是"CommonMsgInfo“。

代码语言:javascript
复制
           /* int_msg_info$0
           ihr_disabled:Bool
           bounce:Bool
           bounced:Bool
           src:MsgAddressInt
           dest:MsgAddressInt */
        message_.store(false, true, true, false, address(0), address(this));
        message_.storeTons(0);//value:CurrencyCollection
        message_.storeUnsigned(0, 1);//value:CurrencyCollection (for other currencies)
        // In the next 4 fields we store zeroes, because blockchain software will replace them
        // with the correct values after this function finishes execution.         
        message_.storeTons(0);//ihr_fee:Grams
        message_.storeTons(0);//fwd_fee:Grams
        message_.store(uint64(0));//created_lt:uint64
        message_.store(uint32(0));//created_at:uint32

第二部分有"init“类型。

代码语言:javascript
复制
        message_.storeUnsigned(0, 1); //no initial state

第三部分为“体”型。

代码语言:javascript
复制
        message_.storeUnsigned(1, 1); //1 because, we don't store body in current cell
        message_.store(body);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70218889

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档