GasData changes & removed min gas price
This commit is contained in:
parent
4cd9d57bad
commit
61556ef01d
@ -84,8 +84,6 @@ type Block struct {
|
|||||||
Time int64
|
Time int64
|
||||||
// The block number
|
// The block number
|
||||||
Number *big.Int
|
Number *big.Int
|
||||||
// Minimum Gas Price
|
|
||||||
MinGasPrice *big.Int
|
|
||||||
// Gas limit
|
// Gas limit
|
||||||
GasLimit *big.Int
|
GasLimit *big.Int
|
||||||
// Gas used
|
// Gas used
|
||||||
@ -124,16 +122,15 @@ func CreateBlock(root interface{},
|
|||||||
extra string) *Block {
|
extra string) *Block {
|
||||||
|
|
||||||
block := &Block{
|
block := &Block{
|
||||||
PrevHash: prevHash,
|
PrevHash: prevHash,
|
||||||
Coinbase: base,
|
Coinbase: base,
|
||||||
Difficulty: Difficulty,
|
Difficulty: Difficulty,
|
||||||
Nonce: Nonce,
|
Nonce: Nonce,
|
||||||
Time: time.Now().Unix(),
|
Time: time.Now().Unix(),
|
||||||
Extra: extra,
|
Extra: extra,
|
||||||
UncleSha: nil,
|
UncleSha: nil,
|
||||||
GasUsed: new(big.Int),
|
GasUsed: new(big.Int),
|
||||||
MinGasPrice: new(big.Int),
|
GasLimit: new(big.Int),
|
||||||
GasLimit: new(big.Int),
|
|
||||||
}
|
}
|
||||||
block.SetUncles([]*Block{})
|
block.SetUncles([]*Block{})
|
||||||
|
|
||||||
@ -300,12 +297,11 @@ func (self *Block) setHeader(header *ethutil.Value) {
|
|||||||
self.LogsBloom = header.Get(6).Bytes()
|
self.LogsBloom = header.Get(6).Bytes()
|
||||||
self.Difficulty = header.Get(7).BigInt()
|
self.Difficulty = header.Get(7).BigInt()
|
||||||
self.Number = header.Get(8).BigInt()
|
self.Number = header.Get(8).BigInt()
|
||||||
self.MinGasPrice = header.Get(9).BigInt()
|
self.GasLimit = header.Get(9).BigInt()
|
||||||
self.GasLimit = header.Get(10).BigInt()
|
self.GasUsed = header.Get(10).BigInt()
|
||||||
self.GasUsed = header.Get(11).BigInt()
|
self.Time = int64(header.Get(11).BigInt().Uint64())
|
||||||
self.Time = int64(header.Get(12).BigInt().Uint64())
|
self.Extra = header.Get(12).Str()
|
||||||
self.Extra = header.Get(13).Str()
|
self.Nonce = header.Get(13).Bytes()
|
||||||
self.Nonce = header.Get(14).Bytes()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewUncleBlockFromValue(header *ethutil.Value) *Block {
|
func NewUncleBlockFromValue(header *ethutil.Value) *Block {
|
||||||
@ -351,8 +347,6 @@ func (block *Block) miningHeader() []interface{} {
|
|||||||
block.Difficulty,
|
block.Difficulty,
|
||||||
// The block number
|
// The block number
|
||||||
block.Number,
|
block.Number,
|
||||||
// Block minimum gas price
|
|
||||||
block.MinGasPrice,
|
|
||||||
// Block upper gas bound
|
// Block upper gas bound
|
||||||
block.GasLimit,
|
block.GasLimit,
|
||||||
// Block gas used
|
// Block gas used
|
||||||
@ -380,7 +374,6 @@ func (block *Block) String() string {
|
|||||||
Bloom: %x
|
Bloom: %x
|
||||||
Difficulty: %v
|
Difficulty: %v
|
||||||
Number: %v
|
Number: %v
|
||||||
MinGas: %v
|
|
||||||
MaxLimit: %v
|
MaxLimit: %v
|
||||||
GasUsed: %v
|
GasUsed: %v
|
||||||
Time: %v
|
Time: %v
|
||||||
@ -399,7 +392,6 @@ func (block *Block) String() string {
|
|||||||
block.LogsBloom,
|
block.LogsBloom,
|
||||||
block.Difficulty,
|
block.Difficulty,
|
||||||
block.Number,
|
block.Number,
|
||||||
block.MinGasPrice,
|
|
||||||
block.GasLimit,
|
block.GasLimit,
|
||||||
block.GasUsed,
|
block.GasUsed,
|
||||||
block.Time,
|
block.Time,
|
||||||
|
@ -59,8 +59,6 @@ func (bc *ChainManager) NewBlock(coinbase []byte) *Block {
|
|||||||
nil,
|
nil,
|
||||||
"")
|
"")
|
||||||
|
|
||||||
block.MinGasPrice = big.NewInt(10000000000000)
|
|
||||||
|
|
||||||
parent := bc.CurrentBlock
|
parent := bc.CurrentBlock
|
||||||
if parent != nil {
|
if parent != nil {
|
||||||
block.Difficulty = CalcDifficulty(block, parent)
|
block.Difficulty = CalcDifficulty(block, parent)
|
||||||
|
@ -156,12 +156,24 @@ func (self *StateTransition) TransitionState() (err error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Pay data gas
|
// Pay data gas
|
||||||
dataPrice := big.NewInt(int64(len(self.data)))
|
var dgas int64
|
||||||
dataPrice.Mul(dataPrice, vm.GasData)
|
for _, byt := range self.data {
|
||||||
if err = self.UseGas(dataPrice); err != nil {
|
if byt != 0 {
|
||||||
|
dgas += vm.GasData.Int64()
|
||||||
|
} else {
|
||||||
|
dgas += 1 // This is 1/5. If GasData changes this fails
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if err = self.UseGas(big.NewInt(dgas)); err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//dataPrice := big.NewInt(int64(len(self.data)))
|
||||||
|
//dataPrice.Mul(dataPrice, vm.GasData)
|
||||||
|
//if err = self.UseGas(dataPrice); err != nil {
|
||||||
|
// return
|
||||||
|
//}
|
||||||
|
|
||||||
if sender.Balance().Cmp(self.value) < 0 {
|
if sender.Balance().Cmp(self.value) < 0 {
|
||||||
return fmt.Errorf("Insufficient funds to transfer value. Req %v, has %v", self.value, sender.Balance)
|
return fmt.Errorf("Insufficient funds to transfer value. Req %v, has %v", self.value, sender.Balance)
|
||||||
}
|
}
|
||||||
|
@ -177,7 +177,6 @@ func (self *Miner) mine() {
|
|||||||
chainMan = self.eth.ChainManager()
|
chainMan = self.eth.ChainManager()
|
||||||
block = chainMan.NewBlock(self.Coinbase)
|
block = chainMan.NewBlock(self.Coinbase)
|
||||||
)
|
)
|
||||||
block.MinGasPrice = self.MinAcceptedGasPrice
|
|
||||||
|
|
||||||
// Apply uncles
|
// Apply uncles
|
||||||
if len(self.uncles) > 0 {
|
if len(self.uncles) > 0 {
|
||||||
|
Loading…
Reference in New Issue
Block a user