Browse Source

Add suport testnet4

master
wakiyamap 1 year ago
parent
commit
1d9ff40d0b
  1. 90
      electrum/checkpoints_testnet4.json
  2. 1
      electrum/commands.py
  3. 15
      electrum/constants.py
  4. 20
      electrum/servers_testnet4.json
  5. 3
      electrum/simple_config.py
  6. 4
      electrum/trampoline.py
  7. 7
      electrum/util.py
  8. 2
      run_electrum

90
electrum/checkpoints_testnet4.json

@ -0,0 +1,90 @@
[
[
"00000000962a7fc2ef639196051fe181ed53ac6aa4cdfead14dca90f58aa36bc",
0
],
[
"000000002ad661157c553c0bbbb2490407adb1c8ac09f2b2a7174f87eeeb64bf",
0
],
[
"000000000be3ff43cde9eed4d6b2d4ad16c4f9509ccb94e1001af68e2f6647b3",
0
],
[
"00000000001ef2e4c2fc174354ed357cf313725fc336092733b2699d36342ff8",
0
],
[
"000000000025269f9fa4b0832ccbfef682d59c0fa8845b0c22cc24a1973f011a",
0
],
[
"000000000014b2d6b2ad804d5deb8d5b4a58caf152f6cea5600af0d9348dff29",
0
],
[
"000000000003c067c302d43c9499da6e382260252a2a29caf9748ee6972d5f01",
0
],
[
"000000000002180d23f15ba0b8161d9d38d03c61ab51d050c57928e1a7d98e0c",
0
],
[
"000000000000ed8722220a13b09d968a59686af5fc5c1e0a86371a498209fa72",
0
],
[
"0000000000003e82df3830ff7c05a58745a463a59d1097e160e47ac7aeb5323a",
0
],
[
"0000000000000c3f18b9a30269c4b53dd107bacf20482e4ec660e9970999a99f",
0
],
[
"00000000000002901853780dc8a63efd4d72359d8de7e14dc0398ccfc53d45cd",
0
],
[
"00000000000000a6ff1615113d25eeed8554813e4994f8ef7ce96458083d14cf",
0
],
[
"000000000000006e2d4fa8204c67c0986f9bb0214990b11043d0653d50755f54",
0
],
[
"00000000eaf8e0ea253d833614892aed70c55e5dc4b4d6709dd6420b8284debb",
0
],
[
"0000000000000063d3ca489d113ded6196c99f3785b61a8ded9254ebb96bc765",
0
],
[
"000000000000003f684cab6cdb7fe6e98cb13318bb45acdc2d2e2d7405b8bcbe",
0
],
[
"000000000000001f735b5a23732fb201cf6343b373c94a35f04e6b6075591889",
0
],
[
"000000001c247a1eb479ecc56ea7d7529f0c4afb6b7025f437a7d235454cd6a4",
0
],
[
"00000000acd1400a4801f361d675644993ad05e5b735a881f26746ece767521e",
0
],
[
"00000000542792e54a720567ba66157d48cdae7bfd01c1b678d0f07a2ed56e99",
0
],
[
"00000000ca301f565989627133247615bc937b52c68f8f4b342b6c2aeebff7ba",
0
]
]

1
electrum/commands.py

@ -1590,6 +1590,7 @@ def add_global_options(parser):
group.add_argument("-D", "--dir", dest="electrum_path", help="electrum directory")
group.add_argument("-P", "--portable", action="store_true", dest="portable", default=False, help="Use local 'electrum_data' directory")
group.add_argument("--testnet", action="store_true", dest="testnet", default=False, help="Use Testnet")
group.add_argument("--testnet4", action="store_true", dest="testnet4", default=False, help="Use Testnet4")
group.add_argument("--regtest", action="store_true", dest="regtest", default=False, help="Use Regtest")
group.add_argument("--simnet", action="store_true", dest="simnet", default=False, help="Use Simnet")
group.add_argument("--signet", action="store_true", dest="signet", default=False, help="Use Signet")

15
electrum/constants.py

