set CHAIN_ID for Classic (#3934)
* configurable CHAIN_ID * set CHAIN_ID for Ethereum Classic
This commit is contained in:
parent
b44cd7b1db
commit
be75cbfaaa
@ -27,6 +27,7 @@
|
|||||||
"maximumExtraDataSize": "0x20",
|
"maximumExtraDataSize": "0x20",
|
||||||
"minGasLimit": "0x1388",
|
"minGasLimit": "0x1388",
|
||||||
"networkID" : "0x1",
|
"networkID" : "0x1",
|
||||||
|
"chainID": "0x3d",
|
||||||
"forkBlock": "0x1d4c00",
|
"forkBlock": "0x1d4c00",
|
||||||
"forkCanonHash": "0x94365e3a8c0b35089c1d1195081fe7489b528a84b22199c916180db8b28ade7f"
|
"forkCanonHash": "0x94365e3a8c0b35089c1d1195081fe7489b528a84b22199c916180db8b28ade7f"
|
||||||
},
|
},
|
||||||
|
@ -27,6 +27,7 @@
|
|||||||
"maximumExtraDataSize": "0x20",
|
"maximumExtraDataSize": "0x20",
|
||||||
"minGasLimit": "0x1388",
|
"minGasLimit": "0x1388",
|
||||||
"networkID" : "0x2",
|
"networkID" : "0x2",
|
||||||
|
"chainID": "0x3e",
|
||||||
"forkBlock": "0x1b34d8",
|
"forkBlock": "0x1b34d8",
|
||||||
"forkCanonHash": "0xf376243aeff1f256d970714c3de9fd78fa4e63cf63e32a51fe1169e375d98145"
|
"forkCanonHash": "0xf376243aeff1f256d970714c3de9fd78fa4e63cf63e32a51fe1169e375d98145"
|
||||||
},
|
},
|
||||||
|
@ -167,7 +167,7 @@ impl Engine for Ethash {
|
|||||||
|
|
||||||
fn signing_network_id(&self, env_info: &EnvInfo) -> Option<u64> {
|
fn signing_network_id(&self, env_info: &EnvInfo) -> Option<u64> {
|
||||||
if env_info.number >= self.ethash_params.eip155_transition {
|
if env_info.number >= self.ethash_params.eip155_transition {
|
||||||
Some(self.params().network_id)
|
Some(self.params().chain_id)
|
||||||
} else {
|
} else {
|
||||||
None
|
None
|
||||||
}
|
}
|
||||||
@ -316,7 +316,7 @@ impl Engine for Ethash {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if let Some(n) = t.network_id() {
|
if let Some(n) = t.network_id() {
|
||||||
if header.number() < self.ethash_params.eip155_transition || n != self.params().network_id {
|
if header.number() < self.ethash_params.eip155_transition || n != self.params().chain_id {
|
||||||
return Err(TransactionError::InvalidNetworkId.into())
|
return Err(TransactionError::InvalidNetworkId.into())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -38,6 +38,8 @@ pub struct CommonParams {
|
|||||||
pub maximum_extra_data_size: usize,
|
pub maximum_extra_data_size: usize,
|
||||||
/// Network id.
|
/// Network id.
|
||||||
pub network_id: u64,
|
pub network_id: u64,
|
||||||
|
/// Chain id.
|
||||||
|
pub chain_id: u64,
|
||||||
/// Main subprotocol name.
|
/// Main subprotocol name.
|
||||||
pub subprotocol_name: String,
|
pub subprotocol_name: String,
|
||||||
/// Minimum gas limit.
|
/// Minimum gas limit.
|
||||||
@ -52,6 +54,7 @@ impl From<ethjson::spec::Params> for CommonParams {
|
|||||||
account_start_nonce: p.account_start_nonce.into(),
|
account_start_nonce: p.account_start_nonce.into(),
|
||||||
maximum_extra_data_size: p.maximum_extra_data_size.into(),
|
maximum_extra_data_size: p.maximum_extra_data_size.into(),
|
||||||
network_id: p.network_id.into(),
|
network_id: p.network_id.into(),
|
||||||
|
chain_id: if let Some(n) = p.chain_id { n.into() } else { p.network_id.into() },
|
||||||
subprotocol_name: p.subprotocol_name.unwrap_or_else(|| "eth".to_owned()),
|
subprotocol_name: p.subprotocol_name.unwrap_or_else(|| "eth".to_owned()),
|
||||||
min_gas_limit: p.min_gas_limit.into(),
|
min_gas_limit: p.min_gas_limit.into(),
|
||||||
fork_block: if let (Some(n), Some(h)) = (p.fork_block, p.fork_hash) { Some((n.into(), h.into())) } else { None },
|
fork_block: if let (Some(n), Some(h)) = (p.fork_block, p.fork_hash) { Some((n.into(), h.into())) } else { None },
|
||||||
|
@ -35,6 +35,10 @@ pub struct Params {
|
|||||||
/// Network id.
|
/// Network id.
|
||||||
#[serde(rename="networkID")]
|
#[serde(rename="networkID")]
|
||||||
pub network_id: Uint,
|
pub network_id: Uint,
|
||||||
|
/// Chain id.
|
||||||
|
#[serde(rename="chainID")]
|
||||||
|
pub chain_id: Option<Uint>,
|
||||||
|
|
||||||
/// Name of the main ("eth") subprotocol.
|
/// Name of the main ("eth") subprotocol.
|
||||||
#[serde(rename="subprotocolName")]
|
#[serde(rename="subprotocolName")]
|
||||||
pub subprotocol_name: Option<String>,
|
pub subprotocol_name: Option<String>,
|
||||||
@ -58,6 +62,7 @@ mod tests {
|
|||||||
"homesteadTransition": "0x118c30",
|
"homesteadTransition": "0x118c30",
|
||||||
"maximumExtraDataSize": "0x20",
|
"maximumExtraDataSize": "0x20",
|
||||||
"networkID" : "0x1",
|
"networkID" : "0x1",
|
||||||
|
"chainID" : "0x15",
|
||||||
"subprotocolName" : "exp",
|
"subprotocolName" : "exp",
|
||||||
"minGasLimit": "0x1388",
|
"minGasLimit": "0x1388",
|
||||||
"accountStartNonce": "0x00"
|
"accountStartNonce": "0x00"
|
||||||
|
Loading…
Reference in New Issue
Block a user