IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 区块链 -> 基于以太坊的智能合约solidity学习日记 -> 正文阅读

[区块链]基于以太坊的智能合约solidity学习日记

第1课 helloworld在remix之中的实现

pragma solidity ^0.4.16;//版本号最好设置成0.4.16之后的版本,之前的版本在一些问题上面会报错

contract HelloWorld{
    string Myname = "chelsea";
    
    function getName() public returns(string)
    {
        return Myname;
    }
    
    function changeName(string _newName)public
    {
        Myname =  _newName;
    }
    
    function  pureTest(string _name) pure public returns(string){
        return  _name;
    }
}

具体界面呈现

第2课 主要是一些布尔语句 。

pragma solidity ^0.4.16;

contract booleanTest{
    
    bool _a;
    int num1=100;
    int num2=100;
    function getBool() returns(bool)
    {
        return _a;
    }
    
    function getBool1() returns(bool)
    {
        return !_a;
    }
    
    function panduan() returns(bool)
    {
        return num1==num2;
    }
    
    function panduan2() returns(bool)
    {
        return num1!=num2;
    }
    function yu() returns(bool){
        return (num1==num2)&&true;
    }

}

第24课-第31课 地址与交易篇

1.以太坊地址的本质(p24)

pragma solidity ^0.4.16;

contract addresstest{
    address public account;//初始时默认地址为0,外部地址为0xca35b7d915458ef540ade6068dfe2f44e8fa733c(40个字节160位)等价于 unit160,账户地址代表拥有账户
    
}

运行之后的页面

点击部署,部署完成之后合约也会有一个地址,这个地址0xe90f4f8aeba3ade774cac94245792085a451bc8e部署在区块链的网络之上
![](https://img-blog.csdnimg.cn/df8e7800174d4b24a851684b00cee2d7.png
然后对是否是160位进行了一个验证,这个部分报了一个错误还没具体去调整(作用是unit160和address进行强制转换)

pragma solidity ^0.4.16;

contract addresstest{
    address public account;//0xca35b7d915458ef540ade6068dfe2f44e8fa733c
    
    function changeIt() returns(unit160){//报的错误是6:33.declarationError
        return unit160(account);
    }
}

接着讲解地址怎样去进行判断,判断大小,判断依据是地址的数字大小

pragma solidity ^0.4.16;

contract addresstest{
    address public account=0xca35b7d915458ef540ade6068dfe2f44e8fa733c;
    
    address account1=0xca35b7d915458ef540ade6068dfe2f44e8fa733c;
    address account2=0x0de37dce8154ce54d895bd16942c86d568ddb5fc;
    
    function changeIt() view returns(address){
        return address(0xe90f4f8aeba3ade774cac94245792085a451bc8e);
    }
    
    function check1() view returns(bool){//加上view之后能够更加直观的在右方看到结果
        return account1>account2;
    }
    
    function check2() view returns(bool){
        return account1>=account2;
    }
    
    function check3() view returns(bool){
        return account1<account2;
    }
    
    function check4() view returns(bool){
        return account1<=account2;
    }
}

结果演示

2.使用钱包转移资金(p25)

合约有地址,那么在这个地址上依旧可以存储以太币,如何调用地址时给合约用户发送以太币,调用函数的时候连带着将value也就是交易金额发送给合约的地址
在这里插入图片描述
调用函数的同时,发送value信息,发送以太币给账户的地址,点击pay按钮之后,会连带着将图中所示的10ether发送给智能合约的地址

  区块链 最新文章
盘点具备盈利潜力的几大加密板块,以及潜在
阅读笔记|让区块空间成为商品,打造Web3云
区块链1.0-比特币的数据结构
Team Finance被黑分析|黑客自建Token“瞒天
区块链≠绿色?波卡或成 Web3“生态环保”标
期货从入门到高深之手动交易系列D1课
以太坊基础---区块验证
进入以太坊合并的五个数字
经典同态加密算法Paillier解读 - 原理、实现
IPFS/Filecoin学习知识科普(四)
上一篇文章      下一篇文章      查看所有文章
加:2021-11-14 21:45:36  更:2021-11-14 21:46:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 19:37:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计