Skip to content

Commit

Permalink
Merge branch 'master' into stateManager/integratePromises
Browse files Browse the repository at this point in the history
  • Loading branch information
ryanio committed Apr 17, 2020
2 parents 437053d + 8310617 commit 3a3b69c
Show file tree
Hide file tree
Showing 7 changed files with 212 additions and 59 deletions.
105 changes: 105 additions & 0 deletions packages/common/scripts/update-bootnodes.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
const fs = require('fs')

// https://github.com/ethereum/go-ethereum/blob/master/params/bootnodes.go
const bootnodes = {
// MainnetBootnodes are the enode URLs of the P2P bootstrap nodes running on
// the main Ethereum network.
MainnetBootnodes: {
'bootnode-aws-ap-southeast-1-001': "enode://d860a01f9722d78051619d1e2351aba3f43f943f6f00718d1b9baa4101932a1f5011f16bb2b1bb35db20d6fe28fa0bf09636d26a87d31de9ec6203eeedb1f666@18.138.108.67:30303",
'bootnode-aws-us-east-1-001': "enode://22a8232c3abc76a16ae9d6c3b164f98775fe226f0917b0ca871128a74a8e9630b458460865bab457221f1d448dd9791d24c4e5d88786180ac185df813a68d4de@3.209.45.79:30303",
'bootnode-aws-eu-west-1-001': "enode://ca6de62fce278f96aea6ec5a2daadb877e51651247cb96ee310a318def462913b653963c155a0ef6c7d50048bba6e6cea881130857413d9f50a621546b590758@34.255.23.113:30303",
'bootnode-aws-eu-central-1-001': "enode://279944d8dcd428dffaa7436f25ca0ca43ae19e7bcf94a8fb7d1641651f92d121e972ac2e8f381414b80cc8e5555811c2ec6e1a99bb009b3f53c4c69923e11bd8@35.158.244.151:30303",
'bootnode-azure-australiaeast-001': "enode://8499da03c47d637b20eee24eec3c356c9a2e6148d6fe25ca195c7949ab8ec2c03e3556126b0d7ed644675e78c4318b08691b7b57de10e5f0d40d05b09238fa0a@52.187.207.27:30303",
'bootnode-azure-brazilsouth-001': "enode://103858bdb88756c71f15e9b5e09b56dc1be52f0a5021d46301dbbfb7e130029cc9d0d6f73f693bc29b665770fff7da4d34f3c6379fe12721b5d7a0bcb5ca1fc1@191.234.162.198:30303",
'bootnode-azure-koreasouth-001': "enode://715171f50508aba88aecd1250af392a45a330af91d7b90701c436b618c86aaa1589c9184561907bebbb56439b8f8787bc01f49a7c77276c58c1b09822d75e8e8@52.231.165.108:30303",
'bootnode-azure-westus-001': "enode://5d6d7cd20d6da4bb83a1d28cadb5d409b64edf314c0335df658c1a54e32c7c4a7ab7823d57c39b6a757556e68ff1df17c748b698544a55cb488b52479a92b60f@104.42.217.25:30303",
}
// RopstenBootnodes are the enode URLs of the P2P bootstrap nodes running on the
// Ropsten test network.
, RopstenBootnodes: {
'US-Azure geth': "enode://30b7ab30a01c124a6cceca36863ece12c4f5fa68e3ba9b0b51407ccc002eeed3b3102d20a88f1c1d3c3154e2449317b8ef95090e77b312d5cc39354f86d5d606@52.176.7.10:30303", //
'US-Azure parity': "enode://865a63255b3bb68023b6bffd5095118fcc13e79dcf014fe4e47e065c350c7cc72af2e53eff895f11ba1bbb6a2b33271c1116ee870f266618eadfc2e78aa7349c@52.176.100.77:30303", //
'Parity': "enode://6332792c4a00e3e4ee0926ed89e0d27ef985424d97b6a45bf0f23e51f0dcb5e66b875777506458aea7af6f9e4ffb69f43f3778ee73c81ed9d34c51c4b16b0b0f@52.232.243.152:30303", //
'@gpip': "enode://94c15d1b9e2fe7ce56e458b9a3b672ef11894ddedd0c6f247e0f1d3487f52b66208fb4aeb8179fce6e3a749ea93ed147c37976d67af557508d199d9594c35f09@192.81.208.223:30303", //
}

// RinkebyBootnodes are the enode URLs of the P2P bootstrap nodes running on the
// Rinkeby test network.
, RinkebyBootnodes: {
'IE': "enode://a24ac7c5484ef4ed0c5eb2d36620ba4e4aa13b8c84684e1b4aab0cebea2ae45cb4d375b77eab56516d34bfbd3c1a833fc51296ff084b770b94fb9028c4d25ccf@52.169.42.101:30303", //
'INFURA': "enode://343149e4feefa15d882d9fe4ac7d88f885bd05ebb735e547f12e12080a9fa07c8014ca6fd7f373123488102fe5e34111f8509cf0b7de3f5b44339c9f25e87cb8@52.3.158.184:30303", //
'AKASHA': "enode://b6b28890b006743680c52e64e0d16db57f28124885595fa03a562be1d2bf0f3a1da297d56b13da25fb992888fd556d4c1a27b1f39d531bde7de1921c90061cc6@159.89.28.211:30303", //
}

// GoerliBootnodes are the enode URLs of the P2P bootstrap nodes running on the
// Görli test network.
, GoerliBootnodes: {
// Upstream bootnodes
'Upstream bootnode 1': "enode://011f758e6552d105183b1761c5e2dea0111bc20fd5f6422bc7f91e0fabbec9a6595caf6239b37feb773dddd3f87240d99d859431891e4a642cf2a0a9e6cbb98a@51.141.78.53:30303",
'Upstream bootnode 2': "enode://176b9417f511d05b6b2cf3e34b756cf0a7096b3094572a8f6ef4cdcb9d1f9d00683bf0f83347eebdf3b81c3521c2332086d9592802230bf528eaf606a1d9677b@13.93.54.137:30303",
'Upstream bootnode 3': "enode://46add44b9f13965f7b9875ac6b85f016f341012d84f975377573800a863526f4da19ae2c620ec73d11591fa9510e992ecc03ad0751f53cc02f7c7ed6d55c7291@94.237.54.114:30313",
'Upstream bootnode 4': "enode://c1f8b7c2ac4453271fa07d8e9ecf9a2e8285aa0bd0c07df0131f47153306b0736fd3db8924e7a9bf0bed6b1d8d4f87362a71b033dc7c64547728d953e43e59b2@52.64.155.147:30303",
'Upstream bootnode 5': "enode://f4a9c6ee28586009fb5a96c8af13a58ed6d8315a9eee4772212c1d4d9cebe5a8b8a78ea4434f318726317d04a3f531a1ef0420cf9752605a562cfe858c46e263@213.186.16.82:30303",

// Ethereum Foundation bootnode
'Ethereum Foundation bootnode': "enode://a61215641fb8714a373c80edbfa0ea8878243193f57c96eeb44d0bc019ef295abd4e044fd619bfc4c59731a73fb79afe84e9ab6da0c743ceb479cbb6d263fa91@3.11.147.67:30303",
}

// https://github.com/openethereum/openethereum/blob/master/ethcore/res/ethereum/kovan.json#L6783
,KovanBootnodes: {
'1': "enode://16898006ba2cd4fa8bf9a3dfe32684c178fa861df144bfc21fe800dc4838a03e342056951fa9fd533dcb0be1219e306106442ff2cf1f7e9f8faa5f2fc1a3aa45@116.203.116.241:30303",
'2': "enode://2909846f78c37510cc0e306f185323b83bb2209e5ff4fdd279d93c60e3f365e3c6e62ad1d2133ff11f9fd6d23ad9c3dad73bb974d53a22f7d1ac5b7dea79d0b0@3.217.96.11:30303",
'3': "enode://740e1c8ea64e71762c71a463a04e2046070a0c9394fcab5891d41301dc473c0cff00ebab5a9bc87fbcb610ab98ac18225ff897bc8b7b38def5975d5ceb0a7d7c@108.61.170.124:30303",
'4': "enode://2909846f78c37510cc0e306f185323b83bb2209e5ff4fdd279d93c60e3f365e3c6e62ad1d2133ff11f9fd6d23ad9c3dad73bb974d53a22f7d1ac5b7dea79d0b0@157.230.31.163:30303"
}
}


