--- /dev/null
+package synchron
+
+import (
+ // "time"
+
+ // "github.com/bytom/errors"
+ // "github.com/bytom/protocol/bc"
+ // "github.com/bytom/protocol/bc/types"
+ "github.com/jinzhu/gorm"
+ // log "github.com/sirupsen/logrus"
+
+ // "github.com/vapor/federation/config"
+ // "github.com/blockcenter/database"
+ // "github.com/blockcenter/database/orm"
+ "github.com/vapor/federation/service"
+)
+
+type blockKeeper struct {
+ // cfg *config.Config
+ db *gorm.DB
+ // cache *database.RedisDB
+ node *service.Node
+ // coinName string
+}
+
+func (b *blockKeeper) Run() {
+
+}
)
type DbKeeper struct {
- db *gorm.DB
- node *service.Node
+ // db *gorm.DB
+ // node *service.Node
+ blockKeeper *blockKeeper
+ unconfirmedTxKeeper *unconfirmedTxKeeper
}
func NewDbKeeper(db *gorm.DB, chainCfg *config.Chain) *DbKeeper {
- return &DbKeeper{
+ blockKeeper := &blockKeeper{
db: db,
node: service.NewNode(chainCfg.Upstream.RPC),
}
+
+ unconfirmedTxKeeper := &unconfirmedTxKeeper{
+ db: db,
+ processTxCh: make(chan *service.WSResponse, maxRawTxSize),
+ }
+
+ return &DbKeeper{blockKeeper, unconfirmedTxKeeper}
}
func (d *DbKeeper) Run() {
+ d.blockKeeper.Run()
+ d.unconfirmedTxKeeper.Run()
}
--- /dev/null
+package synchron
+
+import (
+ // "time"
+
+ // "github.com/bytom/errors"
+ // "github.com/bytom/protocol/bc"
+ // "github.com/bytom/protocol/bc/types"
+ "github.com/jinzhu/gorm"
+ // log "github.com/sirupsen/logrus"
+
+ // "github.com/vapor/federation/config"
+ // "github.com/blockcenter/database"
+ // "github.com/blockcenter/database/orm"
+ "github.com/vapor/federation/service"
+)
+
+const maxRawTxSize = 1 << 16
+
+type unconfirmedTxKeeper struct {
+ // cfg *config.Config
+ db *gorm.DB
+ // coinName string
+ processTxCh chan *service.WSResponse
+}
+
+func (u *unconfirmedTxKeeper) Run() {
+
+}