【我的区块链之路】- go连接以太坊客户端Geth及调用合约

【转载请标明出处】https://blog.csdn.net/qq_25870633/article/details/82931782 首先,我们需要在本地搭建一个geth的节点。 Geth的安装: 下载Geth源码及安装Geth 使用goget-vgithub.com/ethereum/go-ethereum下载,或者使用goclonegit@github.com:ethereum/go-ethereum.git下载。 在根目录执行 makegeth进行编译安装,然后需要手动把生成的geth加入到环境变

  • 0
  • 0
  • 阅读 ( 1741 )

我们为什么用GO语言来做区块链? 我们为什么用GO语言来做区块链?

在区块链公链的开发圈子里,我们找到了一些流行的编程语言,有C++、Golang、Python和最近新起的Rust等等。 我们稍微对比较有名的项目采用的编程语言做个统计,如下图: 老一代的公链,比如Bitcoin,Litcoin一般使用C/C++较多(我们看看那个时间,当时Go还没起来呢),新一代的公链比如以太坊,联盟链翘楚超级账本,开始较多使用Go语言,当然我们看到Rust的发展势头也很猛,近两年的很多公链比如波卡,Grin都开始采用Rust语言开发了。 Go语言的优势 部署简单 Go编译生成的是一个静

  • 0
  • 1
  • 阅读 ( 2401 )

200行golang 实现的区块链