/*
parse string and generate:
{
"ip": "52.74.57.123",
"port": 30303,
"id": "1118980bf48b0a3640bdba04e0fe78b1add18e1cd99bf22d53daac1fd9972ad650df52176e7c7d89d1114cfef2bc23a2959aa54998a46afcf7d91809f0855082",
"location": "SG",
"comment": "Go Bootnode"
}
*/
const generateJson = (bootnodes) => {
const nodes = []
for (const b in bootnodes) {
let enode = bootnodes[b]
enode = enode.replace('enode://', '')
const [id, rest] = enode.split('@')
const [ip, port] = rest.split(':')
const node = {
ip,
port: parseInt(port),
id,
location: (b.includes('-aws-') || b.includes('-azure-')) ? b.replace('bootnode-aws-', '').replace('bootnode-azure-', '') : '',
comment: b
}
console.log('node', node)
nodes.push(node)
}
return nodes
}

const nameToJsonFile = {
MainnetBootnodes: 'mainnet',
RopstenBootnodes: 'ropsten',
RinkebyBootnodes: 'rinkeby',
GoerliBootnodes: 'goerli',
KovanBootnodes: 'kovan',
}

for (let configName in bootnodes) {
console.log('process ', configName)
const fileName = nameToJsonFile[configName]
const filePath = `./src/chains/${fileName}.json`
const _newConfig = JSON.parse(fs.readFileSync(filePath))
_newConfig.bootstrapNodes = generateJson(bootnodes[configName])
fs.writeFileSync(filePath, `${JSON.stringify(_newConfig, null, 2)}\n`)
}


