以太经典是什么?以太坊和以太经典关系

以太坊的构思诞生于2013年。当年Vitalik Buterin(维塔利克˙布特林,币圈一般都称呼为V神)还在比特币社区担任程序员的时候,向比特币核心开发人员建议开发一套面向应用开发者的语言,以方便各种应用的开发。比特币核心开发人员不同意这个意见。于是V神决定开发一个新的平台作此用途。

V神在2013年写下了《以太币白皮书》,在白皮书中说明了建造去中心化程序的目标。在2014年,通过众筹得到开发资金,于是开发了以太系统。(更好用的数字货币交易平台“币汇”)

诞生之后,到目前为止共进行了四次的硬分叉。

第一次为了调整难度;

第二次发布了稳定版本“家园”;

第四次为了防止分布式拒绝服务攻击(DDOS)和减重。

只有第三次硬分叉,因为发生了黑客攻击,而迫不得已进行了分叉。这就是The DAO事件。

The DAO事件

2015年7月30日,V神和以太坊基金会创建了第一个智能合约平台,并设计了TheDAO以太坊合约。

2016年4月30日正式部署了The DAO智能合约,并完成了当年世界上最大规模的众筹,达到了惊人的1.5亿美元!(说句题外话,如今时间上最大的众筹事件当属EOS众筹了,达到了更加惊人是50亿美元!)

2016年6月17日,The DAO被黑客攻击,黑客共盗取了约5000万美元的以太币,价格也从20美元暴跌到15美元,对以太坊造成了巨大的伤害。为了挽回投资人的损失,社区最后决定硬分叉。

于是,在2016年7月20日,在区块高度1920000硬分叉成功,新链被称为以太坊ETH,而原链就是现在的以太经典ETC。

如何开发一款的以太坊应用

一、前言

在P2PDB的roadmap中,我们描述了想实现的去中心化数据库的完整形态,通过SQL语法管理以太坊数据成为关键的一步,本文是对P2PDB实现以太坊的数据管理的一种设想

二、实现步骤

1、首先我们需要先熟悉并了解以太坊的数据结构,通过以太坊开发文档 | ethereum.org 去了解技术原理及数据存储结构

2、第二步,我们需要使用以太坊的golang 语言客户端(P2PDB是完全使用go编写)

go-ethereum

3、需要将SQL语句跟go-ethereum 结合起来

以查询以太坊账户余额举例:

golang代码:

func main() {
	client, err := ethclient.Dial("https://cloudflare-eth.com")
	if err != nil {
		log.Fatal(err)
	}

	fmt.Println("we have a connection")
	_ = client // we'll use this in the upcoming sections
	account := common.HexToAddress("0x58B7Ad14b90bb2abE6C51163aE8905b5c670B79E")
	balance, err := client.BalanceAt(context.Background(), account, nil)
	if err != nil {
		log.Fatal(err)
	}

	fmt.Println(balance) // 25893180161173005034
	// fmt.Println
	// fmt
	//	}{}

}

P2PDB翻译后

随机配图
de>select * from account where address="0x71c7656ec7ab88b098defb751b7401b5f6d8976f"