下面的代码实现了一个最小的区块链。访问使用Http接口 packagemain import( "crypto/sha256" "encoding/hex" "encoding/json" "fmt" "io" "log" "net/http" "os" "strconv" "strings" "sync" "time" "github.com/davecgh/go-spew/spew" "github.com/gorilla/mux" "github.com/joho/

  • 0
  • 1
  • 阅读 ( 2297 )

由马云演讲(2020外滩金融峰会)想起的,供需连、算法经济、平台经济、区块链存储……...

2020年10月23日至25日,第二届外滩金融峰会,马云有个演讲,详情参见《联合国数字合作高级别小组联合主席马云的演讲》。 他认为新金融应该“从过去的人找钱、企业找钱,到钱找人,钱找企业”。新金融的三个标准是普惠、绿色、可持续。 受他所提“钱找人”的启发,我想到了2018年我曾撰写区块链存储的系列六篇文章中的第5篇:《由今日头条、拼多多想到的&BlockChainSto

  • 0
  • 0
  • 阅读 ( 1782 )

PHP开发区块链以太坊支付系统

当我第一次考虑通过加密货币实施支付时,我查看了像Stripe这样的可用解决方案。我觉得Stripe的问题在于,它只允许使用美国商家帐户进行比特币支付,所以这对我来说不是一个选择。在以太坊世界,它看起来更糟糕。有一些较新的服务,但他们都想要分享蛋糕。 那么从头开始构建以太坊支付系统,我们需要什么? 运行PHP的Web服务器。启用了RPC的专用网络中至少有一个Parity节

  • 0
  • 0
  • 阅读 ( 1317 )

区域链 PHP,php工程师如何开发区块链、以太坊、智能合约

以太坊是备受关注的区块链,它基于密码学技术和P2P通信技术构建了一个去中心化的平台,所有的交易同步保存在每个节点中,通过将区块单向级联成链,以太坊有效的保证了交易的不可篡改: 智能合约平台 以太坊是第一个实现了虚拟机的区块链,因此为智能合约-SmartContract-的运行提供了良好的支持环境。也正因为这个原因,以太坊被称为区块链2.0,以区别于比特币代表的

  • 0
  • 0
  • 阅读 ( 1310 )

区块链技术的本质是分布式数据库

本文转自微信号EAWorld。扫描下方二维码,关注成功后,回复“普元方法+”,将会获得热门课堂免费学习机会!《当微服务撞上区块链》系列微课分为:1、区块链的业务价值是通过数据共享降低信任成本2、区块链的本质是分布式数据库(本文)3、区块链与微服务是天生的一对 区块链技术是基于比特币应用提出的一个概念,他是一个融合了多种技术的一个集成式创新。目前区

  • 0
  • 0
  • 阅读 ( 1459 )

死磕以太坊源码分析之Ethash共识算法

死磕以太坊源码分析之Ethash共识算法 代码分支:https://github.com/ethereum/go-ethereum/tree/v1.9.9文章合集:https://github.com/blockchainGuide 引言 目前以太坊中有两个共识算法的实现:clique和ethash。而ethash是目前以太坊主网(Homestead版本)的POW共识算法。 目录结构 ethash模块位于以太坊项目目录下的consensus/ethash目录下。 algorithm.go实现了Dagge

  • 0
  • 0
  • 阅读 ( 1343 )

区块链中的密码学之非对称密码RSA算法(十)

1.前言 RSA密码是1978年美国麻省理工学院三位密码学者R.L.Rivest、A.Shamir和L.Adleman提出的一种基于大合数因子分解困难性的公开密钥密码。由于RSA密码既可用于加密,又可用于数字签名,通俗易懂,因此RSA密码已成为目前应用最广泛的公开密钥密码。 2.RSA的密钥生成过程 1.随机地选择两个大素数p和q,而且保密; 2.计算n=pq,将n公开; 3.计算φ(n)=(p-1)(q-1),对φ(n)保密; 4.随机地选取

  • 0
  • 0
  • 阅读 ( 1397 )

区块链中的密码学系列之对称加密算法DES(六)

1.前言 DES是一种数据加密标准(DataEncryptionStandard),有30多年历史,是一种对称密码算法,是第一个得到广泛应用的密码算法,是一种分组加密算法,输入的明文为64位,密钥为64位(实际上只有56位,原因是每隔7个比特设置一个奇偶校验位),生成的密文分组长度为64位。但是现在已经不再安全。 课件来自我们老师上课的PPT。 2.Feistel网络 我们可以参考这里,Feistel讲解 下面简

  • 0
  • 0
  • 阅读 ( 1637 )

区块链中的密码学系列之对称加密算法AES(七)

1.前言 高级数据加密标准(AdvancedEncryptionStandard),简称AES,由美国政府于1997年开始公开征集的新的数据加密标准算法。经过三轮筛选,美国政府最终于2000年10月2日正式宣布选中密码学家JoanDaemen和VincentRijmen提出的RINJDAEL算法作为AES。 RINJDAEL算法之所以能够最终被选为AES的原因是其安全、性能好、效率高、实用、灵活。 RINJDAEL算法是一个数据块长度和密钥长度都可变的分组加密

  • 0
  • 0
  • 阅读 ( 1546 )

区块链技术之密码学技术之加密算法

现代加密算法的典型组件包括:加解密算法、加密密钥、解密密钥。其中,加解密算法自身是固定不变的,一般是公开可见的;密钥则往往每次不同,并且需要保护起来,一般来说,对同一种算法,密钥长度越长,则加密强度越大。 加密过程中,通过加密算法和加密密钥,对明文进行加密,获得密文。解密过程中,通过解密算法和解密密钥,对密文进行解密,获得明文。根据

  • 0
  • 0
  • 阅读 ( 1547 )

用Python实现一个Dual Thrust数字货币量化交易策略

DualThrust交易算法介绍 DualThrust交易算法是由MichaelChalek开发的著名量化交易策略。它通常用于期货,外汇和股票市场。DualThrust的概念属于典型的突破交易系统,其运用“双推力”系统根据历史价格构建更新的回溯期,这在理论上使其在任何给定时期内更加稳定。 在这篇文章中,我们给出了此策略的详细逻辑细节,并展示了如何在发明者量化平台上实现此算法。首先,我们要选

  • 0
  • 0
  • 阅读 ( 1401 )

以太坊Ethash算法源码分析

Ethash是以太坊目前使用的共识算法,其前身是Dagger-Hashimoto算法,但是进行了很大的改动。 1.Dagger-Hashimoto Dagger-Hashimoto算法想要达到以下几个目标: 抵制ASIC矿机轻客户端验证全链数据存储实际上Dagger-Hashimoto是由两种不同的算法Dagger和Hashimoto融合而成的: Hashimoto Hashimoto算法由ThaddeusDryja发明,旨在通过“内存读取”瓶颈来抵制ASIC矿机。ASIC矿机可以通过设计专用电路来提升

  • 0
  • 0
  • 阅读 ( 1432 )

从小白到区块链工程师:第一阶段:Go语言的控制台输入和输出(3)

    六,Print系列的函数输出 1:Println打印换行。Print控制台打印,lnline一行,打印数据后自动换一行显示。下面显示在控制台打印出不同的类型。   打印输出结果后,会自动换一行。打印结果如下所示。 2:Print打印出的内容,不换行。 在一行显示打印结果。   3:Printf格式化输出打印结果,拥有占位符。   整型(int): fmt.Printf("%dn",10) %d是一个占位符,后面的输出值来替换

  • 0
  • 0
  • 阅读 ( 1576 )

15个区块链共识算法的开源实现【BFT/Raft/Paxos/Pow/PoS】

共识算法是实现自主产权区块链的必不可少的关键环节,本文列出社区中相对成熟的区块链共识算法开源实现,包括BFT共识、Raft共识、Paxos共识、PoW共识等,可供希望开发自主产权区块链的团队参考学习。 相关推荐:区块链开发系列教程 1、BFT共识开发库 BFT共识算法可以应对分布式系统中的拜占庭故障(Byzantinefailures),也就是可以在集群中部分节点存在恶意行为时依然保证

  • 0
  • 0
  • 阅读 ( 1713 )

区块链共识算法之BFT(4)

 (1)PBFT    最常用的BFT共识机制是实用拜占庭容错算法PBFT(PracticalByzantineFaultTolerance)。该算法是MiguelCastro和BarbaraLiskov在1999年提出来的,解决了原始拜占庭容错算法效率不高的问题,将算法复杂度由节点数的指数级降低到节点数的平方级,使得拜占庭容错算法在实际系统应用中变得可行。    PBFT是针对状态机副本复制为主的分布式系统执行环境开发的算法,旨在让系统中大

  • 0
  • 0
  • 阅读 ( 1528 )

京东区块链开源项目——JD Chain介绍及区块链白皮书发布

导言 近日,京东区块链底层引擎JDChain正式对外开源并同步上线开源社区,旨在为企业级用户和开发者提供开源服务,帮助他们提高研发效率,加速技术创新。3月30日,国家互联网信息办公室公布了第一批区块链信息服务名称及备案编号,其中京东区块链BaaS平台、京东区块链防伪追溯通用平台等榜上有名。4月9日,京东发布《京东区块链技术实践白皮书(2019)》,总结了京东区块

  • 0
  • 0
  • 阅读 ( 1668 )

新人必读:区块链实用型技能树 | Linux 中国

随着新一波的区块链热潮,许多同学怀着巨大的热情进入了这个领域,同时也会遇到不少疑惑,区块链开发需要哪些知识?怎么学习?从哪里学习?遇到问题怎么办?本文将试图给区块链领域新人一个快速实用的指引。 --张开翔 作者:FISCOBCOS/张开翔 随着新一波的区块链热潮,许多同学怀着巨大的热情进入了这个领域,同时也会遇到不少疑惑,区块链开发需要哪些知识?怎么

  • 0
  • 0
  • 阅读 ( 1890 )

如何用python生成自己的比特币私钥!

在加密货币中,私钥允许用户访问其钱包。持有私钥的人完全控制该钱包中数字货币。出于这个原因,你应该保守秘密。如果你真的想自己生成密钥,那么以安全的方式生成密钥是有意义的。在这里,我将介绍私钥,并向你展示如何使用各种加密函数生成自己的密钥。我将在Python中提供算法和代码的描述。 我需要生成私钥吗? 大多数时候你没有。例如,如果你使用Coinbase或Bloc

  • 0
  • 0
  • 阅读 ( 1184 )