Windows通过geth同步以太坊区块数据
前言:为了便于测试,我决定在自己电脑同步eth区块数据,虽然中途遇到一些问题,但最终还是同步好了。记录一下,希望能帮到有需要的人~
既然是通过geth同步,那么肯定是需要下载geth客户端的,同时,geth依赖于go语言环境,所以需要先安装go语言。
安装go语言,具体操作我就不说了,和安装jdk差不多,下载->安装->配置环境变量;下载geth,点击这里下载geth,但是这个链接需要翻墙,不然好慢好慢,甚至打不开。怎么办?没事儿,我为大家准备好了,点我下载geth,提取码:qe2y
第一步完成之后,安装到想要安装的目录,会生成一个geth.exe程序。请不要直接执行该程序,因为这样的话,默认会把区块数据存放到C盘(系统盘),235G左右,显然不是我们希望看到的。
此外,就算你直接运行geth.exe程序,几乎不会同步数据,因为找不到节点进行数据同步,会一直Looking for peers,但是这个问题在Linux服务器以及mac电脑不会发生,就windows系统会这样,本人亲测,也不知道为什么,这是歧视windos系统吗…
好了,废话不多说了,那么我们应该怎么做呢?
通过
cmd进入到geth.exe程序所在目录,win10的快捷键是:按住shift,然后单击鼠标右键,然后点击在此处打开 Powershell窗口 (S)。如下图所示:
关于启动命令,待会儿会做介绍。通过以上命令启动的话,可以指定很多信息,但是还是没有解决我们的找不到节点进行数据同步问题。对于这个问题,我们需要
手动添加可用的以太坊节点让我们的geth程序进行连接。
具体做法是新建一个static-nodes.json文件,并设置为ANSI格式,文件内容具就是可用的eth节点,这些节点从哪儿找呢?点我即可(我是官方节点),我已经帮大家找好了:
多说一句题外话,什么星火节点那些,都是不可用的,坑死人。我这个可用,我是从人家官网找来的。["enode://946bf11de8227d5b5266244545fead0a4b48e116927a79b6ae02eb2e6f5a79796b055f3b2145254ddb5725d0a0dba1ac79b0b14ce2391fc93937ba548e8ff5d4@18.188.3.68:30303",
"enode://0bcf8f72b6d627ce109357ef135606de0404f239657b6d776f2ce5adca027e6784e95d4ca6991721e3cb1d31d775f1eea1a4967e1c199a3ee62585c09b2a103c@76.95.243.178:30303",
"enode://76daf4d0ceaaeff76c9f4eb0b595451e630351be25ff369f16fdba517bf033554fea386aec1a6e5d5bf5ba1703ea6846ceebb7f446dfb0f2c5c54e8f2f867f22@213.239.205.232:30303",
"enode://9660dcb0704bee031ca2017f8710d7abd6b5d6c0728d1979374d0d7676175143c52747c9c7d72d4eaeb52d646d01e6c822f97b732e9bab66de2151733d629df5@99.152.117.240:30303",
"enode://cd879a29265edacb6205981ee760eb71feaf2ec02f7638051fbeec8bcf2de986f829e8175518b7afa15977f4ae500f8150db9e3c906333864854418b6e9acc20@47.243.76.47:30303",
"enode://c9f1f8d60b249f06e7cb6e754167416a7550857c7a91624b0aa5aed6c3d8f1b9012262d2b5bddd6944d4b0105921e37e9ba1dc89128c8a67d69460821091b660@109.250.64.24:30303",
"enode://1d7c12dd061af82d852b6f094b2d28e2b3a56775374f5878125c4152265c3c5c0bd74f3ebe02f2cf9a4df987a018165ae636b5750d99a7d0ba22c411c48dfbef@13.59.63.132:29888",
"enode://2c6ad60ad050fa4d3017f7102a3806db8422bb61329ee9ddb6716b005251683b6ead5a4b2fa5b9043feaa1f6a4e8a9ddf3975854417991aaf8897c0007be3b72@34.135.230.152:30303",
"enode://dd9f1f019de9772914e88b98be51f1464ff756024593a863af894adbc3348965573e714cf1372900be02ca5c0b5c3795da18bb85dfe10a7e8eed30e65d110268@74.71.9.10:30303",
"enode://3cc02b7f5828c80ebd98ec5edf9fbe027ff0428795feb34290fc8c267400d46eb115433bfe6bb2d70fe3bb086e1d95d9d570b15b75c08491f999f9cea4bd50ca@99.250.163.87:30303",
"enode://ad30f2fba1e12904caf212cc0cd0129be04705567bd58b7052f640ffc0bb6bf9793d4675a7843f96e9614ddf99b2f3bf6f2826927d0e00946965178e5c9aa352@149.172.181.108:30303",
"enode://cc3b608902b1ddda59d7b67659aa924f3006228e05fa8e6730751509e21d8474fc8e0f05b38f9fd35257a8929fb745bfcadcea80be1170fe46f947801e4fe308@188.34.131.168:30303",
"enode://59a555e99c8e466b30fb911f4f5c038885a3a14be6325bee05f6457c3418dc4677a7ebcf76d9ed12afe0f9c547df7d7b51939078a8fe2ad477d1b5193fe8c6aa@103.160.95.243:30303",
"enode://136173e3f0380201685ff447f63e28ac66506ef7913c039bd60716376995b9007428b9802cf2375482456f8f9f32a8d4eedb5f328f92ee102edd3ce9dd55045d@138.2.70.23:30303",
"enode://0e512802125050a71966c88d69373e0e9ad1b7e976dc1581ad6fdf067776c46ebb5ea6f8e1b603cfcc753deb9c6c614bdda6d3efa98cebed2ca8d436bf0b8768@62.205.25.216:30303",
"enode://8a4ca5d5722d5f863c1926fa2744c41ba10f542bdcd4a6dfd2b794fc18e71e9639d69546b6c2a43134c06462d4c3d1863d49c8e656ca908338b581503c294790@73.86.180.5:30303",
"enode://55e10a5a71f13d77db00fbd66c05bab01afe8dcb29981bffeceffa61745cc38719481bb354424b92ff33bd711e88d8c28ef161e8a9372bd804879902f03f8af2@54.83.87.154:30303",
"enode://4dcdbc532d52641dbc47e887d498130d35022acd889e2773b60d9ee16e044b4f6fc9e9eb717a8edfdfb12c48f5cef641df0292ee3cda5d5c258836f2f1efbcf0@3.81.99.91:30303",
"enode://f7c776e58b17181f85dbc8da14a7704730d9a1a2dcd6b4652109b3a0b900ab92188d57812f76e817325d826599440217757a76541ca894d1f78b5a27afe5d2c1@150.136.117.122:30303",
"enode://fce7068d84dd6b158aa8fef384eca399afe01e6da4a4cbc1fa4e85421028eb208e31799ffc86bef534b82c6ccfbe711edf3e627f3c385245f1dc79ba1d4f6406@209.6.140.72:30303",
"enode://341066ecc55c41c74d55af66f87817209998ac47b7eee776c34eed4df08b9cc9d5bdcd856a4de8cc7da69248337ee2d8f486f0298af176778091945223c02e22@3.239.120.94:30303",
"enode://acbb8520ab8f6001bbbc4ad3bf68e3116ccc4caa75ae0ad0a03aef21525ff5f3c192dbf7b27cf7a02a5370743fbd9f4e213135d2ac2e6301c0f8f326ee8c9d3e@84.113.15.65:30303",
"enode://9965130359e8b6f452919c79e2da893cc2266e061bc54177295bd84ecd291689649dd23f5dd0ff4d17ee8d7d44611bc071cb8a455a4ad50bb18079a64fc63cf0@98.39.14.27:30303",
"enode://8917dba3d95adacd8ed80cace76d2234d4e63bc0a0e02422b1c2f5c16f8d7a09e9451558c5a01e064f67f34e51db9e7d9d830950d723b06318e69a91f4252bc3@104.196.13.187:29888",
"enode://667f17d0f9feae647fd205d980b2d1b185ed0a56add1534784a135c57c69606937df73eb3c8a41c337cbb6a4b9f80dd80e0ce628d6d27365addcc1d09e46e875@84.17.41.31:30303",
"enode://4f50a7d33b2c1e7e8b648e2c90f1fea346cdb5e5a4dbfc427ec1b6f8d508c1d5b7e2e94e7e795a45fb5961d3677fb5323685ef68c81351052210fe0e935d816f@62.157.69.51:30303",
"enode://ce8a6b3a91b0331d774787016bb61f4ba685d21c5d3df3f11574ffc8dc51ec7557fd18e4346ce52d7d03075e8ffe078e82b368cb8206d1f7fc2b91631d6a0bf5@60.241.72.21:30303",
"enode://88f6428ae5b4e52a6ab3b94c4787caf72ca6618e93ff50b8c5f0c2960393f80a35a3abeb3f45d41d83eed162aec8481d0beb5750f0b869d6b1abe9fc653f3216@145.239.195.192:30303",
"enode://a3943c8eac1a7158b0046471f0638ba4db31690da6aa2ce7b5b0d5c73b85c0d01884a3fe04b0b2b27d55515fe5d2346a5f4faea6bfa443b2a3edf750b431597f@122.57.154.1:30303",
"enode://e7909f24c92e19ed47a4be82da407d60206f6006620967b0697c6fc5cf0af62a7c881f70a637c26b3969a0c3c47687377b838a2cd8c59b065928caac66e0cbe1@3.223.206.27:30303",
"enode://f7c776e58b17181f85dbc8da14a7704730d9a1a2dcd6b4652109b3a0b900ab92188d57812f76e817325d826599440217757a76541ca894d1f78b5a27afe5d2c1@129.158.254.188:30303",
"enode://caeb63c05a752ce47ff3e38a7a124db98fdea88c3855b6adf33e03eed9e3be874e32d298a88760615052be6afee0362a5449ee8e279c08f0426273c546237c0a@3.135.185.254:29888",
"enode://cca5d0087259a2707335a303e3654d8cb6e53b87c5937ac94aeaf0f9fbfa4a8c7d5937e0ebe0f443d50b071a7d5acc3d50febd34122185b96be623d462b12522@198.11.176.244:30303",
"enode://eba5a5e2ef739f2bc34564bfe588e89b969891852bd1954c99dbb05e8047395e4ec56acbab291334da93a9424842e371c08d1aa0e06334fb4638d9887e4b9232@3.237.27.135:30303",
"enode://4dcdbc532d52641dbc47e887d498130d35022acd889e2773b60d9ee16e044b4f6fc9e9eb717a8edfdfb12c48f5cef641df0292ee3cda5d5c258836f2f1efbcf0@3.84.68.85:30303",
"enode://3ca44f1e017a9863d8f1fdc3faa2589adb0a93a3899e929307538675204767b2783b0f6e3f4c7115d14d15cd7e3c6b77dc9df59c5e8e71bd929f8aabb15b0548@223.72.35.235:2701",
"enode://ffc9dee891f37efce9b314ea5abec6e275aa22f687b025feb5243d2d35ae1eddca7737851762155231aeb06217cc5ad89b09a4dcfad0b98fdfda7bf14e8d1eaf@34.139.233.239:29888",
"enode://02a184325df96cf8ac77073c8e7ab0c53351359d840829d58a62ff2aefe0036a54a57e51f87455a279674f423f8b3d8b699ac6a2add6cbaf306de2bc5fecd96a@100.24.37.252:30303",
"enode://ea08d3146e5fe2ec432137cdc9a261d01cf65698ec854ab37b31461449a7e38046752300c6ad6151e58fae855b46b4802131a3951d3d2c0d64b7169746ab6af2@47.91.24.181:30303",
"enode://1c4d3ea46cc1f18790ead20a0e15127c6445b18fca5498cb05811a9f8977cad595dea4ad2c152530bb3e71f483a92e3a2d7895f15a10113ce88d83cdd0ffe11e@34.251.181.24:30303",
"enode://688db4037add04659e0155a7dc29724ae440089d4d328372bc4de183d52a749ee31524d7c1e2e6fd531439d6f3e914ac509241e2f0ca08508b57b2510eda6cf5@47.245.15.117:30303",
"enode://1e16ba66f89548a382d0f6df7efd141a40f1ac4e3394a59a23bd899ffa7a189050f5f29221b19b83299fb58c4c57ea577fbc6221fd99f7b7f8f49fe4994ea46f@82.120.59.113:30303",
"enode://8398d2a441790875b090038bc53f545f8ca063cf895fd87b87a795401607332bb5234f4c8d13e5e090c6319809191e9c4fea3ec24994bbe76464e5120867cb4f@218.255.244.18:30303",
"enode://5732798cc2e1fcfa52869d9cef705f2dd99c463b5dd251920ae4a53c9d1e66c5900fcdfc18af4bca05591914022aa985d107c4a26501945fe21f282331193b9a@5.12.129.58:30303",
"enode://3cab1988cded0af73ad0d3fc2c52f1d347a6fd45873b07f9391a14c0434654aa6fb86aaf7783aacd5ecb22a8dc9c11139de272c25bb5aa86a57bdfe7c66db8c7@209.143.75.210:30303",
"enode://fcde331b7c902f423ad8450bc25b661ca68cc92e4b7214cc1120fb449220ad7cb3a962c49cbc609af5bdcd757c02400748f93edf8f9abe8d7d1cda3a9718951d@176.9.120.80:30303",
"enode://aafbe07f4c2ab7778a34a7f81c18ef977946c70c59b55dadb8055c6216b4b7f6f1706b4c167865635e5efd5fab721bd848550c52569ffbd14879bf476ac7a5a9@103.8.19.22:30303",
"enode://64265c6bb78c829f52fa6566dc07f9de818ad202838ca9115f0d2622b26d5cfa5f63fdc206f38e0069ceaf6c2400b276e9c88c2b7fe4a20039a8c7c18fbcd9eb@52.208.63.7:30303",
"enode://5a7b97f82be369ab06787d90ed8b3571d00381abc4ae24950b3e758b192eef320504ff7e525cfcbd671e0500e2901141ca853fb2b6d4f5903d795a6056f02724@18.183.218.132:30303",
"enode://01bbd51b7aad8812ac5a9c7163677cfb4aab313a5b15b499e4280c9c3eb321bf4e4a6328afee23fa0f7a5c9141127b4178171b1ef69817d19de7b5a67956ce3f@89.82.6.155:30303"
]
把以上内容复制到 static-nodes.json 文件,
说了这么多,static-nodes.json 文件该放在哪里呢?—> 放在eth区块数据目录下,就是上面的启动命令里面的--datadir 所设置的目录,我这里是 E:\blockchain\eth\ethdata 目录。
该目录在geth程序启动之后,会生成geth和keystore目录。
//windows下geth启动命令
./geth.exe --identity "ethnodebyczj" --datadir "E:/blockchain/eth/ethdata" --syncmode "fast" --rpc --rpcapi "admin,web3,eth,personal,miner,net" --rpcaddr 127.0.0.1 --rpcport 8545 --cache=3072 --maxpeers 1000 --maxpendpeers 900
//参数解析
--identity "ethnodebyczj" 给节点起名
--datadir "E:/blockchain/eth/ethdata" 将区块数据和keystore文件保存在 E:/blockchain/eth/ethdata 目录下
--syncmode "fast" 开启快速同步模式
--rpc 开启RPC服务
--rpcapi "admin,web3,eth,personal,miner,net" 注明要开启哪些RPC服务
--rpcaddr 0.0.0.0 指定RPC服务的IP
--rpcport 8545 指定RPC服务的端口
--cache=3072 分配给Geth的内存,理论上越大同步速度越快
--maxpeers 1000 可连接的节点数量
--maxpendpeers 900 同上
- //windows下geth启动命令
./geth.exe --identity "ethnodebyczj" --datadir "E:/blockchain/eth/ethdata" --syncmode "fast" --rpc --rpcapi "admin,web3,eth,personal,miner,net" --rpcaddr 127.0.0.1 --rpcport 8545 --cache=3072 --maxpeers 1000 --maxpendpeers 900
//参数解析
--identity "ethnodebyczj" 给节点起名
--datadir "E:/blockchain/eth/ethdata" 将区块数据和keystore文件保存在 E:/blockchain/eth/ethdata 目录下
--syncmode "fast" 开启快速同步模式
--rpc 开启RPC服务
--rpcapi "admin,web3,eth,personal,miner,net" 注明要开启哪些RPC服务
--rpcaddr 0.0.0.0 指定RPC服务的IP
--rpcport 8545 指定RPC服务的端口
--cache=3072 分配给Geth的内存,理论上越大同步速度越快
--maxpeers 1000 可连接的节点数量
--maxpendpeers 900 同上
再次强调:static-nodes.json 文件需要放在区块数据存储目录下,并且设置为ANSI格式。
好了,以上就是windows下同步以太坊区块数据的过程,如果再有遇到什么问题,欢迎交流。