乐趣区

关于solidity:链上LP质押智能合约挖矿dapp系统开发技术详情

智能合约是编程在区块链上的汇编语言。通常人们不会本人写字节码,然而会从更高级的语言来编译它,例如用 Solidity,与 Javascript 相似的专用语言。链上智能合约 dapp 零碎开发定制(I34 案例 -I633 源码 -53I9),这些字节码的确给区块链的功能性提供了指引,因而代码能够很容易与它进行交互,例如转移密码学货币和记录事件。它是运行在可复制、共享的账本上的计算机程序,能够解决信息,接管、贮存和发送价值。

pragma solidity ^0.4.22;
contract SimpleStorage{

uint storedDate;

function set (uint x) public{storedDate = x;}
function get() public view returns(uint){return storedDate;}

}
pragma solidity ^0.4.22;
contract SolidityTest{

constructor() public{} 
function getResult() public view returns(uint){

   // 这是单行正文
   /*
   * 这是多行正文
   * 相似其余语言的正文
   */
    uint a = 1;
    uint b = 2;
    uint result = a + b;
    return result;
}

}
地址类型
地址类型示意以太坊地址,长度为 20 字节。地址能够应用.balance 办法取得余额,也能够应用.transfer 办法将余额转到另一个地址。

address x = 0x212;
address myAddress = this;

if (x.balance < 10 && myAddress.balance >= 10)

x.transfer(10);

援用类型 / 复合数据类型
Solidity 中,有一些数据类型由值类型组合而成,相比于简略的值类型,这些类型通常通过名称援用,被称为援用类型。

援用类型包含:

  • 数组 (字符串与 bytes 是非凡的数组,所以也是援用类型)
  • struct (构造体)
  • map (映射)

状态变量
Solidity 反对三种类型的变量:

状态变量 – 变量值永恒保留在合约存储空间中的变量。
局部变量 – 变量值仅在函数执行过程中无效的变量,函数退出后,变量有效。
全局变量 – 保留在全局命名空间,用于获取区块链相干信息的非凡变量。
Solidity 是一种动态类型语言,这意味着须要在申明期间指定变量类型。每个变量申明时,都有一个基于其类型的默认值。没有 undefined 或 null 的概念。

pragma solidity ^0.4.22;
contract SolidityTest1{

uint storedDate; // 状态变量

constructor() public {storedDate = 10; // 应用状态变量}

}

局部变量
变量值仅在函数执行过程中无效的变量,函数退出后,变量有效。函数参数是局部变量

pragma solidity ^0.4.22;

contract SolidityTest2{

uint storedDate; // 状态变量
constructor() public{storedDate = 10;}

function getResult() public view returns(uint){
    uint a=1;  // 局部变量
    uint b=2;
    uint result = a+b;
    return result;// 拜访局部变量
}

}

退出移动版