go语言程序化交易 go语言gui编程( 五 )


我们现在可以调用任何ERC20的方法 。例如 , 我们可以查询用户的代币余额 。
我们还可以读ERC20智能合约的公共变量 。
我们可以做一些简单的数学运算将余额转换为可读的十进制格式 。
同样的信息也可以在etherscan上查询:
Commands
erc20.sol
contract_read_erc20.go
solc version used for these examples
GO语言商业案例(六):PayPal创建 PayPal 的目的是使金融服务民主化 , 并使个人和企业能够加入并在全球经济中蓬勃发展 。这项工作的核心是 PayPal 的支付平台,该平台使用专有技术和第三方技术的组合来高效、安全地促进全球数百万商家和消费者之间的交易 。随着支付平台变得越来越大、越来越复杂,PayPal 寻求对其系统进行现代化改造并缩短新应用程序的上市时间 。
Go 在生成干净、高效的代码方面的有着极高的价值 。这些代码可以随着软件部署的扩展而轻松扩展,这使得该语言非常适合支持 PayPal 的目标 。
支付处理平台的核心是 PayPal 用 C++ 开发的专有 NoSQL 数据库 。然而,代码的复杂性大大降低了开发人员发展平台的能力 。Go 的简单代码布局、goroutine(轻量级执行线程)和通道(用作连接并发 goroutine 的管道)使 Go 成为 NoSQL 开发团队简化和现代化平台的自然选择 。
作为概念验证 , 一个开发团队花了六个月的时间学习 Go 并在 Go 中从头开始重新实现 NoSQL 系统,在此期间,他们还提供了有关如何在 PayPal 更广泛地实施 Go 的见解 。截至今天,已迁移 30% 的集群以使用新的 NoSQL 数据库 。
随着 PayPal 的平台变得越来越复杂,Go 提供了一种轻松简化大规模创建和运行软件的复杂性的方法 。该语言为 PayPal 提供了出色的库和快速工具 , 以及并发、垃圾收集和类型安全 。
借助 Go,PayPal 使其开发人员能够将更多时间从 C++ 和 Java 开发的噪音中解放出来,从而能够花更多时间查看代码和进行战略性思考 。
在这个新改写的 NoSQL 系统取得成功后,PayPal 内更多的平台和内容团队开始采用 Go 。Natarajan 目前的团队负责 PayPal 的构建、测试和发布管道——所有这些都是在 Go 中构建的 。该公司拥有一个大型构建和测试农场,它使用 Go 基础设施进行完全管理,以支持整个公司的开发人员的构建即服务(和测试即服务) 。
凭借 PayPal 所需的分布式计算能力,Go 是刷新系统的正确语言 。PayPal 需要并发和并行的编程,为高性能和高度可移植性而编译,并为开发人员带来模块化、可组合的开源架构的好处——Go 已经提供了所有这些以及更多帮助 PayPal 对其系统进行现代化改造 。
安全性和可支持性是 PayPal 的关键问题,该公司的运营管道越来越多地由 Go 主导,因为该语言的简洁性和模块化帮助他们实现了这些目标 。PayPal 对 Go 的部署为开发人员提供了一个创意平台 , 使他们能够为 PayPal 的全球市场大规模生产简单、高效和可靠的软件 。
随着 PayPal 继续使用 Go 对其软件定义网络 (SDN) 基础设施进行现代化改造,除了更易于维护的代码外,他们还看到了性能优势 。例如,Go 现在为路由器、负载平衡和越来越多的生产系统提供动力 。
作为一家全球性企业 , PayPal 需要其开发团队有效管理两种规模:生产规模,尤其是与许多其他服务器(如云服务)交互的并发系统;和开发规模,尤其是由许多程序员协同开发的大型代码库(如开源开发)
PayPal 利用 Go 来解决这些规模问题 。该公司的开发人员受益于 Go 将解释型动态类型语言的编程易用性与静态类型编译语言的效率和安全性相结合的能力 。随着 PayPal 对其系统进行现代化改造,对网络和多核计算的支持至关重要 。Go 不仅提供了这种支持,而且提供的速度很快——在单台计算机上编译一个大型可执行文件最多需要几秒钟 。

推荐阅读