go语言部署上线 go语言包( 六 )


(7)支持 ERC20 扩展 ApproveAndCall
增加ApproveAndCall 接口可以对token逻辑和业务逻辑操作进行简化,光子网络为适应更多token的调用需要,已增加ApproveAndCall扩展 , 支持多种模式的调用 。
三、光子网络(photon network)优点
光子网络最主要的功能是进行链下微支付 , 具有安全、快速、可扩展和低费用的优点 。此外,光子网络与其他的状态通道相比,还具有以下一些优点:
(1)广泛的跨平台和移动适配应用
现有的一些状态通道技术实现多基于特定的平台,目前能够实现跨平台功能应用的相对较少 , 光子网络采用go语言开发,可以在windows、Linux、macOS等平台上运行 。另外 , 光子网络设计的应用场景之一是目前应用广泛的移动端和智能设备,因此可以完全适配Android和iOS等移动端系统 。光子网络为了提高移动设备的通信稳定性和更好的用户体验,使用Matrix消息框架进行底层通信,此集群管理方案在普通的硬件支持下可达每秒百万级别的吞吐量 , 其点对点通信在稳定可靠(均需签名和加密)的room内进行,可实时监控节点的状态并提供高效的通信效能 。
(2)精简的安全保护(状态恢复)机制
为了保证交易过程的正常进行,以及更好的适配移动设备 , 光子网络对交易中可能出现的意外场景进行了分析并针对性的设计了解决方案,实现交易节点状态数据的同步以保护交易安全 。为了避免交易过程中出现意外造成移动设备存储过多信息,光子网络没有采取所有情况都可以继续交易的机制(这样会存储大量数据,对移动设备的使用效率会有较大影响),在确保意外节点重启后不会丢失token,通道仍可以继续使用的原则上设计了精简状态恢复机制 , 整体上保护了交易的安全 。
(3)日趋完善的第三方支持
光子网络从安全和效率的角度提供了多个第三方支持,当前的第三方支持包括第三方代理和第三方路由服务,第三方代理可以帮助委托方监控通道状态,并在通道另一方关闭通道结算时更新通道状态,对移动节点离线后资金的安全有良好的保证;第三方路由服务接收当前所有节点的通道状态和收费信息,可实时监控节点的状态并提供当前最优的路由及收费方案来提高转账成功率 。目前 , 第三方服务正进一步完善性能并集成进光子网络,方便用户对光子网络的使用 。
(4)特殊应用场景支持
无网和跨链是光子网络的亮点 。在meshbox的支持下 , 光子网络可以在不依赖互联网(公链)的情况下进行直接通道无网安全支付,在网络信号不佳和网络拥堵的场景下有现实的应用需求;此外,光子网络可以在不借助第三方的情况下实现链下原子资产转换 , 对应应用广泛的跨链市场需求 。光子网络针对无网和跨链设计了相应的接口和使用流程,初步解决了用户在特殊场景下支付和交换难题 。
源码地址:
开发文档:
Golang项目部署3,容器部署 容器部署即使用 docker 化部署 golang 应用程序,这是在云服务时代最流行的部署方式,也是最推荐的部署方式 。
跨平台交叉编译是 golang 的特点之一,可以非常方便地编译出我们需要的目标服务器平台的版本,而且是静态编译,非常容易地解决了运行依赖问题 。
使用以下指令可以静态编译 Linux 平台 amd64 架构的可执行文件:
生成的 main 便是我们静态编译的,可部署于 Linux amd64 上的可执行文件 。
我们需要将该可执行文件 main 编译生成 docker 镜像,以便于分发及部署 。Golang 的运行环境推荐使用 alpine 基础系统镜像 , 编译出的容器镜像约为 20MB 左右 。

推荐阅读