我正在创建一系列非常容易理解的文章,这些文章既解释了我所做的事情,也让我重写从旧的混乱黑客到希望更清洁版本的所有内容。
使测试环境成为可能的单个主要组件是构建在geth源库中的模拟后端。模拟的后端是一个geth-ethereum虚拟机,您可以初始化、提交事务、密封块,实际上,将其视为私有区块链节点。
因此让我们从一个极其简单的例子开始——创建一个模拟区块链,其中一个账户持有特定数量的以太。我通常使用一个名为getclient的函数来连接到我正在使用的后端。
我们使用memorykeys库中的getaddress返回一个绑定到角色的地址。〔1〕〔2〕
我们使用etherutils库中的strtoether返回一个表示ether值的大int值a字符串[3]
var baseClient *backends.SimulatedBackend
func getClient() (client *backends.SimulatedBackend, err error) {
if baseClient != nil {
return baseClient, nil
}
funds, _ := etherUtils.StrToEther(“10000.0”)
baseClient = backends.NewSimulatedBackend(core.GenesisAlloc{
getAddress(“banker”): {Balance: funds},
}, 8000000)
return baseClient, nil
}
我们现在有一个后端系统,有一个账户(我称之为银行家),余额为10000以太。
你可以用下面的代码进行操作
func main() {
client, err := getClient()
if err != nil {
log.Fatal(err)
}
bal, err := client.BalanceAt(context.Background(), getAddress(“banker”), nil)
if err != nil {
log.Fatal(err)
}
fmt.Println(etherUtils.EtherToStr(bal))
}
假设您已添加GETH,memorykeys和etherUtils,您的环境现在应该为您设置导入,您将看到显示10k以太的余额
go run sbe.go keyUtils.go
10000.000000000000000000
相关热词:#区块链
通过机智云物联网平台对家中的晾衣架进行远...
时间:2026-03-06
电感的基础知识理解
时间:2026-03-06
智能相机的技术趋势及未来发展方向
时间:2026-03-06
几个可用的物联网通信协议对比分析
时间:2026-03-06
科达嘉电子连续三年荣获“磁性器件行业卓越...
时间:2026-03-06
电感设计及关键部件及常见电感
时间:2026-03-06
什么是工业4.0?工业4.0全解决方案的实施过...
时间:2026-03-06
一文看懂电感的瞬态响应
时间:2026-03-06
一文看懂共模电感的原理、作用和使用示例
时间:2026-03-06
科达嘉一体成型电感的优势和选型
时间:2026-03-06
配电变压器的工作原理和作用
时间:2026-03-05
低压配电方式有三种 低压配电的作用
时间:2026-03-05
中线安防保护器对电网中三次谐波的治理
时间:2026-03-05
什么是单母线接线?主接线的普遍规律
时间:2026-03-05
智能电网包括什么?它的先进性和优势是?
时间:2026-03-05
基于区块链技术的IP电话协议的分散式设计方...
时间:2026-03-05
未来什么技术占主流?会是区块链吗?
时间:2026-03-05
浅谈区块链下的智能合约
时间:2026-03-05
浅显易懂地揭开.Net生态系统的神秘面纱!
时间:2026-03-05
对技术的执着和美的追求变成了程序员的“诗...
时间:2026-03-05