本文整理汇总了Golang中github.com/skycoin/skycoin/src/coin.Transaction.OutputHours方法的典型用法代码示例。如果您正苦于以下问题:Golang Transaction.OutputHours方法的具体用法?Golang Transaction.OutputHours怎么用?Golang Transaction.OutputHours使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/skycoin/skycoin/src/coin.Transaction
的用法示例。
在下文中一共展示了Transaction.OutputHours方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: VerifyTransaction
// Performs additional transaction verification at the unconfirmed pool level.
// This checks tunable parameters that should prevent the transaction from
// entering the blockchain, but cannot be done at the blockchain level because
// they may be changed.
func VerifyTransaction(bc *coin.Blockchain, t *coin.Transaction, maxSize int,
burnFactor uint64) error {
if t.Size() > maxSize {
return errors.New("Transaction too large")
}
if fee, err := bc.TransactionFee(t); err != nil {
return err
} else if burnFactor != 0 && t.OutputHours()/burnFactor > fee {
return errors.New("Transaction fee minimum not met")
}
return nil
}
示例2: VerifyTransactionFee
// VerifyTransactionFee performs additional transaction verification at the unconfirmed pool level.
// This checks tunable parameters that should prevent the transaction from
// entering the blockchain, but cannot be done at the blockchain level because
// they may be changed.
func VerifyTransactionFee(bc *Blockchain, t *coin.Transaction) error {
fee, err := bc.TransactionFee(t)
if err != nil {
return err
}
//calculate total number of coinhours
var total = t.OutputHours() + fee
//make sure at least half the coin hours are destroyed
if fee < total/BurnFactor {
return errors.New("Transaction coinhour fee minimum not met")
}
return nil
}