17 changes: 12 additions & 5 deletions packages/common/src/chains/goerli.json
Original file line number Diff line number Diff line change
Expand Up @@ -75,35 +75,42 @@
"port": 30303,
"id": "011f758e6552d105183b1761c5e2dea0111bc20fd5f6422bc7f91e0fabbec9a6595caf6239b37feb773dddd3f87240d99d859431891e4a642cf2a0a9e6cbb98a",
"location": "",
"comment": "Source: https://github.com/goerli/testnet/blob/master/bootnodes.txt"
"comment": "Upstream bootnode 1"
},
{
"ip": "13.93.54.137",
"port": 30303,
"id": "176b9417f511d05b6b2cf3e34b756cf0a7096b3094572a8f6ef4cdcb9d1f9d00683bf0f83347eebdf3b81c3521c2332086d9592802230bf528eaf606a1d9677b",
"location": "",
"comment": "Source: https://github.com/goerli/testnet/blob/master/bootnodes.txt"
"comment": "Upstream bootnode 2"
},
{
"ip": "94.237.54.114",
"port": 30313,
"id": "46add44b9f13965f7b9875ac6b85f016f341012d84f975377573800a863526f4da19ae2c620ec73d11591fa9510e992ecc03ad0751f53cc02f7c7ed6d55c7291",
"location": "",
"comment": "Source: https://github.com/goerli/testnet/blob/master/bootnodes.txt"
"comment": "Upstream bootnode 3"
},
{
"ip": "52.64.155.147",
"port": 30303,
"id": "c1f8b7c2ac4453271fa07d8e9ecf9a2e8285aa0bd0c07df0131f47153306b0736fd3db8924e7a9bf0bed6b1d8d4f87362a71b033dc7c64547728d953e43e59b2",
"location": "",
"comment": "Source: https://github.com/goerli/testnet/blob/master/bootnodes.txt"
"comment": "Upstream bootnode 4"
},
{
"ip": "213.186.16.82",
"port": 30303,
"id": "f4a9c6ee28586009fb5a96c8af13a58ed6d8315a9eee4772212c1d4d9cebe5a8b8a78ea4434f318726317d04a3f531a1ef0420cf9752605a562cfe858c46e263",
"location": "",
"comment": "Source: https://github.com/goerli/testnet/blob/master/bootnodes.txt"
"comment": "Upstream bootnode 5"
},
{
"ip": "3.11.147.67",
"port": 30303,
"id": "a61215641fb8714a373c80edbfa0ea8878243193f57c96eeb44d0bc019ef295abd4e044fd619bfc4c59731a73fb79afe84e9ab6da0c743ceb479cbb6d263fa91",
"location": "",
"comment": "Ethereum Foundation bootnode"
}
]
}
31 changes: 12 additions & 19 deletions packages/common/src/chains/kovan.json
Original file line number Diff line number Diff line change
Expand Up @@ -71,39 +71,32 @@
],
"bootstrapNodes": [
{
"ip": "40.71.221.215",
"ip": "116.203.116.241",
"port": 30303,
"id": "56abaf065581a5985b8c5f4f88bd202526482761ba10be9bfdcd14846dd01f652ec33fde0f8c0fd1db19b59a4c04465681fcef50e11380ca88d25996191c52de",
"id": "16898006ba2cd4fa8bf9a3dfe32684c178fa861df144bfc21fe800dc4838a03e342056951fa9fd533dcb0be1219e306106442ff2cf1f7e9f8faa5f2fc1a3aa45",
"location": "",
"comment": "Parity Bootnode"
"comment": "1"
},
{
"ip": "52.166.117.77",
"ip": "3.217.96.11",
"port": 30303,
"id": "d07827483dc47b368eaf88454fb04b41b7452cf454e194e2bd4c14f98a3278fed5d819dbecd0d010407fc7688d941ee1e58d4f9c6354d3da3be92f55c17d7ce3",
"id": "2909846f78c37510cc0e306f185323b83bb2209e5ff4fdd279d93c60e3f365e3c6e62ad1d2133ff11f9fd6d23ad9c3dad73bb974d53a22f7d1ac5b7dea79d0b0",
"location": "",
"comment": "Parity Bootnode"
"comment": "2"
},
{
"ip": "52.165.239.18",
"ip": "108.61.170.124",
"port": 30303,
"id": "8fa162563a8e5a05eef3e1cd5abc5828c71344f7277bb788a395cce4a0e30baf2b34b92fe0b2dbbba2313ee40236bae2aab3c9811941b9f5a7e8e90aaa27ecba",
"id": "740e1c8ea64e71762c71a463a04e2046070a0c9394fcab5891d41301dc473c0cff00ebab5a9bc87fbcb610ab98ac18225ff897bc8b7b38def5975d5ceb0a7d7c",
"location": "",
"comment": "Parity Bootnode"
"comment": "3"
},
{
"ip": "52.243.47.56",
"ip": "157.230.31.163",
"port": 30303,
"id": "7e2e7f00784f516939f94e22bdc6cf96153603ca2b5df1c7cc0f90a38e7a2f218ffb1c05b156835e8b49086d11fdd1b3e2965be16baa55204167aa9bf536a4d9",
"id": "2909846f78c37510cc0e306f185323b83bb2209e5ff4fdd279d93c60e3f365e3c6e62ad1d2133ff11f9fd6d23ad9c3dad73bb974d53a22f7d1ac5b7dea79d0b0",
"location": "",
"comment": "Parity Bootnode"
},
{
"ip": "40.68.248.100",
"port": 30303,
"id": "0518a3d35d4a7b3e8c433e7ffd2355d84a1304ceb5ef349787b556197f0c87fad09daed760635b97d52179d645d3e6d16a37d2cc0a9945c2ddf585684beb39ac",
"location": "",
"comment": "Parity Bootnode"
"comment": "4"
}
]
}
60 changes: 44 additions & 16 deletions packages/common/src/chains/mainnet.json
Original file line number Diff line number Diff line change
Expand Up @@ -77,32 +77,60 @@
],
"bootstrapNodes": [
{
"ip": "13.93.211.84",
"ip": "18.138.108.67",
"port": 30303,
"id": "3f1d12044546b76342d59d4a05532c14b85aa669704bfe1f864fe079415aa2c02d743e03218e57a33fb94523adb54032871a6c51b2cc5514cb7c7e35b3ed0a99",
"location": "US-WEST",
"comment": "Go Bootnode"
"id": "d860a01f9722d78051619d1e2351aba3f43f943f6f00718d1b9baa4101932a1f5011f16bb2b1bb35db20d6fe28fa0bf09636d26a87d31de9ec6203eeedb1f666",
"location": "ap-southeast-1-001",
"comment": "bootnode-aws-ap-southeast-1-001"
},
{
"ip": "191.235.84.50",
"ip": "3.209.45.79",
"port": 30303,
"id": "78de8a0916848093c73790ead81d1928bec737d565119932b98c6b100d944b7a95e94f847f689fc723399d2e31129d182f7ef3863f2b4c820abbf3ab2722344d",
"location": "BR",
"comment": "Go Bootnode"
"id": "22a8232c3abc76a16ae9d6c3b164f98775fe226f0917b0ca871128a74a8e9630b458460865bab457221f1d448dd9791d24c4e5d88786180ac185df813a68d4de",
"location": "us-east-1-001",
"comment": "bootnode-aws-us-east-1-001"
},
{
"ip": "13.75.154.138",
"ip": "34.255.23.113",
"port": 30303,
"id": "158f8aab45f6d19c6cbf4a089c2670541a8da11978a2f90dbf6a502a4a3bab80d288afdbeb7ec0ef6d92de563767f3b1ea9e8e334ca711e9f8e2df5a0385e8e6",
"location": "AU",
"comment": "Go Bootnode"
"id": "ca6de62fce278f96aea6ec5a2daadb877e51651247cb96ee310a318def462913b653963c155a0ef6c7d50048bba6e6cea881130857413d9f50a621546b590758",
"location": "eu-west-1-001",
"comment": "bootnode-aws-eu-west-1-001"
},
{
"ip": "52.74.57.123",
"ip": "35.158.244.151",
"port": 30303,
"id": "1118980bf48b0a3640bdba04e0fe78b1add18e1cd99bf22d53daac1fd9972ad650df52176e7c7d89d1114cfef2bc23a2959aa54998a46afcf7d91809f0855082",
"location": "SG",
"comment": "Go Bootnode"
"id": "279944d8dcd428dffaa7436f25ca0ca43ae19e7bcf94a8fb7d1641651f92d121e972ac2e8f381414b80cc8e5555811c2ec6e1a99bb009b3f53c4c69923e11bd8",
"location": "eu-central-1-001",
"comment": "bootnode-aws-eu-central-1-001"
},
{
"ip": "52.187.207.27",
"port": 30303,
"id": "8499da03c47d637b20eee24eec3c356c9a2e6148d6fe25ca195c7949ab8ec2c03e3556126b0d7ed644675e78c4318b08691b7b57de10e5f0d40d05b09238fa0a",
"location": "australiaeast-001",
"comment": "bootnode-azure-australiaeast-001"
},
{
"ip": "191.234.162.198",
"port": 30303,
"id": "103858bdb88756c71f15e9b5e09b56dc1be52f0a5021d46301dbbfb7e130029cc9d0d6f73f693bc29b665770fff7da4d34f3c6379fe12721b5d7a0bcb5ca1fc1",
"location": "brazilsouth-001",
"comment": "bootnode-azure-brazilsouth-001"
},
{
"ip": "52.231.165.108",
"port": 30303,
"id": "715171f50508aba88aecd1250af392a45a330af91d7b90701c436b618c86aaa1589c9184561907bebbb56439b8f8787bc01f49a7c77276c58c1b09822d75e8e8",
"location": "koreasouth-001",
"comment": "bootnode-azure-koreasouth-001"
},
{
"ip": "104.42.217.25",
"port": 30303,
"id": "5d6d7cd20d6da4bb83a1d28cadb5d409b64edf314c0335df658c1a54e32c7c4a7ab7823d57c39b6a757556e68ff1df17c748b698544a55cb488b52479a92b60f",
"location": "westus-001",
"comment": "bootnode-azure-westus-001"
}
]
}
11 changes: 9 additions & 2 deletions packages/common/src/chains/rinkeby.json
Original file line number Diff line number Diff line change
Expand Up @@ -74,15 +74,22 @@
"ip": "52.169.42.101",
"port": 30303,
"id": "a24ac7c5484ef4ed0c5eb2d36620ba4e4aa13b8c84684e1b4aab0cebea2ae45cb4d375b77eab56516d34bfbd3c1a833fc51296ff084b770b94fb9028c4d25ccf",
"location": "IE",
"comment": ""
"location": "",
"comment": "IE"
},
{
"ip": "52.3.158.184",
"port": 30303,
"id": "343149e4feefa15d882d9fe4ac7d88f885bd05ebb735e547f12e12080a9fa07c8014ca6fd7f373123488102fe5e34111f8509cf0b7de3f5b44339c9f25e87cb8",
"location": "",
"comment": "INFURA"
},
{
"ip": "159.89.28.211",
"port": 30303,
"id": "b6b28890b006743680c52e64e0d16db57f28124885595fa03a562be1d2bf0f3a1da297d56b13da25fb992888fd556d4c1a27b1f39d531bde7de1921c90061cc6",
"location": "",
"comment": "AKASHA"
}
]
}
24 changes: 8 additions & 16 deletions packages/common/src/chains/ropsten.json
Original file line number Diff line number Diff line change
Expand Up @@ -78,38 +78,30 @@
"bootstrapNodes": [
{
"ip": "52.176.7.10",
"port": "30303",
"port": 30303,
"id": "30b7ab30a01c124a6cceca36863ece12c4f5fa68e3ba9b0b51407ccc002eeed3b3102d20a88f1c1d3c3154e2449317b8ef95090e77b312d5cc39354f86d5d606",
"network": "Ropsten",
"chainId": 3,
"location": "US",
"location": "",
"comment": "US-Azure geth"
},
{
"ip": "52.176.100.77",
"port": "30303",
"port": 30303,
"id": "865a63255b3bb68023b6bffd5095118fcc13e79dcf014fe4e47e065c350c7cc72af2e53eff895f11ba1bbb6a2b33271c1116ee870f266618eadfc2e78aa7349c",
"network": "Ropsten",
"chainId": 3,
"location": "US",
"location": "",
"comment": "US-Azure parity"
},
{
"ip": "52.232.243.152",
"port": "30303",
"port": 30303,
"id": "6332792c4a00e3e4ee0926ed89e0d27ef985424d97b6a45bf0f23e51f0dcb5e66b875777506458aea7af6f9e4ffb69f43f3778ee73c81ed9d34c51c4b16b0b0f",
"network": "Ropsten",
"chainId": 3,
"location": "US",
"location": "",
"comment": "Parity"
},
{
"ip": "192.81.208.223",
"port": "30303",
"port": 30303,
"id": "94c15d1b9e2fe7ce56e458b9a3b672ef11894ddedd0c6f247e0f1d3487f52b66208fb4aeb8179fce6e3a749ea93ed147c37976d67af557508d199d9594c35f09",
"network": "Ropsten",
"chainId": 3,
"location": "US",
"location": "",
"comment": "@gpip"
}
]
Expand Down
23 changes: 22 additions & 1 deletion packages/common/tests/chains.ts
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,29 @@ tape('[Common]: Initialization / Chain params', function(t: tape.Test) {
const hash = '0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3'
st.equal(c.genesis().hash, hash, 'should return correct genesis hash')
st.equal(c.hardforks()[3]['block'], 2463000, 'should return correct hardfork data')
st.equal(c.bootstrapNodes()[0].port, 30303, 'should return a bootstrap node array')
st.equal(typeof c.bootstrapNodes()[0].port, 'number', 'should return a port as number')
st.end()
})

t.test('Should provide the bootnode information in a uniform way', function(st: tape.Test) {
const configs = ['mainnet', 'ropsten', 'rinkeby', 'goerli']
for (const network of configs) {
const c = new Common(network)
const bootnode = c.bootstrapNodes()[0]
st.equal(typeof bootnode.ip, 'string', 'returns the ip as string')
st.equal(typeof bootnode.port, 'number', 'returns the port as number')
st.equal(typeof bootnode.id, 'string', 'returns the id as string')
st.equal(
typeof bootnode.location,
'string',
'returns the location as string (empty string if unavailable)',
)
st.equal(
typeof bootnode.comment,
'string',
'returns a comment as string (empty string if unavailable)',
)
}
st.end()
})

Expand Down

0 comments on commit 3a3b69c

Please sign in to comment.