本文整理汇总了Golang中github.com/FactomProject/factomd/common/interfaces.IFBlock.GetExchRate方法的典型用法代码示例。如果您正苦于以下问题:Golang IFBlock.GetExchRate方法的具体用法?Golang IFBlock.GetExchRate怎么用?Golang IFBlock.GetExchRate使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/FactomProject/factomd/common/interfaces.IFBlock
的用法示例。
在下文中一共展示了IFBlock.GetExchRate方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: NewFBlock
func NewFBlock(prev interfaces.IFBlock) interfaces.IFBlock {
scb := new(FBlock)
scb.BodyMR = new(primitives.Hash)
if prev != nil {
scb.PrevKeyMR = prev.GetKeyMR()
scb.PrevLedgerKeyMR = prev.GetLedgerKeyMR()
scb.ExchRate = prev.GetExchRate()
scb.DBHeight = prev.GetDBHeight() + 1
} else {
scb.PrevKeyMR = primitives.NewZeroHash()
scb.PrevLedgerKeyMR = primitives.NewZeroHash()
scb.ExchRate = 1
scb.DBHeight = 0
}
return scb
}
示例2: AddTransactionBlock
// When we are playing catchup, adding the transaction block is a pretty
// useful feature.
func (fs *FactoidState) AddTransactionBlock(blk interfaces.IFBlock) error {
if err := blk.Validate(); err != nil {
return err
}
transactions := blk.GetTransactions()
for _, trans := range transactions {
err := fs.UpdateTransaction(trans)
if err != nil {
return err
}
}
fs.CurrentBlock = blk
fs.SetFactoshisPerEC(blk.GetExchRate())
return nil
}
示例3: createECEntriesfromBlocks
func createECEntriesfromBlocks(fBlock interfaces.IFBlock, eBlocks []*entryBlock.EBlock, height int) []interfaces.IECBlockEntry {
ecEntries := []interfaces.IECBlockEntry{}
ecEntries = append(ecEntries, entryCreditBlock.NewServerIndexNumber2(uint8(height%10+1)))
ecEntries = append(ecEntries, entryCreditBlock.NewMinuteNumber(0))
ecEntries = append(ecEntries, entryCreditBlock.NewMinuteNumber(1))
ecEntries = append(ecEntries, entryCreditBlock.NewMinuteNumber(2))
ecEntries = append(ecEntries, entryCreditBlock.NewMinuteNumber(3))
ecEntries = append(ecEntries, entryCreditBlock.NewMinuteNumber(4))
ecEntries = append(ecEntries, entryCreditBlock.NewMinuteNumber(5))
ecEntries = append(ecEntries, entryCreditBlock.NewMinuteNumber(6))
ecEntries = append(ecEntries, entryCreditBlock.NewMinuteNumber(7))
ecEntries = append(ecEntries, entryCreditBlock.NewMinuteNumber(8))
ecEntries = append(ecEntries, entryCreditBlock.NewMinuteNumber(9))
trans := fBlock.GetTransactions()
for _, t := range trans {
ecOut := t.GetECOutputs()
for i, ec := range ecOut {
increase := new(entryCreditBlock.IncreaseBalance)
increase.ECPubKey = primitives.Byte32ToByteSlice32(ec.GetAddress().Fixed())
increase.TXID = t.GetHash()
increase.Index = uint64(i)
increase.NumEC = ec.GetAmount() / fBlock.GetExchRate()
ecEntries = append(ecEntries, increase)
}
}
for _, eBlock := range eBlocks {
if height == 0 {
ecEntries = append(ecEntries, NewCommitChain(eBlock))
} else {
ecEntries = append(ecEntries, NewCommitEntry(eBlock))
}
}
return ecEntries
}