@@ -49,7 +49,7 @@ import (
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
const (
 | 
					const (
 | 
				
			||||||
	ClientIdentifier = "Geth"
 | 
						ClientIdentifier = "Geth"
 | 
				
			||||||
	Version          = "0.9.38"
 | 
						Version          = "1.0.0"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var (
 | 
					var (
 | 
				
			||||||
@@ -276,7 +276,6 @@ JavaScript API. See https://github.com/ethereum/go-ethereum/wiki/Javascipt-Conso
 | 
				
			|||||||
		utils.IdentityFlag,
 | 
							utils.IdentityFlag,
 | 
				
			||||||
		utils.UnlockedAccountFlag,
 | 
							utils.UnlockedAccountFlag,
 | 
				
			||||||
		utils.PasswordFileFlag,
 | 
							utils.PasswordFileFlag,
 | 
				
			||||||
		utils.GenesisNonceFlag,
 | 
					 | 
				
			||||||
		utils.GenesisFileFlag,
 | 
							utils.GenesisFileFlag,
 | 
				
			||||||
		utils.BootnodesFlag,
 | 
							utils.BootnodesFlag,
 | 
				
			||||||
		utils.DataDirFlag,
 | 
							utils.DataDirFlag,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -28,6 +28,9 @@ import (
 | 
				
			|||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func ExampleGenerateChain() {
 | 
					func ExampleGenerateChain() {
 | 
				
			||||||
 | 
						params.MinGasLimit = big.NewInt(125000)      // Minimum the gas limit may ever be.
 | 
				
			||||||
 | 
						params.GenesisGasLimit = big.NewInt(3141592) // Gas limit of the Genesis block.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	var (
 | 
						var (
 | 
				
			||||||
		key1, _ = crypto.HexToECDSA("b71c71a67e1177ad4e901695e1b4b9ee17ae16c6668d313eac2f96dbcda3f291")
 | 
							key1, _ = crypto.HexToECDSA("b71c71a67e1177ad4e901695e1b4b9ee17ae16c6668d313eac2f96dbcda3f291")
 | 
				
			||||||
		key2, _ = crypto.HexToECDSA("8a1f9a8f95be41cd7ccb6168179afb4504aefe388d1e14474d32c45c72ce7b7a")
 | 
							key2, _ = crypto.HexToECDSA("8a1f9a8f95be41cd7ccb6168179afb4504aefe388d1e14474d32c45c72ce7b7a")
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -101,13 +101,7 @@ func NewChainManager(blockDb, stateDb, extraDb common.Database, pow pow.PoW, mux
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	bc.genesisBlock = bc.GetBlockByNumber(0)
 | 
						bc.genesisBlock = bc.GetBlockByNumber(0)
 | 
				
			||||||
	if bc.genesisBlock == nil {
 | 
						if bc.genesisBlock == nil {
 | 
				
			||||||
		// XXX Uncomment me before Frontier
 | 
							return nil, ErrNoGenesis
 | 
				
			||||||
		//return nil, ErrNoGenesis
 | 
					 | 
				
			||||||
		genesis, err := WriteTestNetGenesisBlock(bc.stateDb, bc.blockDb, 42)
 | 
					 | 
				
			||||||
		if err != nil {
 | 
					 | 
				
			||||||
			glog.Fatalln("genisis err", err)
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		bc.genesisBlock = genesis
 | 
					 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if err := bc.setLastState(); err != nil {
 | 
						if err := bc.setLastState(); err != nil {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -95,6 +95,7 @@ func NewProtocolManager(networkId int, mux *event.TypeMux, txpool txPool, pow po
 | 
				
			|||||||
		newPeerCh: make(chan *peer, 1),
 | 
							newPeerCh: make(chan *peer, 1),
 | 
				
			||||||
		txsyncCh:  make(chan *txsync),
 | 
							txsyncCh:  make(chan *txsync),
 | 
				
			||||||
		quitSync:  make(chan struct{}),
 | 
							quitSync:  make(chan struct{}),
 | 
				
			||||||
 | 
							netId:     networkId,
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	// Initiate a sub-protocol for every implemented version we can handle
 | 
						// Initiate a sub-protocol for every implemented version we can handle
 | 
				
			||||||
	manager.SubProtocols = make([]p2p.Protocol, len(ProtocolVersions))
 | 
						manager.SubProtocols = make([]p2p.Protocol, len(ProtocolVersions))
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -30,7 +30,7 @@ var ProtocolVersions = []uint{61, 60}
 | 
				
			|||||||
var ProtocolLengths = []uint64{9, 8}
 | 
					var ProtocolLengths = []uint64{9, 8}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const (
 | 
					const (
 | 
				
			||||||
	NetworkId          = 0
 | 
						NetworkId          = 1
 | 
				
			||||||
	ProtocolMaxMsgSize = 10 * 1024 * 1024 // Maximum cap on the size of a protocol message
 | 
						ProtocolMaxMsgSize = 10 * 1024 * 1024 // Maximum cap on the size of a protocol message
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -60,7 +60,7 @@ func TestStatusMsgErrors(t *testing.T) {
 | 
				
			|||||||
		},
 | 
							},
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			code: StatusMsg, data: statusData{uint32(ProtocolVersions[0]), 999, td, currentBlock, genesis},
 | 
								code: StatusMsg, data: statusData{uint32(ProtocolVersions[0]), 999, td, currentBlock, genesis},
 | 
				
			||||||
			wantError: errResp(ErrNetworkIdMismatch, "999 (!= 0)"),
 | 
								wantError: errResp(ErrNetworkIdMismatch, "999 (!= 1)"),
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			code: StatusMsg, data: statusData{uint32(ProtocolVersions[0]), NetworkId, td, currentBlock, common.Hash{3}},
 | 
								code: StatusMsg, data: statusData{uint32(ProtocolVersions[0]), NetworkId, td, currentBlock, common.Hash{3}},
 | 
				
			||||||
@@ -184,7 +184,7 @@ func newProtocolManagerForTesting(txAdded chan<- []*types.Transaction) *Protocol
 | 
				
			|||||||
		em       = new(event.TypeMux)
 | 
							em       = new(event.TypeMux)
 | 
				
			||||||
		chain, _ = core.NewChainManager(db, db, db, core.FakePow{}, em)
 | 
							chain, _ = core.NewChainManager(db, db, db, core.FakePow{}, em)
 | 
				
			||||||
		txpool   = &fakeTxPool{added: txAdded}
 | 
							txpool   = &fakeTxPool{added: txAdded}
 | 
				
			||||||
		pm       = NewProtocolManager(0, em, txpool, core.FakePow{}, chain)
 | 
							pm       = NewProtocolManager(NetworkId, em, txpool, core.FakePow{}, chain)
 | 
				
			||||||
	)
 | 
						)
 | 
				
			||||||
	pm.Start()
 | 
						pm.Start()
 | 
				
			||||||
	return pm
 | 
						return pm
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -29,7 +29,6 @@ var (
 | 
				
			|||||||
	CallNewAccountGas      = big.NewInt(25000)  // Paid for CALL when the destination address didn't exist prior.
 | 
						CallNewAccountGas      = big.NewInt(25000)  // Paid for CALL when the destination address didn't exist prior.
 | 
				
			||||||
	TxGas                  = big.NewInt(21000)  // Per transaction. NOTE: Not payable on data of calls between transactions.
 | 
						TxGas                  = big.NewInt(21000)  // Per transaction. NOTE: Not payable on data of calls between transactions.
 | 
				
			||||||
	TxDataZeroGas          = big.NewInt(4)      // Per byte of data attached to a transaction that equals zero. NOTE: Not payable on data of calls between transactions.
 | 
						TxDataZeroGas          = big.NewInt(4)      // Per byte of data attached to a transaction that equals zero. NOTE: Not payable on data of calls between transactions.
 | 
				
			||||||
	GenesisGasLimit        = big.NewInt(3141592) // Gas limit of the Genesis block.
 | 
					 | 
				
			||||||
	DifficultyBoundDivisor = big.NewInt(2048)   // The bound divisor of the difficulty, used in the update calculations.
 | 
						DifficultyBoundDivisor = big.NewInt(2048)   // The bound divisor of the difficulty, used in the update calculations.
 | 
				
			||||||
	QuadCoeffDiv           = big.NewInt(512)    // Divisor for the quadratic particle of the memory cost equation.
 | 
						QuadCoeffDiv           = big.NewInt(512)    // Divisor for the quadratic particle of the memory cost equation.
 | 
				
			||||||
	GenesisDifficulty      = big.NewInt(131072) // Difficulty of the Genesis block.
 | 
						GenesisDifficulty      = big.NewInt(131072) // Difficulty of the Genesis block.
 | 
				
			||||||
@@ -39,7 +38,10 @@ var (
 | 
				
			|||||||
	CallStipend            = big.NewInt(2300)   // Free gas given at beginning of call.
 | 
						CallStipend            = big.NewInt(2300)   // Free gas given at beginning of call.
 | 
				
			||||||
	EcrecoverGas           = big.NewInt(3000)   //
 | 
						EcrecoverGas           = big.NewInt(3000)   //
 | 
				
			||||||
	Sha256WordGas          = big.NewInt(12)     //
 | 
						Sha256WordGas          = big.NewInt(12)     //
 | 
				
			||||||
	MinGasLimit            = big.NewInt(125000)  // Minimum the gas limit may ever be.
 | 
					
 | 
				
			||||||
 | 
						MinGasLimit     = big.NewInt(5000) // Minimum the gas limit may ever be.
 | 
				
			||||||
 | 
						GenesisGasLimit = big.NewInt(5000) // Gas limit of the Genesis block.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	Sha3Gas              = big.NewInt(30)     // Once per SHA3 operation.
 | 
						Sha3Gas              = big.NewInt(30)     // Once per SHA3 operation.
 | 
				
			||||||
	Sha256Gas            = big.NewInt(60)     //
 | 
						Sha256Gas            = big.NewInt(60)     //
 | 
				
			||||||
	IdentityWordGas      = big.NewInt(3)      //
 | 
						IdentityWordGas      = big.NewInt(3)      //
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user