MCPcopy Create free account
hub / github.com/DNAProject/DNA / GetBlockInfo

Function GetBlockInfo

http/base/common/common.go:236–279  ·  view source on GitHub ↗
(block *types.Block)

Source from the content-addressed store, hash-verified

234}
235
236func GetBlockInfo(block *types.Block) BlockInfo {
237 hash := block.Hash()
238 var bookkeepers = []string{}
239 var sigData = []string{}
240 for i := 0; i < len(block.Header.SigData); i++ {
241 s := common.ToHexString(block.Header.SigData[i])
242 sigData = append(sigData, s)
243 }
244 for i := 0; i < len(block.Header.Bookkeepers); i++ {
245 e := block.Header.Bookkeepers[i]
246 key := keypair.SerializePublicKey(e)
247 bookkeepers = append(bookkeepers, common.ToHexString(key))
248 }
249
250 blockHead := &BlockHead{
251 Version: block.Header.Version,
252 PrevBlockHash: block.Header.PrevBlockHash.ToHexString(),
253 TransactionsRoot: block.Header.TransactionsRoot.ToHexString(),
254 BlockRoot: block.Header.BlockRoot.ToHexString(),
255 Timestamp: block.Header.Timestamp,
256 Height: block.Header.Height,
257 ConsensusData: block.Header.ConsensusData,
258 ConsensusPayload: common.ToHexString(block.Header.ConsensusPayload),
259 NextBookkeeper: block.Header.NextBookkeeper.ToBase58(),
260 Bookkeepers: bookkeepers,
261 SigData: sigData,
262 Hash: hash.ToHexString(),
263 }
264
265 trans := make([]*Transactions, len(block.Transactions))
266 for i := 0; i < len(block.Transactions); i++ {
267 tran := TransArryByteToHexString(block.Transactions[i])
268 tran.Height = block.Header.Height
269 trans[i] = tran
270 }
271
272 b := BlockInfo{
273 Hash: hash.ToHexString(),
274 Size: len(block.ToArray()),
275 Header: blockHead,
276 Transactions: trans,
277 }
278 return b
279}
280
281func GetBalance(address common.Address) (*BalanceOfRsp, error) {
282 balances, height, err := GetContractBalance(0, []common.Address{utils.GasContractAddress}, address, true)

Callers

nothing calls this directly

Calls 6

ToHexStringFunction · 0.92
TransArryByteToHexStringFunction · 0.85
ToBase58Method · 0.80
HashMethod · 0.65
ToArrayMethod · 0.65
ToHexStringMethod · 0.45

Tested by

no test coverage detected