avatar
文章
96
标签
60
分类
29

主页
文章
  • 归档
  • 分类
  • 标签
空间
  • 说说
  • 相册
社交
  • 友情链接
  • 关于
南山结庐
搜索
主页
文章
  • 归档
  • 分类
  • 标签
空间
  • 说说
  • 相册
社交
  • 友情链接
  • 关于

南山结庐

智能合约语言 Solidity 教程系列4 - 数据存储位置分析
发表于2018-03-12|学习记录区块链以太坊
Solidity教程系列第4篇 - Solidity数据位置分析。Solidity 系列完整的文章列表请查看分类-Solidity。 写在前面Solidity是以太坊智能合约编程语言,阅读本文前,你应该对以太坊、智能合约有所了解,如果你还不了解,建议你先看以太坊是什么 本文前半部分是参考Solidity官方文档(当前最新版本:0.4.20)进行翻译,后半部分是结合实际合约代码实例说明类型的使用(仅针对专栏订阅用户)。 数据位置(Data location)在系列第一篇,我们提到 Solidity 类型分为两类:值类型(Value Type) 及 引用类型(Reference Types),前面我们已经介绍完了值类型,接下来会介绍引用类型。 引用类型是一个复杂类型,占用的空间通常超过256位, 拷贝时开销很大,因此我们需要考虑将它们存储在什么位置,是memory(内存中,数据不是永久存在)还是storage(永久存储在区块链中)所有的复杂类型如数组(arrays)和结构体(struct)有一个额外的属性:数据的存储位置(data location)。可为memory和storage。 根 ...
实现一个可管理、增发、兑换、冻结等高级功能的代币
发表于2018-03-10|学习记录区块链以太坊
本文主要介绍代币高级功能的实现: 代币管理、代币增发、代币兑换、资产冻结、Gas自动补充。 写在前面在上一篇:一步步教你创建自己的数字货币(代币)进行ICO中我们实现一个最基本功能的代币,本文将在上一遍文章的基础上,讲解如果添加更多的高级功能。 实现代币的管理者虽然区块链是去中心化的,但是实现对代币(合约)的管理,也在许多应用中有需求,为了对代币进行管理,首先需要给合约添加一个管理者。 我们来看看如果实现,先创建一个_owned_ 合约。 1234567891011121314151617contract owned { address public owner; function owned() { owner = msg.sender; } modifier onlyOwner { require(msg.sender == owner); _; } // 实现所有权转移 function transferOwnership(address newO ...
智能合约语言 Solidity 教程系列3 - 类型介绍
发表于2018-03-09|学习记录区块链以太坊
Solidity 教程系列第三篇 - Solidity 函数类型介绍。Solidity 系列完整的文章列表请查看分类-Solidity。 写在前面Solidity是以太坊智能合约编程语言,阅读本文前,你应该对以太坊、智能合约有所了解,如果你还不了解,建议你先看以太坊是什么 本文前半部分是参考Solidity官方文档(当前最新版本:0.4.20)进行翻译,后半部分是结合实际合约代码实例说明类型的使用(仅针对专栏订阅用户)。 函数类型(Function Types)函数也是一种类型,且属于值类型。可以将一个函数赋值给一个函数类型的变量。还可以将一个函数作为参数进行传递。也可以在函数调用中返回一个函数。函数类型有两类:内部(internal)和外部(external)函数 内部(internal) 函数只能在当前合约内被调用(在当前的代码块内,包括内部库函数,和继承的函数中)。外部(external) 函数由地址和函数方法签名两部分组成,可作为外部函数调用的参数,或返回值。 函数类型定义如下: 1function (<parameter types>) {interna ...
一步步教你创建自己的数字货币(代币)进行ICO
发表于2018-03-08|学习记录区块链以太坊
本文从技术角度详细介绍如何基于以太坊ERC20创建代币的流程. 写在前面本文所讲的代币是使用以太坊智能合约创建,阅读本文前,你应该对以太坊、智能合约有所了解,如果你还不了解,建议你先看以太坊是什么 代币Token如果不那么追求精确的定义,代币就是数字货币,比特币、以太币就是一个代币。利用以太坊的智能合约可以轻松编写出属于自己的代币,代币可以代表任何可以交易的东西,如:积分、财产、证书等等。因此不管是出于商业,还是学习很多人想创建一个自己的代币,先贴一个图看看创建的代币是什么样子。 今天我们就来详细讲一讲怎样创建一个这样的代币。 ERC20 Token也许你经常看到ERC20和代币一同出现, ERC20是以太坊定义的一个代币标准。要求我们在实现代币的时候必须要遵守的协议,如指定代币名称、总量、实现代币交易函数等,只有支持了协议才能被以太坊钱包支持。其接口如下: 12345678910111213141516contract ERC20Interface { string public constant name = "Token Name"; ...
startService 和 bindService的区别
发表于2018-03-06|教程分享Android
Service的简介Service是Android系统中的四大组件之一,它是一种长生命周期的,没有可视化界面,运行于后台的一种服务程序。比如我们播放音乐的时候,有可能想边听音乐边干些其他事情,当退出播放音乐的应用,如果不用Service,我 们就听不到歌了,所以这时候就得用到Service了。 Service生命周期Service的生命周期并不像Activity那么复杂,它只继承了onCreate(),onStart(),onDestroy()三个方法,当第一次启动Service时,先后调用了onCreate(),onStart()这两个方法,当停止Service时,则执行onDestroy()方法,这里需要注意的是,如果Service已经启动了,当我们再次启动Service时,不会在执行onCreate()方法,而是直接执行onStart()方法。 Service的启动方式Service的有两种启动方式:Context.startService()和Context.bindService(),这两种方式对Service生命周期的影响是不同的。 Context.startService ...
智能合约语言 Solidity 教程系列2 - 类型介绍
发表于2018-03-05|学习记录区块链以太坊
Solidity教程系列第二篇 - Solidity地址类型介绍.Solidity 系列完整的文章列表请查看分类-Solidity。 写在前面Solidity是以太坊智能合约编程语言,阅读本文前,你应该对以太坊、智能合约有所了解,如果你还不了解,建议你先看以太坊是什么 本文前半部分是参考Solidity官方文档(当前最新版本:0.4.20)进行翻译,后半部分是结合实际合约代码实例说明类型的使用(仅针对专栏订阅用户)。 地址类型(Address)地址类型address是一个值类型, 地址 : 20字节(一个以太坊地址的长度),地址类型也有成员,地址是所有合约的基础支持的运算符: <=, <, ==, !=, >= 和 > > 注意:从0.5.0开始,合约不再继承自地址类型,但仍然可以显式转换为地址。 地址类型的成员 balance 属性及transfer() 函数这里是地址类型相关成员的快速索引balance用来查询账户余额,transfer()用来发送以太币(以wei为单位)。如: 123address x = 0x123;address myAddre ...
比特币如何达成共识 - 最长链的选择
发表于2018-03-03|学习记录区块链
比特币没有中心机构,几乎所有的完整节点都有一份公共总帐本,那么大家如何达成共识:确认哪一份才是公认权威的总账本呢? 为什么要遵守协议这其实是一个经济问题,在经济活动中的每个人都是自私自利的,追求的是利益的最大化,一个节点工作量只有在其他的节点认同其是有效的(打包的新区块,其他的节点只有验证通过才会加入到区块链中,并在网络上传播),才能够过得收益,而只有遵守规则才会得到其他的节点认同。因此,基于逐利,节点就会自发的遵守协议。共识就是数以万计的独立节点遵守了简单的规则(通过异步交互)自发形成的。 共识:共同遵守的协议规范 去中心化共识在工作量证明一篇,我们了解通过工作量证明来竞争记账,权威的总帐本是怎么达到共识的,没有完全说清楚,今天补上,实际上,比特币的共识由所有节点的4个__独立过程__ 相互作用而产生: 每个节点(挖矿节点)依据标准对每个交易进行独立验证 挖矿节点通过完成工作量证明,将交易记录独立打包进新区块 每个节点独立的对新区块进行校验并组装进区块链 每个节点对区块链进行独立选择,在工作量证明机制下选择累计工作量最大的区块链 共识最终目的是保证比特币不停的在工作量最大的区 ...
智能合约语言 Solidity 教程系列1 - 类型介绍
发表于2018-03-01|学习记录区块链以太坊
写在前面Solidity是以太坊智能合约编程语言,阅读本文前,你应该对以太坊、智能合约有所了解,如果你还不了解,建议你先看以太坊是什么Solidity教程会是一系列文章,本文是第一篇:介绍Solidity的变量类型。Solidity 系列完整的文章列表请查看分类-Solidity。 本文前半部分是参考Solidity官方文档(当前最新版本:0.4.20)进行翻译,后半部分是结合实际合约代码实例说明类型的使用(仅针对专栏订阅用户)。 类型Solidity是一种静态类型语言,意味着每个变量(本地或状态变量)需要在编译时指定变量的类型(或至少可以推倒出类型)。Solidity提供了一些基本类型可以用来组合成复杂类型。 Solidity类型分为两类: 值类型(Value Type) - 变量在赋值或传参时,总是进行值拷贝。 引用类型(Reference Types) 值类型(Value Type)值类型包含: 布尔类型(Booleans) 整型(Integers) 定长浮点型(Fixed Point Numbers) 定长字节数组(Fixed-size byte arrays) 有理数和 ...
一步步教你开发、部署第一个去中心化应用(Dapp) - 宠物商店
发表于2018-02-25|学习记录区块链以太坊
今天我们来编写一个完整的去中心化(区块链)应用(Dapps), 本文可以和编写智能合约结合起来看。 写在前面阅读本文前,你应该对以太坊、智能合约有所了解,如果你还不了解,建议你先看以太坊是什么除此之外,你最好还了解一些HTML及JavaScript知识。 本文通过实例教大家来开发去中心化应用,应用效果如图: 从本文,你可以学习到: 搭建智能合约开发环境 创建Truffle项目 编写智能合约 编译和部署智能合约到区块链 如何通过Web3和智能合约交互 MetaMask的使用 项目背景Pete有一个宠物店,有16只宠物,他想开发一个去中心化应用,让大家来领养宠物。在truffle box中,已经提供了pet-shop的网站部分代码,我们只需要编写合约及交互部分。 环境搭建 安装Node 安装Truffle: npm install -g truffle 安装Ganache Ganache(或Ganache CLI) 已经取代了testrpc 创建项目 创建项目目录并进入 12> mkdir pet-shop-tutorial> cd pet-shop-tutori ...
Geth 控制台使用及 Web3.js 使用实战
发表于2018-02-25|学习记录区块链以太坊
在开发以太坊去中心化应用,免不了和以太坊进行交互,那就离不开Web3。Geth 控制台(REPL)实现了所有的web3 API及Admin API,使用好 Geth 就是必修课。结合Geth命令用法阅读效果更佳。 写在前面阅读本文之前,你需要对以太坊(区块链)有初步的了解,如果你不知道以太坊是什么,请先阅读以太坊是什么。如果你在我的小专栏之外的地方阅读到本文,你可能只能阅读本文的节选,阅读完整全文请订阅小专栏区块链技术 geth控制带初探-启动、退出安装参考智能合约开发环境搭建最简单启动方式如下: 1$ geth console geth控制台启动成功之后,可以看到>提示符。退出输入exit geth日志控制重定向日志到文件使用geth console启动时,会在当前交互界面下时不时出现日志。可以使用以下方式把日志输出到文件。 1$ geth console 2>>geth.log 可以新开一个命令行终端输入以下命令查看日志: 1$ tail -f geth.log 重定向另一个终端也可以把日志重定向到另一个终端,先在想要看日志的终端输入 1$ tty 就可以 ...
1…678…10
avatar
东篱先生
宁愿花时间去修炼不完美的自己,也不要浪费时间去期待完美的别人。
文章
96
标签
60
分类
29
Follow Me
公告
新的一年,感謝訪問本站,若喜歡請收藏 ^_^
最新文章
设计模式之建造者模式2023-04-29
网络管理
网络管理2022-10-21
资源限制
资源限制2022-10-20
数据持久化
数据持久化2022-09-21
镜像制作
镜像制作2022-08-20
分类
  • 学习记录57
    • Android3
      • ConstraintLayout1
    • Docker9
    • Hexo1
    • Java1
      • List1
    • 区块链33
标签
文献资料 Python 以太坊概念 Android 资讯 RSA算法 技术方法论 Windows Ubuntu 杂谈 Solidity手册 Git 工作量证明 摸鱼 以太坊入门 建造者模式 机器学习 valine 以太坊 Retrofit Nginx 日记心事 Vue kubernetes docker 比特币 爬虫 ethereum vue ConstraintLayout Markdown语法 年终总结 线性代数 云原生 双系统 高等数学 贝叶斯 k8s 共识协议 曝光
归档
  • 四月 20231
  • 十月 20222
  • 九月 20221
  • 八月 20221
  • 七月 20221
  • 六月 20226
  • 四月 20225
  • 三月 20224
网站资讯
文章数目 :
96
已运行时间 :
本站总字数 :
222.7k
本站访客数 :
本站总访问量 :
最后更新时间 :
©2017 - 2023 By 东篱先生
框架 Hexo|主题 Butterfly
Hi, welcome to my blog!
搜索
数据库加载中