以太坊
记录以太坊学习的点点滴滴
流年若逝
这个作者很懒,什么都没留下…
展开
-
solidity实战-----编写一个简单的众筹合约
在学习完solidity编程基础之后,于是结合课程编写了一个简单的众筹合约。【需求分析】 众筹里面需要有2类角色:接收者和捐赠者,其中接收者可以对应多个捐赠者。下面是这两类角色属性分析: 接收者:接收者地址、众筹总金额、当前众筹金额、捐赠者的个数 捐赠者: 捐赠者地址、捐赠金额1.接收者我们按照上面的要求创建了一个接收者对象,里面包含其属性 //接收者对象 struct Recipient{ address recipient_addres...原创 2020-09-10 16:44:29 · 2670 阅读 · 0 评论 -
solidity中memory与storage区别
solidity中数据类型分类为下面两大类:值类型(值传递)引用类型(指针传递), 没有*号操作符,而是使用两个关键字来表示memory(值类型) storage(引用类型)1.memory与storage storage memory 储存的变量 函数外部声明的变量,即状态变量 函数内部声明的变量,即局部变量 存储的位置 区块链上,永久存在 内存中,运行完之后销毁 运行的位置 区块链网络上 单个节点 传递属性 指针.原创 2020-09-09 10:00:23 · 3895 阅读 · 5 评论 -
solidity学习之修饰器(modifier)
修改器(Modifiers)可以用来轻易的改变一个函数的行为。比如用于在函数执行前检查某种前置条件。修改器是一种合约属性,可被继承,同时还可被派生的合约重写(override)。下面我们通过例子来看看修饰器的具体用法pragma solidity ^0.4.24;contract test2{ uint public a;//定义一个变量 //定义修饰器 modifier modifierfun(uint value){ require(val原创 2020-09-08 11:07:54 · 2763 阅读 · 0 评论 -
solidity修饰符讲解
在solidity学习中有几个非常重要的关键字,如下所示:修饰符 说明 public 公有,任何人(拥有以太坊账户的)都可以调用 牢记 private 私有, 只有智能合约内部可以调用 牢记 external 仅合约外部可以调用,合约内部需使用this调用 先忽略 internal 仅合约内部和继承的合约可以调用 先忽略 view/constant 函数会读取但是不会修改任何contract的状态变量 牢记.原创 2020-09-08 09:45:14 · 1480 阅读 · 1 评论 -
solidity学习之地址(Address)类型
【概述】以太坊地址的长度,大小20个字节,20 * 8 =160位,所以可以用一个uint160编码。地址是所有合约的基础,所有的合约都会继承 地址对象,通过合约的地址串,调用合约内的函数。【基本操作】属性/方法 含义 备注 balance 获取余额 属性,其余的都是方法 send 转账 不建议使用 transfer 转账 建议使用 call 合约内部调用合约 delegatecall 调...原创 2020-09-04 11:07:27 · 6919 阅读 · 1 评论 -
browser/payable.sol:14:34: Error: Expected token LBrace got ‘View‘ function getMessage()
在学习solidity过程中碰到一个小细节的问题,这个问题不是很难,但是网上找了许多资料也未能找到相关的解决办法,今天偶然看了一篇文章解决了这个问题。错误如下:编写的代码如下://指定编译器版本,版本标识符pragma solidity ^0.4.0;//关键字 contract 跟java的class一样 智能合约是Inbox contract Inbox{ //string 是数据类型,message是成员变量,在整个智能合约生命周期都可以访问 /原创 2020-09-04 09:46:00 · 2025 阅读 · 3 评论 -
solidity学习之固定长度字节数组byte
在学习solidity过程中,发现这门语言和之前学的C、C++、Java以及Python有很多不同之处,但目前我学到的来看,字节数组byte使用的很频繁,而且也有很多不一样的东西。1byte=8位(XXXX XXXX)X为0或1,二进制表示byte数组的类型有:bytes1,bytes2,。。。,bytes32,以八个位递增,即是对位的封装举例bytes1=uint8bytes2=unit16......bytes32=unit256目前我自己了解到的byte使用这么频繁大致是因为它能更好原创 2020-09-02 10:31:04 · 4281 阅读 · 0 评论 -
编写一个简单的智能合约
上篇文章:快速入门 Remix IDE简单的介绍了Remix IDE的一些常规按钮以及其意思,这篇文章我主要就是通过写一个简单的智能合约来具体的看看这个编译器怎么使用。1.创建一个名字为HelloWorld.sol的合约2.然后在里面写入这段代码pragma solidity ^0.4;contract HelloWorld { function sayHelloWorld() public returns(string){ return ("hello wo原创 2020-08-29 12:14:32 · 2829 阅读 · 4 评论 -
快速入门 Remix IDE
今天要给大家讲解的是如何使用在线编译器:Remix IDE之前打算手动安装一个本地的Remix IDE ,但是基于windows的安装教程我试了很多次都是安装失败,无奈下只能先使用在线的,以后哪天心情好有机会就出一个本地安装的详细教程。Remix IDE 简介:Remix Solidity IDE 是一款基于浏览器的IDE,它用于开发智能合约,也是目前比较推荐的一款开发以太坊智能合约的IDE,特别是对于新手来说。由于是基于浏览器的IDE,有一个很大的好处就是不用安装,也不用去安装Soli...原创 2020-08-29 11:58:48 · 4983 阅读 · 2 评论 -
什么是以太坊(下)
上一篇文章:什么是以太坊(上)我们简单的介绍了下以太坊相关概念。这篇文章我们将会围绕以下几个话题继续介绍以太坊的相关知识。以太坊的创始人是谁 以太坊这个平台的价值是什么呢? 以太坊和比特币的关系 以太币是什么?有投资价值吗? 投资以太币有什么风险1.以太坊的创始人是谁ETH的创始人Vitalik(又称V神),是俄裔的加拿大人,非常天才。他在做以太坊之前就在研究比特币了,做了一些比特币上的项目,比如说Python的库,实现了比特币里面的一些算法;创建了一个叫Bitcoin Ma.原创 2020-08-27 10:49:47 · 462 阅读 · 0 评论 -
什么是以太坊(上)
在接触新知识的时候,往往出现在我们面前的就是一段英文介绍如下所示:Ethereum is adecentralized platform that runs smart contracts: applications that run exactly as programmed without any possibility of downtime, censorship, fraud or third party interference. 简单翻译如下所示:以太坊是一个可以创建和...原创 2020-08-27 10:35:04 · 473 阅读 · 0 评论