Solidity笔记一

2020/08/21 Solidity 共 1022 字,约 3 分钟

Solidity源码与智能合约笔记

  • Solidity源码->智能合约的步骤:
    1. 首先使用编译器将Solidity编写的源代码编译为字节码,编译过程中同时会产生智能合约的二进制接口规范(Appliciation Binary Interface,简称为ABI)
    2. 通过交易的方式将字节码部署到以太坊网络,部署成功会产生一个新的智能合约账户
    3. 使用JavaScript编写的DApp通常以web3.js+ABI调用智能合约中的函数来实现数据的读取与修改
  • Solcjs
    1. 是Solidity源码库构建的目标之一,是Solidity的命令行编译器

    2. 使用npm可以便捷地安装Solidity编译器solcjs

    3. npm install -g solc (注:npm和node安装过程参考 帖子

  • Solidity源码与智能合约工作流程图 Solidity Workflow
  • 一个简单的智能合约(存数取数合约,返回多个值)
pragma solidity >0.4.22;

contract SimpleStorage{
    uint myData;
    function setData(uint newData) public{
        myData = newData;
    }
    function getData() public view returns(uint){
        return myData;        
    }
    function pureAdd(uint a, uint b) public pure returns(uint sum, uint origin_a){
        return (a+b, a);
    }
}
  • 简答的智能合约02
pragma solidity >0.4.22;

contract Car{
    string brand;
    uint public price; ///定义一个public变量相当于定义一个get函数
    constructor(string initBrand, uint initPrice) public{
        brand = initBrand;
        price = initPrice;
    }
    function setBrand(string newBrand) public{
        brand = newBrand;
    }
    function getBrand() public view returns(string){
        return brand;
    }
    function setPrice(uint newPrice) public{
        price = newPrice;
    }
    /**function price() public view returns(uint){
        return price;
    }*/
}

文档信息

Search

    Table of Contents