自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

tianlongtc的博客

这是一个存放个人区块链学习资料的博客

  • 博客(67)
  • 收藏
  • 关注

转载 Build a simple Ethereum + IPFS+ React.js DApp.

WHY ARE WE BUILDING THIS?It is prohibitively expensive to store a lot of data on the Ethereum blockchain. According to Ethereum’s yellow paper it is approximately 20,0000 gas for 256bit/8 bytes (1word...

2018-05-28 15:02:26 736

原创 ERC721

erc721接口https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.mderc721 github标准https://github.com/ethereum/EIPs/issues/721ERC165 :(interfaceID is 0x01ffc9a7 )https://github.com/ethereum/...

2018-05-27 20:48:41 422

转载 智能合约最佳实践 之 Solidity 编码规范

每一门语言都有其相应的编码规范, Solidity 也一样, 下面官方推荐的规范及我的总结,供大家参考,希望可以帮助大家写出更好规范的智能合约。 命名规范避免使用小写的l,大写的I,大写的O 应该避免在命名中单独出现,因为很容易产生混淆。合约、库、事件、枚举及结构体命名合约、库、事件及结构体命名应该使用单词首字母大写的方式,这个方式也称为:帕斯卡命名法或大驼峰式命名法,比如...

2018-05-27 20:48:04 445

转载 详解 Solidity 事件Event

很多同学对Solidity 中的Event有疑问,这篇文章就来详细的看看Solidity 中Event到底有什么用?写在前面Solidity 是以太坊智能合约编程语言,阅读本文前,你应该对以太坊、智能合约有所了解,如果你还不了解,建议你先看以太坊是什么,另外本文在监听合约事件是对上一篇Web3与智能合约交互实战进行补充,如果阅读了上一篇可以更好的理解本文。什么是事件Evnet事件是以太坊虚拟机(E...

2018-05-27 20:43:58 2287 1

转载 Web3与智能合约交互实战

写在前面在最初学习以太坊的时候,很多人都是自己创建以太坊节点后,使用geth与之交互。这种使用命令行交互的方法虽然让很多程序员感到兴奋(黑客帝国的既视感?),但不可能指望普通用户通过命令行使用Dapp。因此,我们需要一种友好的方式(比如一个web页面)来与智能合约交互,于是问题的答案就是web3.js。Web3.jsWeb3.js是以太坊官方的Javascript API,可以帮助智能合约开发者使...

2018-05-27 17:10:23 1468

转载 solidity数据位置

代码在执行前,一般会编译成指令。指令就是一个个逻辑,逻辑操作的是数据。代码,或者说业务,操作的其实是数据。非区块链中,代码操作的数据,一般会存到数据库中。在区块链里,区块链本身就是一个数据库。如果你使用区块链标记物产的所有权,归属信息将会被记录到区块链上,所有人都无法篡改,以标明不可争议的拥有权。所以在区块链中编程中,有一个数据位置的属性用来标识变量是否需要持久化到区块链中。1. 数据位置...

2018-05-27 16:48:02 665

转载 ERC721标准

什么是ERC-721?现在我们看到的各种加密猫猫狗狗都是基于ERC-721创造出来的,每只都是一个独一无二的ERC-721代币,不过ERC-721在区块链世界远不止猫猫狗狗,它更大的想象空间在于将物理世界的资产映射到区块链上。本文就来剖析下什么是ERC721.ERC721是什么在创建代币一篇,我们讲到过ERC20代币,和ERC20一样,ERC721同样是一个代币标准,ERC721官方简要解释是No...

2018-05-27 15:11:48 2907 2

转载 Solidity API

这是Solidity教程系列文章第8篇介绍Solidity API,它们主要表现为内置的特殊的变量及函数,存在于全局命名空间里。Solidity 系列完整的文章列表请查看分类-Solidity。 写在前面Solidity 是以太坊智能合约编程语言,阅读本文前,你应该对以太坊、智能合约有所了解,如果你还不了解,建议你先看以太坊是什么欢迎订阅区块链技术专栏阅读更全面的分析文章。...

2018-05-27 10:28:14 748

转载 git使用

GitHub入门创建账户之前做代码版本控制都是在bitbucket上面的私有仓库。现在开源社区挺火的,想在github找些开源的工程学习一下,于是加入了github,这里记录一下入门的经历。首先创建账户的过程在这里就省略一万字了…点这里进github官网创建完账户,你就可以开始建立自己的第一个仓库了。你会在你奇奇怪怪的默认头像旁边看见一个很大的“+”号,点下去,可以看到2个选项,第一个就是新建个代...

2018-05-26 17:02:34 112

原创 ubuntu环境配置

安装nodejsnpm install -g nn lastest 安装trufflenpm install -g truffle安装ganache-clinpm install -g ganache-cli初始化truffle工程truffle unbox pet-shop git clone https://github.com/dappuniversity/election注意将合约中的 p...

2018-05-25 20:48:23 205

转载 csdn-markdown编辑器

地址: https://mp.csdn.net/mdeditor目录概述换行删除线链接自动识别表格代码块高亮定义列表脚注自动生成目录参考资料正文概述大部分情况下,Markdown的基本语法已够我们使用,比如随性记录点东西、非专业的分析文章等,一般只用到标题、区块引用、强调、列表这样的基本元素。但若要写专业性比较强的分析文章或技术性文章,这些基本语法就不够用了,因为我们经常会用到表格、脚注、想要自动...

2018-05-25 15:18:49 219

转载 Ubuntu快速配置指南

转载自:https://juejin.im/post/59c13024f265da0658151a67Ubuntu快速配置指南前言为什么使用Linux?Windows:臃肿、混乱、卡顿Linux:干净、酷炫、流畅最重要的一点就是自由,在Linux中,你就是王,你掌控着一切,想干嘛就干嘛。接下来,介绍一下如何快速配置Ubuntu,最终配置效果如下图:我的桌面.png安装Vim安装Vim,命令如下:s...

2018-05-24 23:00:51 198

原创 ubuntu安装atom

安装在Ubuntu里安装Atom无须下载,可以直接通过命令行安装:sudo add-apt-repository ppa:webupd8team/atomsudo apt-get updatesudo apt-get install atom安装必备插件:apm install minimap对于Vim党来说,这个插件是必须安装的:apm install vim-mode快捷键和sublime t...

2018-05-24 23:00:12 708

原创 react资料

阮一峰demo库https://github.com/ruanyf/react-demos

2018-05-24 12:45:39 297

原创 github使用

5.2 使用git在本地创建一个相同的项目1 $ makdir ~/hello-world    //创建一个项目hello-world 2 $ cd ~/hello-world    //打开这个项目3 $ git init    //初始化 4 $ touch README5 $ git add README   //更新README文件 6 $ git commit -m 'f...

2018-05-23 23:33:00 119

原创 Error: failed to unmarshal json. invalid character '\'' looking for beginning of value解决方案

 在win10下运行 ipfsconfig --json API.HTTPHeaders.Access-Control-Allow-Origin '["*"]' 的时候出现:Error: failed to unmarshal json. invalidcharacter '\'' looking for beginning of value经过简单查阅后发现是windows解析json的时候出错...

2018-05-23 19:24:34 34148

原创 sync/atomic 库使用小结

sync/atomic 库提供了原子操作的支持,原子操作直接有底层CPU硬件支持,因而一般要比基于操作系统API的锁方式效率高些。本文对 sync/atomic 中的基本操作进行一个简单的介绍。原子增值用于对变量值进行原子增操作,并返回增加后的值。e.g. var sum uint32 = 100 var wg sync.WaitGroup for i := 0; i &l...

2018-05-23 17:25:31 862

转载 Merkle Patricia Tree详解

转载自:https://ethfans.org/toya/articles/5881. 前言1.1 概述Merkle Patricia Tree(又称为Merkle Patricia Trie)是一种经过改良的、融合了默克尔树和前缀树两种树结构优点的数据结构,是以太坊中用来组织管理账户数据、生成交易集合哈希的重要数据结构。MPT树有以下几个作用:存储任意长度的key-value键值对数据;提供了一...

2018-05-23 13:51:39 9907 6

转载 rlp编码

RLP (递归长度前缀)提供了一种适用于任意二进制数据数组的编码,RLP已经成为以太坊中对对象进行序列化的主要编码方式。 RLP的唯一目标就是解决结构体的编码问题;对原子数据类型(比如,字符串,整数型,浮点型)的编码则交给更高层的协议;以太坊中要求数字必须是一个大端字节序的、没有零占位的存储的格式(也就是说,一个整数0和一个空数组是等同的)。对于在 RLP 格式中对一个字典数据的编码问题,有两种建...

2018-05-23 13:24:55 1796

转载 以太坊源码学习(一)

转载自:https://blog.csdn.net/karizhang/article/details/79110981背景geth源码一直在不断增加,优化,发展到现在已经非常庞大,第一次看geth源码,会有不小的难度。虽然如此,还是可以从geth仓库的第一个commit开始,这时的代码比较少,但是以太坊核心的雏形已经隐隐可见,阅读代码可以加深理解以太坊的模块组成,揣测设计的想法和思路。项目结构去...

2018-05-23 10:06:49 1046

原创 以太坊源码阅读资料

以太坊源码分析https://blog.csdn.net/teaspring以太坊源码阅读https://github.com/dragontc/go-ethereum-code-analysis以太坊黄皮书部分翻译https://github.com/yuange1024/ethereum_yellowpaper推荐阅读顺序 从mpt源码开始读,再读account,再读block,再读block...

2018-05-23 09:45:11 697

原创 迅雷api简单使用

 1.迅雷链开放平台(提供了开发文档)https://open.onethingcloud.com/site/docopen.html#2.迅雷应用大赛(技术文档已更新):提供了测试链的apihttps://open.onethingcloud.com/site/comp.html3.链克口袋下载(申请address)https://www.pgyer.com/ALuZ...

2018-05-23 09:40:08 7652

转载 利用Google Drive將英文版的PDF翻译成中文版的PDF

转载自: https://blog.csdn.net/hellokandy/article/details/55097430使用 Google Drive 云端硬盘(https://drive.google.com)将英文版的PDF翻译成中文版的PDF。步骤如下:1、上传PDF文档至Google Drive2、将文件以Google文档方式打开3、选择“工具 / 翻译文件”4、下载,保存成PDF文档...

2018-05-19 20:25:07 4043

转载 CRC

代数学的一般性算法在代数编码理论中,将一个码组表示为一个多项式,码组中各码元当作多项式的系数。例如 1100101 表示为1·x6+1·x5+0·x4+0·x3+1·x2+0·x+1,即 x6+x5+x2+1。设编码前的原始信息多项式为P(x),P(x)的最高幂次加1等于k;生成多项式为G(x),G(x)的最高幂次等于r;CRC多项式为R(x);编码后的带CRC的信息多项式为T(x)。发送方编码方...

2018-05-14 16:18:13 505

转载 差错编码

一、什么是码距?  码距就是两个码字C1与C2之间不同的比特数。如:1100与1010的码距为2;1111与0000的码距为4。  一个编码系统的码距就是整个编码系统中任意(所有)两个码字的最小距离。若一个编码系统有四种编码分别为:0000,0011,1100,1111,此编码系统中0000与1111的码距为4;0000与0011的码距为2,是此编码系统的最小码距。因此该编码系统的码距为2。  二...

2018-05-14 13:46:04 1284

转载 ubuntu下载goalng-1.9

一.安装这里以安装golang1.9为例: 1.首先通过命令行直接安装sudo apt-get install golang-1.92.下载好之后,查看go的版本catik@catik-Aspire-V3-471:~$ go version go version go1.9.2 linux/amd64可以看得出,这里的版本是go1.9.2二.环境配置1.查看环境变量:catik@catik-Asp...

2018-05-10 19:55:52 164

转载 简单了解 Tendermint

Tendermint 是什么?来自一段 slack 对话先来举个例子,Wordpress 与 Apache Web Server,Apache Web Server 通过 fastcgi 与 Wordpress 进行交流。它们被组合到一个服务端的进程中,这个进程负责处理连接逻辑,比如控制流量和安全。Tendermint 就像是分布式账本中的 Apache Web Server,它负责了像 p2p ...

2018-05-10 13:44:12 929

原创 星云链开发dapp

前几天星云链主网正式上线,现在只要成功提交一个dapp即可获得100nas,1个nas 70元人民币左右。编写合约只要会javascript就可以写。活动持续两个月左右。下面简单介绍一下流程 首先注册星云链https://incentive.nebulas.io/cn/signup.html?invite=sIozz填写完成之后点击注册。 下载在线钱包绑定地址记得保...

2018-05-10 08:35:42 1063

转载 Solidity 中 revert(), assert() 和 require() 的使用方法

转载自:https://ethfans.org/posts/when-to-use-revert-assert-and-require-in-soliditySolidity 0.4.10 版本发布了新的 assert() , require() 和 revert() 函数,解决了以前代码中有困惑的地方。特别地,新 assert() 和 require() 代码会“确保”提高合约代码逻辑条理清...

2018-05-10 00:37:47 11076

转载 毒性逆转

选路环路(routing loop)和计数到无穷(count-to-infinity)当某条链接的费用减少时,我们称之为有一个“好消息”。在网络中,好消息的传递往往很迅速。例如,存在这样一个网络:某一时刻,Y检测到它到X的链路费用由4减少为1,好消息当然要告诉大家了,于是它更新了自己的距离向量,并通知了Z。Z在收到Y的更新报文后,也更新了自己的距离向量(由5减为2),并向邻居们发送更新报文。而后,...

2018-05-09 23:58:49 16145 9

原创 迅雷链同构多链框架解析

传统意义上的、甚至是消费者端熟知的迅雷,是那家唯一在美国上市的中国下载服务商,主营业务还是在线广告、游戏和会员。迅雷从2015年开始对分布式计算和区块链领域的布局。这几年,迅雷布局了CDN,推出了C端的赚钱宝和玩客云,商业模式上,完成了用C端硬件节点为表现形式的,对「共享计算」、「分布式CDN」和「区块链技术」方向的探索。如今的新迅雷,已经转型成为了一个“共享计算”服务和互联网基础技术的提供商。如...

2018-05-09 22:40:06 17505

原创 类似以太猫的智能合约

//erc721.solcontract ERC721 { event Transfer(address indexed _from, address indexed _to, uint256 _tokenId); event Approval(address indexed _owner, address indexed _approved, uint256 _tokenId);...

2018-05-09 22:39:07 422

转载 icmp报文

一.概述:1.   ICMP允许主机或路由报告差错情况和提供有关异常情况。ICMP是因特网的标准协议,但ICMP不是高层协议,而是IP层的协议。通常ICMP报文被IP层或更高层协议(TCP或UDP)使用。一些ICMP报文把差错报文返回给用户进程。2.   ICMP报文作为IP层数据报的数据,加上数据报的首部,组成数据报发送出去。3.   ICMP报文的种类有两种,即ICMP差错报告报文和ICMP询...

2018-05-09 20:14:50 8563 1

原创 mongodb语法

linux下载mongodb: curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz # 下载tar -zxvf mongodb-linux-x86_64-3.0.6.tgz # 解压1. show dbs:   显示所有数据库2. ...

2018-05-09 01:29:12 235

原创 自学dapp开发资料

思路与观点2018-02-01 Zeppelin Solution : Zeppelin与智能合约开发的演变 2016-2017: Stackexchange关于可升级的智能合约的问答 ConsenSys : 以太坊智能合约最佳实践 Evoluchain : Evoluchain代理合约2018-02-22 Jorge Izquierdo : ERC DelegateProxy #...

2018-05-08 16:53:00 719

转载 TCP快速重传为什么是三次冗余ack

先理解ACK的基本工作原理,当发送端发送第N-1个包后,接收端答复的ACK序列号实际上跟发送端发送下一个包,也就是第N个包的序列号一致。         重复ACK是指在接收方收到乱序报文时,所发出的一类TCP报文。TCP使用报文头的序列号和确认号以有效保证数据按照发送的顺序接收和重组。当TCP连接建立以后,握手过程中交换的一个最重要的信息是初始序列号(ISN)。一旦连接双方设定了ISN之后,接下...

2018-05-08 13:52:16 8016 1

转载 rdt1.0,rdt2.0,rdt2.1,rdt2.2,rdt3.0

可靠资料传输(Reliable Data Transfer 简称rdt)资料可靠度是网络传输中非常大的问题之一。在TCP抽象服务的模型中(也算是理想状态),每个应用程序的讯息都透过网络上可靠的通道来传输,然而现实中的困难是 可靠传输协定的下层是不可靠。也就是说,现实中存在着许多状况,例如资料位元错误、封包遗失等等 造成资料的不可靠,必须建立有效的传输协定。1、rdt1.0 rdt的模型主要是用FS...

2018-05-08 01:10:42 12282

原创 解决Error: VM Exception while processing transaction: revert

在github上面好像是因为testrpc不能很好的处理拜占庭问题。我尝试换成ganache-cli之后成功编译。下面的github上面找到的回答Ah, may be you met a different problem from me. In my situation, my code worked perfectly on rinkeby but not testrpc. It seems ...

2018-05-07 23:35:50 8408 1

转载 How To Create Token and Initial Coin Offering Contracts Using Truffle + Zeppelin Solidity

Token contracts are hot. Token crowd sales aka Initial Coin Offers(ICO) are hotter. There have been a lot going in terms of ICOs lately in the crypto world and if you would like to code one yourself, ...

2018-05-07 23:07:45 544

转载 OpenZeppelin集成Truffle编写健壮安全的合约

原文:http://truffleframework.com/tutorials/robust-smart-contracts-with-openzeppelin因为智能合约往往涉及金钱,保证Soldity代码没有错误,以及足够的安全是非常根本的。Zeppelin Solutions,一个智能合约审查服务商,已经意识到相关的需求。建立在他们的合约审查经验之上,他们把一些最佳实践整理到了OpenZe...

2018-05-07 22:55:49 736

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除