区块链
文章平均质量分 93
xiatiancc
这个作者很懒,什么都没留下…
展开
-
solidity ---call相关函数
三个方法都是用来进行合约交互的方法。由于没有进行更进一步的封装,不是最好的选择,一般不会直接使用到它们;另外一个显著的问题由于可以使用任意参数类型,在语言层面不能保证类型安全,所以不推荐使用。call() 方法call()是一个底层的接口,用来向一个合约发送消息1,也就是说如果你想实现自己的消息传递,可以使用这个函数。函数支持传入任意类型的任意参数,并将参数打包成32字节,相互拼接后向合约发送这段...转载 2018-03-29 17:10:43 · 2427 阅读 · 1 评论 -
区块链学堂(9):Geth 基本命令2
Ether币的基本单位Ether币最小的单位是Wei,也是命令行默认的单位, 然后每1000个进一个单位,依次是kwei (1000 Wei)mwei (1000 KWei)gwei (1000 mwei)szabo (1000 gwei)finney (1000 szabo)ether (1000 finney)简单地说就是就是1 以太币 = 10000000000000转载 2018-01-02 11:36:18 · 268 阅读 · 0 评论 -
Ubuntu下对以太坊开发环境搭建介绍
前言: 这段时间正在研究以太坊,对于新的内容首先要对其开发环境进行搭建,这几天一直在网上搜索相关内容,感觉不是很详细,多多少少有些问题。所以准备对此写下来备用。资源下载:http://download.csdn.net/download/xiatiancc/10183412Ubuntu版本:(此版本先用实验搭建环境,建议使用linux 64位版本)原创 2017-12-29 16:32:46 · 4266 阅读 · 0 评论 -
go——搭建Win7下的Go开发环境
1.首先需要下载下载go平台安装包 安装程序 下载地址:https://golang.org/dl/ (墙内下载地址http://www.golangtc.com/download),如果是您的系统是windows32 位系统,请选择go1.3.3.windows-386.msi即可,其他的,请按照自己所需版本来进行下载;2.安装以及配置环境变量转载 2018-01-23 15:17:41 · 415 阅读 · 0 评论 -
区块链学堂(7):Geth 搭建私有网络-实战
在本章中我们将实战如何使用Geth,如何搭建以太坊的私有网络。之前说过Geth是三种实现以太坊协议的工具之一,由于Geth是官方推崇的以及个人精力有限,对于另外两种工具的搭建私有网络,请参考网上资料。下面的Geth实战,在MacBook上实现,对于Windows方面,比较类似。Step 1: 建立目录和genesis.json在命令行模式创建一个目录,例如tmp转载 2018-01-02 11:28:15 · 348 阅读 · 1 评论 -
区块链学堂(29):Modifiers
Modifiers can be used to easily change the behaviour of functions, for example to automatically check a condition prior to executing the function. They are inheritable properties of contracts and may转载 2018-01-05 09:28:26 · 471 阅读 · 0 评论 -
区块链学堂(28):用Mapping来实现一个简单的代币合约
在上一节里面我们通过mapping (bytes32 => uint) public balances; 实现了一个简单的mapping的hashtable. 但这样的hashTable无法部署在geth上面,也无法完成互相之间的代币转化。这一节中我们将从0开始,撰写一个简单的合约Step 1: 创建一个基础合约pragma solidity 0.4.7;contr转载 2018-01-05 09:27:37 · 725 阅读 · 0 评论 -
区块链学堂(27):Mapping 类型
Mapping types are declared as mapping(_KeyType => _ValueType). Here _KeyType can be almost any type except for a mapping, a dynamically sized array, a contract, an enum and a struct. _ValueType ca转载 2018-01-05 09:26:51 · 844 阅读 · 0 评论 -
区块链学堂(26):Ether Units& Time Units
EtherEther Units A literal number can take a suffix of wei, finney, szabo or ether to convert between the subdenominations of Ether, where Ether currency numbers without a postfix are assumed to转载 2018-01-05 09:25:36 · 293 阅读 · 0 评论 -
区块链学堂(25):Address类型
Address类型address: Holds a 20 byte value (size of an Ethereum address). Address types also have members and serve as base for all contracts. 引用自here方法:balancetransfer使用:addres转载 2018-01-05 09:24:44 · 515 阅读 · 0 评论 -
区块链学堂(24):Struct类型
Struct类型定义例如定义一个struct类型的Person struct Person { string name; uint sexy; //0: 男性;1:女性; uint age; string mobile; }建立一个Struct的Demo合约Step 1: 撰写最基本的合约pragma solidity 0转载 2018-01-05 09:23:41 · 453 阅读 · 0 评论 -
区块链学堂(23):Enum数据类型
Enums类型的官方定义Enums are one way to create a user-defined type in Solidity. They are explicitly convertible to and from all integer types but implicit conversion is not allowed. The explicit conver转载 2018-01-05 09:22:49 · 274 阅读 · 0 评论 -
CITA 安装
快速安装依赖系统平台要求CITA的运行环境是Linux和OSX操作系统,目前不支持Windows系统。CITA是基于Ubuntu 16.04稳定版开发的,在该系统版本上运行将是正确无误的。如果在Linux系统的其他版本上运行出现问题,建议将系统版本切换到Ubuntu 16.04版本。python版本是2.7。注意:Ubuntu要获取root权限,然后操作,否则会出现很多问题。获取权限方法,参考:h...原创 2018-02-09 15:50:30 · 603 阅读 · 1 评论 -
libsecp256k1 库编译+jni库编译--bitcoin
原文:https://github.com/bitcoin-core/secp256k1先下载源文件。以下是摘抄:Optimized C library for EC operations on curve secp256k1.This library is a work in progress and is being used to research best practi原创 2018-01-30 09:16:23 · 5390 阅读 · 4 评论 -
部署CITA
Bootstrap通过本文所述方法和项目中的脚本,我们可以快速的搭建好自己的 CITA 私链进行开发测试。部署CITA为了简化 CITA 的多机部署,帮助用户快速搭建 CITA 运行环境,我们推荐使用 docker 部署 CITA。安装docker安装 docker 及 docker-composesudo apt-get install docker dock转载 2018-01-25 11:02:57 · 2783 阅读 · 1 评论 -
【文档翻译系列】solidity ---ABI详解
ABI1是以太坊的一种合约间调用时的一个消息格式。类似Webservice里的SOAP协议一样;也就是定义操作函数签名,参数编码,返回结果编码等。函数基本设计思想函数选择器参数编码支持的类型编码方式动态内容类型的定义长度函数的定义进一步定义具体类型的编码方式函数选择器和参数编码例子动态类型的使用例子Events 事件JSON格式函数基本设计思想使用ABI协议时必须要求在编译时知道类型,也就是说不支...转载 2018-03-29 15:02:16 · 2999 阅读 · 0 评论 -
一步步教你开发、部署第一个去中心化应用(Dapp) - 宠物商店
今天我们来编写一个完整的去中心化(区块链)应用(Dapps), 本文可以和编写智能合约结合起来看。写在前面阅读本文前,你应该对以太坊、智能合约有所了解,如果你还不了解,建议你先看以太坊是什么除此之外,你最好还了解一些HTML及JavaScript知识。本文通过实例教大家来开发去中心化应用,应用效果如图:从本文,你可以学习到:搭建智能合约开发环境创建Truffle项目编写智能合约编译和部署智能合约到...转载 2018-03-27 16:06:08 · 1347 阅读 · 0 评论 -
智能合约语言 Solidity 教程系列8 - Solidity API
这是Solidity教程系列文章第8篇介绍Solidity API,它们主要表现为内置的特殊的变量及函数,存在于全局命名空间里。写在前面Solidity 是以太坊智能合约编程语言,阅读本文前,你应该对以太坊、智能合约有所了解,如果你还不了解,建议你先看以太坊是什么欢迎订阅区块链技术专栏阅读更全面的分析文章。Solidity API 主要表现为Solidity 内置的特殊的变量及函数,他们存在于全局...转载 2018-03-26 14:37:28 · 627 阅读 · 0 评论 -
智能合约语言 Solidity 教程系列6 - 结构体与映射
写在前面Solidity 是以太坊智能合约编程语言,阅读本文前,你应该对以太坊、智能合约有所了解,如果你还不了解,建议你先看以太坊是什么本系列文章一部分是参考Solidity官方文档(当前最新版本:0.4.20)进行翻译,另一部分是Solidity深入分析,这部分请订阅区块链技术专栏阅读。结构体(Structs)Solidity提供struct来定义自定义类型,自定义的类型是引用类型。我们看看下面...转载 2018-03-26 14:22:52 · 545 阅读 · 1 评论 -
智能合约语言 Solidity 教程系列5 - 数组介绍
写在前面Solidity 是以太坊智能合约编程语言,阅读本文前,你应该对以太坊、智能合约有所了解,如果你还不了解,建议你先看以太坊是什么本文前半部分是参考Solidity官方文档(当前最新版本:0.4.20)进行翻译,后半部分对官方文档中没有提供代码的知识点补充代码说明(订阅专栏阅读)。数组(Arrays)数组可以声明时指定长度,也可以是动态变长。对storage存储的数组来说,元素类型可以是任意...转载 2018-03-26 14:07:44 · 442 阅读 · 0 评论 -
智能合约语言 Solidity 教程系列4 - 数据存储位置分析
写在前面Solidity 是以太坊智能合约编程语言,阅读本文前,你应该对以太坊、智能合约有所了解,如果你还不了解,建议你先看以太坊是什么这部分的内容官方英文文档讲的不是很透,因此我在参考Solidity官方文档(当前最新版本:0.4.20)的同时加入了深入分析部分,欢迎订阅专栏。数据位置(Data location)在系列第一篇,我们提到 Solidity 类型分为两类:值类型(Value Typ...转载 2018-03-26 09:24:49 · 322 阅读 · 0 评论 -
智能合约语言 Solidity 教程系列3 - 函数类型
Solidity 教程系列第三篇 - Solidity 函数类型介绍。写在前面Solidity 是以太坊智能合约编程语言,阅读本文前,你应该对以太坊、智能合约有所了解,如果你还不了解,建议你先看以太坊是什么本文前半部分是参考Solidity 官方文档(当前最新版本:0.4.20)进行翻译,后半部分函数可见性( public, external, internal, privite )深度分析(仅针...转载 2018-03-23 14:05:05 · 367 阅读 · 0 评论 -
智能合约语言Solidity教程系列2 - 地址类型介绍
智能合约语言Solidity教程系列第二篇 - Solidity地址类型介绍.写在前面Solidity是以太坊智能合约编程语言,阅读本文前,你应该对以太坊、智能合约有所了解,如果你还不了解,建议你先看以太坊是什么本文前半部分是参考Solidity官方文档(当前最新版本:0.4.20)进行翻译,后半部分是结合实际合约代码实例说明类型的使用(仅针对专栏订阅用户)。地址类型(Address)地址类型ad...转载 2018-03-23 11:33:49 · 346 阅读 · 0 评论 -
智能合约语言Solidity教程系列1 - 类型介绍
现在的Solidity中文文档,要么翻译的太烂,要么太旧,决定重新翻译下,再加上代码事例讲解。写在前面Solidity是以太坊智能合约编程语言,阅读本文前,你应该对以太坊、智能合约有所了解,如果你还不了解,建议你先看以太坊是什么Solidity教程会是一系列文章,本文是第一篇:介绍Solidity的变量类型。本文前半部分是参考Solidity官方文档(当前最新版本:0.4.20)进行翻译,后半部分...转载 2018-03-23 11:32:07 · 409 阅读 · 0 评论 -
[区块链]共识算法(POW,POS,DPOS,PBFT)介绍和心得
原文出处:http://blog.csdn.net/lsttoy/article/details/61624287POW:Proof of Work,工作证明。比特币在Block的生成过程中使用了POW机制,一个符合要求的Block Hash由N个前导零构成,零的个数取决于网络的难度值。要得到合理的Block Hash需要经过大量尝试计算,计算时间取决于机器的哈希运算速度。当某个节转载 2018-02-06 14:47:35 · 1091 阅读 · 0 评论 -
区块链学堂(22):String 数组类型
String类型的官方定义String literals are written with either double or single-quotes (“foo” or ‘bar’). They do not imply trailing zeroes as in C; “foo”` represents three bytes not four. As with inte转载 2018-01-05 09:18:27 · 282 阅读 · 0 评论 -
区块链学堂(21):数组类型
数组类型基础solidity语言中,int/uint 数组类型的定义方式如下:uint[] a;int[] b;数组类型的成员有两个length 和 push。push 是给数组类型增加一个元素,同时该数组的长度+1length 返回当前数组的长度。有一个元素,则返回1,有两个元素则返回2.数组类型实战代码从一个最简单的int数组合约转载 2018-01-05 09:17:17 · 274 阅读 · 0 评论 -
Solidity 官方文档中文版(一)
中文翻译文档:http://www.tryblockchain.org/Solidity-%E8%AF%AD%E8%A8%80%E4%BB%8B%E7%BB%8D.html英文官方文档:http://solidity.readthedocs.io/en/develop/Solidity是一种智能合约高级语言,运行在Ethereum虚拟机(EVM)之上。Solidity与其它语言相关的特点?它的语法...转载 2017-12-27 11:27:44 · 10967 阅读 · 0 评论 -
区块链学堂(10):Browser-solidity
使用Browser-solidity来编译合约&部署合约https://ethereum.github.io/browser-solidity在上一章中部署在Geth上的源代码如下: pragma solidity 0.4.9; contract DemoTypes { function f(uint a) returns (uint b)转载 2018-01-02 11:39:50 · 337 阅读 · 0 评论 -
区块链学堂(8):Geth 基本命令
进入Geth 命令行模式在上一篇文章中,我们说到,我们可以用下面命令,建立一个新的私有链geth --datadir "./" --nodiscover console 2>>geth.log进入命令行模式,其中参数–datadir 代表文件夹地址,–nodiscover 代表该链条不希望被其他节点发现,console >> geth.log 代表将控制台输出到文件转载 2018-01-02 11:31:54 · 384 阅读 · 0 评论 -
区块链学堂(6):以太坊生产网络/测试网络/私有网络
要理解以太坊 PrivateNetwork 先要理解以太坊的两种官方网络目前以太坊官方提供了两种网络生产环境网络测试网络 TestNet下面将分别简单讲解下这两种网络以太坊生产网络以太坊的生产网络顾名思义,也就是产生真正有价值的 的以太币的网络。 目前生产网络目前已经生成了300万以上的区块,还在持续生成中。挖矿挖出来的每个以台币在10美金以上。 生产环境下转载 2018-01-02 11:25:04 · 266 阅读 · 0 评论 -
区块链学堂(5):Geth 安装
Geth是什么?Geth 又名Go Ethereum. 是以太坊协议的三种实现之一,由Go语言开发,完全开源的项目。Geth 可以被安装在很多操作系统上,包括Windows、Linux、Mac的OSX、Android或者IOS系统Geth官网:https://geth.ethereum.org/Geth的Github地址:https://github.com/ether转载 2018-01-02 11:24:01 · 255 阅读 · 0 评论 -
区块链学堂(4):以太坊基本概念及工具Geth、Browser-solidity、Mist
在我研究以太坊技术的过程中,由于相关资料较少,因此走了较多的弯路。所以这里我们不会先介绍Solidity的语法结构,而会在接下来的第一阶段,从实战出发,陆续向大家介绍Geth、Browser-solidity、Mist这三大工具,并在过程中不断讲解以太坊的基本概念。通过这些工具的实际使用,以及对以太坊的基本概念不断加深理解,对于第二阶段学习solidity语言才能事半功倍(毕竟语言学习是很转载 2018-01-02 11:22:20 · 322 阅读 · 0 评论 -
区块链学堂(3):Solidity
Solidity在上一篇文章中,我们可以看到pragma solidity 0.4.9;,这里的Solidity,就是以太坊智能合约的核心语言Solidity,也是本教程的重点。Solidity是什么?Solidity是以太坊智能合约的编程语言,通过编译&部署智能合约,可以实现智能合约的Create、执行和查看,从而实现某些商业应用。几个简单的Solidi原创 2018-01-02 11:19:50 · 353 阅读 · 0 评论 -
区块链学堂(2):最简单的智能合约
最简单的智能合约最简单的一个智能合约pragma solidity 0.4.9;contract DemoTypes { function f(uint a) returns (uint b) { uint result = a * 8; return result; }}以上就是一个最简单的一个智能合约, 该智能合约实现了一个最基本转载 2018-01-02 11:17:48 · 444 阅读 · 0 评论 -
区块链学堂(1):区块链引子
写在前面的话:相信正在看这篇文章的读者一定已经听说过区块链了,并且也相信区块链是一项前景美妙,甚至是颠覆性的技术。但是也许同时也会感到困惑,对于区块链虽然有一些大致概念,但是具体到如何应用区块链技术,如何进行区块链编程就会发现并不是那么容易。那么恭喜你!来对地方了。本教程主要介绍的是区块链技术的一个主要流派:以太坊的编程,希望读者阅读完本教程后,可以学会并掌握以太坊及其智能合约的编程,并能转载 2018-01-02 11:16:07 · 360 阅读 · 0 评论 -
Solr7版本 安装
Solr的版本6.0.0以上的都要求jdk8.0及以上。Solr各版本发布时间、对应的JDK版本、Jetty版本(http://blog.csdn.net/jiangchao858/article/details/52443745#t2)1.开发环境Ubuntu 16.04.3 LTSjava version "1.8.0_151"原创 2017-12-26 13:29:15 · 1407 阅读 · 0 评论 -
Solidity 官方文档中文版(二)
Solidity AssemblySolidity定义了一个汇编语言,可以不同Solidity一起使用。这个汇编语言还可以嵌入到Solidity源码中,以内联汇编的方式使用。下面我们将从内联汇编如何使用着手,介绍其与独立使用的汇编语言的不同,最后再介绍这门汇编语言。文档尚待完善的补充的地方:待补充内联汇编的变量作用域的不同,尤其是使用含internal的函数的库时所引入的复杂度。另外,还需补充,编...转载 2017-12-27 11:34:14 · 9480 阅读 · 3 评论 -
Solidity 官方文档中文版(三)
赋值(Assignment)解构赋值和返回多个结果(Destructing Assignments and Returning Multip Values)Solidity内置支持元组(tuple),也就是说支持一个可能的完全不同类型组成的一个列表,数量上是固定的(Tuple一般指两个,还有个Triple一般指三个)。这种内置结构可以同时返回多个结果,也可用于同时赋值给多个变量。pragma so...转载 2017-12-27 11:42:00 · 1650 阅读 · 0 评论 -
Solidity 官方文档中文版(四)
数据位置(Data location)复杂类型,如数组(arrays)和数据结构(struct)在Solidity中有一个额外的属性,数据的存储位置。可选为memory和storage。memory存储位置同我们普通程序的内存一致。即分配,即使用,越过作用域即不可被访问,等待被回收。而在区块链上,由于底层实现了图灵完备,故而会有非常多的状态需要永久记录下来。比如,参与众筹的所有参与者。那么我们就要...转载 2017-12-27 11:44:43 · 3906 阅读 · 0 评论