本文整理匯總了Golang中github.com/FactomProject/factomd/common/interfaces.IEntryCreditBlock.GetBody方法的典型用法代碼示例。如果您正苦於以下問題:Golang IEntryCreditBlock.GetBody方法的具體用法?Golang IEntryCreditBlock.GetBody怎麽用?Golang IEntryCreditBlock.GetBody使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/FactomProject/factomd/common/interfaces.IEntryCreditBlock
的用法示例。
在下文中一共展示了IEntryCreditBlock.GetBody方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: AddECBlock
func (fs *FactoidState) AddECBlock(blk interfaces.IEntryCreditBlock) error {
transactions := blk.GetBody().GetEntries()
for _, trans := range transactions {
err := fs.UpdateECTransaction(trans)
if err != nil {
return err
}
}
return nil
}
示例2: SavePaidForMultiFromBlock
func (db *Overlay) SavePaidForMultiFromBlock(block interfaces.IEntryCreditBlock, checkForDuplicateEntries bool) error {
if block == nil {
return nil
}
batch := []interfaces.Record{}
for _, entry := range block.GetBody().GetEntries() {
if entry.ECID() != entryCreditBlock.ECIDChainCommit && entry.ECID() != entryCreditBlock.ECIDEntryCommit {
continue
}
var entryHash interfaces.IHash
if entry.ECID() == entryCreditBlock.ECIDChainCommit {
entryHash = entry.(*entryCreditBlock.CommitChain).EntryHash
}
if entry.ECID() == entryCreditBlock.ECIDEntryCommit {
entryHash = entry.(*entryCreditBlock.CommitEntry).EntryHash
}
if checkForDuplicateEntries == true {
loaded, err := db.Get(PAID_FOR, entryHash.Bytes(), primitives.NewZeroHash())
if err != nil {
return err
}
if loaded != nil {
continue
}
}
batch = append(batch, interfaces.Record{PAID_FOR, entryHash.Bytes(), entry.Hash()})
}
if len(batch) == 0 {
return nil
}
err := db.DB.PutInBatch(batch)
if err != nil {
return err
}
return nil
}