sCrypt 新功能介绍 (v1.9.0)

Posted sCrypt 智能合约

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sCrypt 新功能介绍 (v1.9.0)相关的知识,希望对你有一定的参考价值。

今天我们发布了 sCrypt IDE 的新版本 v1.9.0。 新版本支持在被导入的文件中执行 REPL, 同时带来了更加强大的 内联汇编 语法。

在被导入的文件中执行 REPL

在之前版本的IDE,当你在调试sCrypt 合约时, 如果调试器是停在被导入的文件中,这个时候在 REPL 中执行表达式,会提示以下错误。

util.scrypt 是被导入的文件,当调试器停在这里时,在 REPL 中无法执行表达式。

新版本的IDE 解决了这个问题, 你可以在任何地方执行表达式。

内联汇编新语法

  1. 现在支持在内联汇编中使用 loop 循环了,这在内联汇编出现大量逻辑相同的操作码时非常有用,它可以增加代码的可读性。

    public function unlock(int x) 
        asm 
            OP_DUP
            loop (N) : i 
                loop (N) : j 
                    i
                    j
                    OP_ADD
                    OP_ADD
                
            
            $xxx
            OP_NUMEQUAL
            OP_NIP
        
    
    

    与之等价的sCrypt代码是:

    
    public function unlock(int x) 
        int sum = x;
        loop (N) : i 
            loop (N) : j 
                sum += (i + j);
            
        
        require(sum == 19);
    
    
    

    ij归纳变量
    $xxx汇编变量

  2. 支持在内联汇编中使用字符串字面量:

    contract AsmString 
         static function equalImpl(bytes msg) : bool 
             asm 
                 "你好world! 😊"
                 OP_EQUAL
             
         
         public function unlock(bytes msg) 
             require(AsmString.equalImpl(msg));
         
     
    

欢迎体验新功能!

以上是关于sCrypt 新功能介绍 (v1.9.0)的主要内容,如果未能解决你的问题,请参考以下文章

Fancybox 不适用于 jQuery v1.9.0 [ f.browser 未定义 / 无法读取属性 'msie' ]

sCrypt IDE 新功能——调试链上合约

SCrypt对密码进行加密及密码验证

Dapr v1.9.0 版本已发布

kubernetes— 记一次用kubeadm搭建kubernetes v1.9.0集群

ASP.NET WebForms 使用 jQuery v1.9.0 检查 GridView 中的所有复选框不起作用