@ -155,6 +155,17 @@ class BitcoinTestnet(AbstractNet):
]
class BitcoinTestnet4(BitcoinTestnet):
NET_NAME = "testnet4"
SEGWIT_HRP = "tb"
BOLT11_HRP = SEGWIT_HRP
GENESIS = "00000000da84f2bafbbc53dee25a72ae507ff4914b867c565be350b0da8bf043"
DEFAULT_SERVERS = read_json('servers_testnet4.json', {})
CHECKPOINTS = read_json('checkpoints_testnet4.json', [])
LN_DNS_SEEDS = []
class BitcoinRegtest(BitcoinTestnet):
NET_NAME = "regtest"
@ -211,6 +222,10 @@ def set_testnet():
global net
net = BitcoinTestnet
def set_testnet4():
global net
net = BitcoinTestnet4
def set_regtest():
global net
net = BitcoinRegtest

20
electrum/servers_testnet4.json

@ -0,0 +1,20 @@
{
"127.0.0.1": {
"pruning": "-",
"s": "51002",
"t": "51001",
"version": "1.4"
},
"testnet4-electrumx.wakiyamap.dev": {
"pruning": "-",
"s": "51002",
"t": "51001",
"version": "1.4"
},
"blackie.c3-soft.com": {
"pruning": "-",
"s": "57010",
"t": "57009",
"version": "1.4"
}
}

3
electrum/simple_config.py

@ -254,6 +254,9 @@ class SimpleConfig(Logger):
if self.get('testnet'):
path = os.path.join(path, 'testnet')
make_dir(path, allow_symlink=False)
if self.get('testnet4'):
path = os.path.join(path, 'testnet4')
make_dir(path, allow_symlink=False)
elif self.get('regtest'):
path = os.path.join(path, 'regtest')
make_dir(path, allow_symlink=False)

4
electrum/trampoline.py

@ -26,6 +26,8 @@ TRAMPOLINE_NODES_TESTNET = {
'Electrum trampoline': LNPeerAddr(host='lightning.electrum.org', port=9739, pubkey=bytes.fromhex('02bf82e22f99dcd7ac1de4aad5152ce48f0694c46ec582567f379e0adbf81e2d0f')),
}
TRAMPOLINE_NODES_TESTNET4 = {}
TRAMPOLINE_NODES_SIGNET = {
'lnd wakiyamap.dev': LNPeerAddr(host='signet-electrumx.wakiyamap.dev', port=9735, pubkey=bytes.fromhex('02dadf6c28f3284d591cd2a4189d1530c1ff82c07059ebea150a33ab76e7364b4a')),
'eclair wakiyamap.dev': LNPeerAddr(host='signet-eclair.wakiyamap.dev', port=9735, pubkey=bytes.fromhex('0271cf3881e6eadad960f47125434342e57e65b98a78afa99f9b4191c02dd7ab3b')),
@ -40,6 +42,8 @@ def hardcoded_trampoline_nodes() -> Mapping[str, LNPeerAddr]:
return TRAMPOLINE_NODES_MAINNET
elif constants.net.NET_NAME == "testnet":
return TRAMPOLINE_NODES_TESTNET
elif constants.net.NET_NAME == "testnet4":
return TRAMPOLINE_NODES_TESTNET4
elif constants.net.NET_NAME == "signet":
return TRAMPOLINE_NODES_SIGNET
else:

7
electrum/util.py

@ -987,6 +987,11 @@ testnet_block_explorers = {
{'tx': 'tx/', 'addr': 'address/'}),
}
testnet4_block_explorers = {
'mempool.space': ('https://mempool.space/testnet4/',
{'tx': 'tx/', 'addr': 'address/'}),
}
signet_block_explorers = {
'bc-2.jp': ('https://explorer.bc-2.jp/',
{'tx': 'tx/', 'addr': 'address/'}),
@ -1009,6 +1014,8 @@ def block_explorer_info():
from . import constants
if constants.net.NET_NAME == "testnet":
return testnet_block_explorers
elif constants.net.NET_NAME == "testnet4":
return testnet4_block_explorers
elif constants.net.NET_NAME == "signet":
return signet_block_explorers
return mainnet_block_explorers

2
run_electrum

@ -383,6 +383,8 @@ def main():
if config.get('testnet'):
constants.set_testnet()
elif config.get('testnet4'):
constants.set_testnet4()
elif config.get('regtest'):
constants.set_regtest()
elif config.get('simnet'):

Loading…
Cancel
Save