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

一、前言

在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翻译后

select * from account where  address="0x71c7656ec7ab88b098defb751b7401b5f6d8976f"

4、翻译后的SQL语句

随机配图