本文整理汇总了Golang中github.com/FactomProject/FactomCode/common.EChain.MarshalBinary方法的典型用法代码示例。如果您正苦于以下问题:Golang EChain.MarshalBinary方法的具体用法?Golang EChain.MarshalBinary怎么用?Golang EChain.MarshalBinary使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/FactomProject/FactomCode/common.EChain
的用法示例。
在下文中一共展示了EChain.MarshalBinary方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: InsertChainMultiBatch
func (db *LevelDb) InsertChainMultiBatch(chain *common.EChain) error {
if chain == nil {
return nil
}
if db.lbatch == nil {
return fmt.Errorf("db.lbatch == nil")
}
binaryChain, err := chain.MarshalBinary()
if err != nil {
return err
}
var chainByHashKey []byte = []byte{byte(TBL_CHAIN_HASH)}
chainByHashKey = append(chainByHashKey, chain.ChainID.Bytes()...)
db.lbatch.Put(chainByHashKey, binaryChain)
return nil
}
示例2: InsertChain
// InsertChain inserts the newly created chain into db
func (db *LevelDb) InsertChain(chain *common.EChain) (err error) {
db.dbLock.Lock()
defer db.dbLock.Unlock()
if db.lbatch == nil {
db.lbatch = new(leveldb.Batch)
}
defer db.lbatch.Reset()
binaryChain, _ := chain.MarshalBinary()
var chainByHashKey []byte = []byte{byte(TBL_CHAIN_HASH)}
chainByHashKey = append(chainByHashKey, chain.ChainID.Bytes()...)
db.lbatch.Put(chainByHashKey, binaryChain)
err = db.lDb.Write(db.lbatch, db.wo)
if err != nil {
log.Println("batch failed %v\n", err)
return err
}
return nil
}