`

solidity link

 
阅读更多
pragma solidity ^0.5.0;

library LibSum {   
   function sumUsingInlineAssembly(uint[] memory _data) public pure returns (uint o_sum) {
      for (uint i = 0; i < _data.length; ++i) {
         assembly {
            o_sum := add(o_sum, mload(add(add(_data, 0x20), mul(i, 0x20))))
         }
      }
   }
}


pragma solidity ^0.5.0;
import './LibSum.sol';

contract TestSum {
   uint[] data;

   constructor() public {
      data.push(1);
      data.push(2);
      data.push(3);
      data.push(4);
      data.push(5);
   }
   function sum() external view returns(uint){      
      return LibSum.sumUsingInlineAssembly(data);
   }
}



const TestSum = artifacts.require("TestSum");
const LibSum = artifacts.require("LibSum");

module.exports = function (deployer) {
  deployer.deploy(LibSum);
  deployer.link(LibSum,TestSum);
  deployer.deploy(TestSum);
};
分享到:
评论

相关推荐

    solidity编程指南.pdf

    5. Solidity版本:文件提到Solidity 4和Solidity 5,这表明文档涵盖了不同版本的Solidity语言特性和更新。Solidity语言随时间发展,不同版本可能会引入新特性和改进,也可能更改或弃用某些功能。 6. 编程语言和框架...

    以太坊solidity字符串拼接实现

    不过,在Solidity编程语言中,由于其特定的类型系统和内存管理机制,没有像其他高级编程语言(如JavaScript或Python)中那样直接支持字符串拼接运算符。因此,开发者需要了解如何在Solidity中实现字符串拼接,这通常...

    Solidity Documentation

    Solidity Documentation Solidity Documentation Solidity Documentation

    Solidity教程

    Solidity教程Solidity教程Solidity教程Solidity教程Solidity教程Solidity教程Solidity教程

    solidity入门学习——mapping

    一、solidity中,映射的关键字为mapping,首先我们先来定义两个mapping, mapping(address =&gt;uint) idmapping和mapping(uint =&gt;string) namemapping。idmapping用来表示地址变量和整型变量的对应关系,在注册过程中...

    solidity-中文文档

    《Solidity 中文文档》是针对智能合约编程语言 Solidity 的一份详尽指南,它为开发者提供了学习和理解 Solidity 的关键知识点。Solidity 是以太坊区块链平台上的主要编程语言,用于编写智能合约,这些合约是自动执行...

    Solidity 官方文档中文版

    **Solidity:以太坊智能合约的首选语言** Solidity是一种专门为以太坊虚拟机(EVM)设计的编程语言,它的出现使得开发者能够编写安全、高效的智能合约,从而参与到去中心化的应用(DApps)开发中。由于其语法与...

    solidity2.pdf

    Solidity是用于编写智能合约的编程语言,特别是在以太坊区块链上运行。文档中提及的Solidity智能合约编写教程包含了一系列知识点,涵盖了从基础语法到高级特性,以及如何在以太坊平台上部署和管理智能合约。 ### ...

    Introducing.Ethereum.and.Solidity

    【以太坊与Solidity详解】 以太坊(Ethereum)是一个开源的、基于区块链技术的分布式计算平台,由 Vitalik Buterin 在2013年提出。它旨在为去中心化的应用(DApps)、智能合约(Smart Contracts)提供运行环境,...

    Solidity开发基础

    ### Solidity开发基础 #### 知识点概览 1. **Solidity语言介绍与历史** 2. **Solidity语法特点** 3. **Solidity数据类型** 4. **Solidity函数定义** 5. **Solidity合约示例** 6. **Solidity中的变量声明** 7. **...

    区块链高级实战课程第5章 智能合约编程语言-solidity.rar

    ├─(28) 5-10 solidity错误处理.mp4 ├─(29) 5-11 solidity参数.mp4 ├─(30) 5-12 solidity控制结构.mp4 ├─(31) 5-13 solidity可见性.mp4 ├─(32) 5-14 solidity函数.mp4 ├─(33) 5-2 solidity合约文件讲解....

    Solidity编程基础(英文epub版)

    Solidity是一种面向合约的语言,其语法受JavaScript高度影响,旨在为以太坊虚拟机编译代码。 《Solidity编程基础》会是一本您理解Solidity编程的指南,让您从以下方面为Ethereum和区块链构建智能合约。 我们首先简要...

    以太坊Solidity本地编译

    以太坊Solidity本地编译是区块链开发中的一个重要环节,主要针对的是以太坊智能合约的编写和测试。Solidity是一种专门为以太坊虚拟机(EVM)设计的高级编程语言,用于构建运行在以太坊网络上的分布式应用。在这个...

    solidity官方文档中文版

    1. Solidity语言介绍: - Solidity是一种面向区块链、特别是以太坊平台的编程语言。 - 它的语法类似于JavaScript,易于熟悉和上手。 - Solidity被设计用于编写智能合约,即在以太坊虚拟机(EVM)上运行的程序。 ...

    Solidity官方文档中文版

    以太坊智能合约的高级开发语言Solidity的官方文档的中文版本。必备。

    Solidity-中文-develop.zip

    Solidity develop 文档(开发版) Solidity 是一门面向合约的、为实现智能合约而创建的高级编程语言。这门语言受到了 C++,Python 和 Javascript 语言的影响,设计的目的是能在以太坊虚拟机(EVM)上运行。 Solidity...

    solidity VSCode插件0.0.135

    VSCode中的solidity插件,版本号0.0.135 由于最新版本(0.0.165)的插件会导致引用OpenZeppelin的时候出现如下报错: Expected string literal (path), "*" or alias list. 或者 Source "@openzeppelin/contracts/...

    Solidity官方文档中文版 区块链开发

    Solidity官方文档中文版 区块链开发

    Atom-linter-solidity,原子短绒的坚固性支持。有助于拉特拉西斯/皮棉.zip

    【标题】:“Atom-linter-solidity,原子短绒的坚固性支持。有助于拉特拉西斯/皮棉.zip”指的是一个专门为Atom文本编辑器开发的插件,用于增强对Solidity编程语言的支持。Solidity是 Ethereum 区块链平台上的主要智能...

Global site tag (gtag.js) - Google Analytics