Browse Source

lnbase: support simnet/testnet, create accepted open_channel message

regtest_lnd
Janus 7 years ago
committed by SomberNight
parent
commit
4e841ee317
No known key found for this signature in database GPG Key ID: B33B5F232C6271E9
  1. 21
      lib/lnbase.py

21
lib/lnbase.py

@ -15,8 +15,9 @@ import hashlib
import hmac
import cryptography.hazmat.primitives.ciphers.aead as AEAD
from electrum.bitcoin import public_key_from_private_key, ser_to_point, point_to_ser, string_to_number, deserialize_privkey, EC_KEY
from electrum.constants import set_testnet
from electrum.bitcoin import public_key_from_private_key, ser_to_point, point_to_ser, string_to_number, deserialize_privkey, EC_KEY, rev_hex
from electrum.constants import set_testnet, set_simnet
import electrum.constants as constants
from electrum.util import PrintError
from electrum.wallet import Wallet
from electrum.storage import WalletStorage
@ -212,8 +213,9 @@ def create_ephemeral_key(privkey):
return (privkey[:32], pub)
def get_unused_public_keys():
set_testnet()
WALLET = Wallet(WalletStorage(os.environ["HOME"] + "/.electrum/testnet/wallets/default_wallet"))
path = os.environ["HOME"] + "/.electrum/" + ("testnet" if constants.net is constants.BitcoinTestnet else "simnet") + "/wallets/default_wallet"
os.stat(path)
WALLET = Wallet(WalletStorage(path))
for str_address in WALLET.get_unused_addresses():
pri, redeem_script = WALLET.export_private_key(str_address, None)
@ -343,7 +345,7 @@ class Peer(PrintError):
pubkeys = get_unused_public_keys()
msg = gen_msg("open_channel", funding_pubkey=next(pubkeys), revocation_basepoint=next(pubkeys), htlc_basepoint=next(pubkeys), payment_basepoint=next(pubkeys), delayed_payment_basepoint=next(pubkeys), first_per_commitment_point=next(pubkeys))
msg = gen_msg("open_channel", chain_hash=bytes.fromhex(rev_hex(constants.net.GENESIS)), funding_satoshis=20000, max_accepted_htlcs=5, funding_pubkey=next(pubkeys), revocation_basepoint=next(pubkeys), htlc_basepoint=next(pubkeys), payment_basepoint=next(pubkeys), delayed_payment_basepoint=next(pubkeys), first_per_commitment_point=next(pubkeys))
self.send_message(msg)
# loop
@ -375,10 +377,15 @@ node_list = [
if __name__ == "__main__":
if len(sys.argv) > 1:
host, port, pubkey = sys.argv[1:4]
if len(sys.argv) > 2:
host, port, pubkey = sys.argv[2:5]
else:
host, port, pubkey = node_list[0]
if sys.argv[1] not in ["simnet", "testnet"]: raise Exception("first argument must be simnet or testnet")
if sys.argv[1] == "simnet":
set_simnet()
else:
set_testnet()
pubkey = binascii.unhexlify(pubkey)
port = int(port)
privkey = b"\x21"*32 + b"\x01"

Loading…
Cancel
Save