Categorygithub.com/gridprotocol/platform-v2
repositorypackage
0.3.1
Repository: https://github.com/gridprotocol/platform-v2.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# README

platform

合约数据同步

合约数据同步代码位于dumper目录下。如需要同步合约中数据,需要先实例化dumper并另起一协程执行dumper.SubscribeGRID(ctx),dumper会每隔10s拉取GRID合约中的事件,解析事件后保存在本地数据库中,同步代码如下:

    chain := "dev"
    registryAddress := common.Address{}
    marketAddress := common.Address{}
    dumper, err := dumper.NewGRIDDumper(chain, registryAddress, marketAddress)
    if err != nil {
        return err
    }

    err = dumper.DumpGRID()
    if err != nil {
        return err
    }

    go dumper.SubscribeGRID(ctx)

注:实例化dumper时需要输入三个参数,分别为GRID合约所在的链chain(dev/product/test),registry合约地址以及market合约地址。这三个参数可以直接在代码中写死,也可以从配置文件中读取,也可以在启动platform程序时在命令行中输入。

读取本地数据库

本地数据库代码位于database目录下。database下实现了一些基本的查询功能。若需要实现更复杂的查询,可以通过gorm库封装好的函数,或者使用GlobalDataBase.DB()获取数据库并通过SQL语言查询数据库。