forked from cerc-io/plugeth
Fixed genesis and block data
This commit is contained in:
parent
b4e156e1d7
commit
7d3e99a2ab
@ -40,6 +40,14 @@ type Block struct {
|
||||
Difficulty *big.Int
|
||||
// Creation time
|
||||
Time int64
|
||||
// The block number
|
||||
Number *big.Int
|
||||
// Minimum Gas Price
|
||||
MinGasPrice *big.Int
|
||||
// Gas limit
|
||||
GasLimit *big.Int
|
||||
// Gas used
|
||||
GasUsed *big.Int
|
||||
// Extra data
|
||||
Extra string
|
||||
// Block Nonce for verification
|
||||
@ -233,9 +241,13 @@ func (block *Block) RlpValueDecode(decoder *ethutil.Value) {
|
||||
block.state = NewState(ethutil.NewTrie(ethutil.Config.Db, header.Get(3).Val))
|
||||
block.TxSha = header.Get(4).Bytes()
|
||||
block.Difficulty = header.Get(5).BigInt()
|
||||
block.Time = int64(header.Get(6).BigInt().Uint64())
|
||||
block.Extra = header.Get(7).Str()
|
||||
block.Nonce = header.Get(8).Bytes()
|
||||
block.Number = header.Get(6).BigInt()
|
||||
block.MinGasPrice = header.Get(7).BigInt()
|
||||
block.GasLimit = header.Get(8).BigInt()
|
||||
block.GasUsed = header.Get(9).BigInt()
|
||||
block.Time = int64(header.Get(10).BigInt().Uint64())
|
||||
block.Extra = header.Get(11).Str()
|
||||
block.Nonce = header.Get(12).Bytes()
|
||||
block.contractStates = make(map[string]*ethutil.Trie)
|
||||
|
||||
// Tx list might be empty if this is an uncle. Uncles only have their
|
||||
@ -270,16 +282,51 @@ func NewUncleBlockFromValue(header *ethutil.Value) *Block {
|
||||
block.state = NewState(ethutil.NewTrie(ethutil.Config.Db, header.Get(3).Val))
|
||||
block.TxSha = header.Get(4).Bytes()
|
||||
block.Difficulty = header.Get(5).BigInt()
|
||||
block.Time = int64(header.Get(6).BigInt().Uint64())
|
||||
block.Extra = header.Get(7).Str()
|
||||
block.Nonce = header.Get(8).Bytes()
|
||||
block.Number = header.Get(6).BigInt()
|
||||
block.MinGasPrice = header.Get(7).BigInt()
|
||||
block.GasLimit = header.Get(8).BigInt()
|
||||
block.GasUsed = header.Get(9).BigInt()
|
||||
block.Time = int64(header.Get(10).BigInt().Uint64())
|
||||
block.Extra = header.Get(11).Str()
|
||||
block.Nonce = header.Get(12).Bytes()
|
||||
|
||||
return block
|
||||
}
|
||||
|
||||
func (block *Block) String() string {
|
||||
return fmt.Sprintf("Block(%x):\nPrevHash:%x\nUncleSha:%x\nCoinbase:%x\nRoot:%x\nTxSha:%x\nDiff:%v\nTime:%d\nNonce:%x\nTxs:%d\n", block.Hash(), block.PrevHash, block.UncleSha, block.Coinbase, block.state.trie.Root, block.TxSha, block.Difficulty, block.Time, block.Nonce, len(block.transactions))
|
||||
//return fmt.Sprintf("Block(%x):\nPrevHash:%x\nUncleSha:%x\nCoinbase:%x\nRoot:%x\nTxSha:%x\nDiff:%v\nNonce:%x\nTxs:%d\n", block.Hash(), block.PrevHash, block.UncleSha, block.Coinbase, block.state.trie.Root, block.TxSha, block.Difficulty, block.Time, block.Nonce, len(block.transactions))
|
||||
return fmt.Sprintf(`
|
||||
Block(%x):
|
||||
PrevHash: %x
|
||||
UncleSha: %x
|
||||
Coinbase: %x
|
||||
Root: %x
|
||||
TxSha: %x
|
||||
Difficulty: %v
|
||||
Number: %v
|
||||
MinGas: %v
|
||||
MaxLimit: %v
|
||||
GasUsed: %v
|
||||
Time: %v
|
||||
Extra: %v
|
||||
Nonce: %x
|
||||
`,
|
||||
block.Hash(),
|
||||
block.PrevHash,
|
||||
block.UncleSha,
|
||||
block.Coinbase,
|
||||
block.state.trie.Root,
|
||||
block.TxSha,
|
||||
block.Difficulty,
|
||||
block.Number,
|
||||
block.MinGasPrice,
|
||||
block.GasLimit,
|
||||
block.GasUsed,
|
||||
block.Time,
|
||||
block.Extra,
|
||||
block.Nonce)
|
||||
}
|
||||
|
||||
func (block *Block) GetRoot() interface{} {
|
||||
return block.state.trie.Root
|
||||
}
|
||||
@ -299,6 +346,14 @@ func (block *Block) header() []interface{} {
|
||||
block.TxSha,
|
||||
// Current block Difficulty
|
||||
block.Difficulty,
|
||||
// The block number
|
||||
block.Number,
|
||||
// Block minimum gas price
|
||||
block.MinGasPrice,
|
||||
// Block upper gas bound
|
||||
block.GasLimit,
|
||||
// Block gas used
|
||||
block.GasUsed,
|
||||
// Time the block was found?
|
||||
block.Time,
|
||||
// Extra data
|
||||
|
@ -15,7 +15,6 @@ var EmptyShaList = ethutil.Sha3Bin(ethutil.Encode([]interface{}{}))
|
||||
|
||||
var GenesisHeader = []interface{}{
|
||||
// Previous hash (none)
|
||||
//"",
|
||||
ZeroHash256,
|
||||
// Sha of uncles
|
||||
ethutil.Sha3Bin(ethutil.Encode([]interface{}{})),
|
||||
@ -23,15 +22,23 @@ var GenesisHeader = []interface{}{
|
||||
ZeroHash160,
|
||||
// Root state
|
||||
"",
|
||||
// Sha of transactions
|
||||
//EmptyShaList,
|
||||
ethutil.Sha3Bin(ethutil.Encode([]interface{}{})),
|
||||
ZeroHash256,
|
||||
//ethutil.Sha3Bin(ethutil.Encode(ZeroHash256)),
|
||||
// Difficulty
|
||||
ethutil.BigPow(2, 22),
|
||||
// Number
|
||||
ethutil.Big0,
|
||||
// Block minimum gas price
|
||||
ethutil.Big0,
|
||||
// Block upper gas bound
|
||||
big.NewInt(1000000),
|
||||
// Block gas used
|
||||
ethutil.Big0,
|
||||
// Time
|
||||
int64(0),
|
||||
ethutil.Big0,
|
||||
// Extra
|
||||
"",
|
||||
nil,
|
||||
// Nonce
|
||||
ethutil.Sha3Bin(big.NewInt(42).Bytes()),
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user