Configure the SD card on a dev SeedSigner.
Bring the SD card over to a Mac and run:
diskutil list
and identify the name of the SD card (e.g. /dev/disk4).
Unmount the SD card and run dd
to copy its contents:
Controller: | |
create initial Destination (** configurable; MainMenuView by default) | |
infinite while loop: | |
next_destination.run() | |
Destination.run(): | |
** Destination._instantiate_view(): | |
instantiate View | |
** Destination._run_view(): | |
View.run(): | |
do some setup |
Configure the SD card on a dev SeedSigner.
Bring the SD card over to a Mac and run:
diskutil list
and identify the name of the SD card (e.g. /dev/disk4).
Unmount the SD card and run dd
to copy its contents:
You want a device, let's call it a BRoku, to route its traffic through your home IP even though it's actually physically located in someone else's house on their wifi network.
Keep your main identity key safely offline while authorizing a different key to sign on your behalf.
Demo of Keith's experimental Nostr integration.
Other posts:
Sign any Nostr event without ever having your key "hot" in a Nostr client app, web browser, or browser extension.
Demo of Keith's experimental Nostr integration.
Other posts:
Create a new key with your own entropy, save it as a standard bitcoin BIP-39 mnemonic phrase and/or SeedQR, then export for use in Nostr.
Demo of Keith's experimental Nostr integration.
Other posts:
""" | |
see: https://github.com/nostr-protocol/nips/blob/master/26.md | |
""" | |
import hashlib | |
from binascii import unhexlify | |
from embit import bip39 | |
from embit.bip32 import HDKey | |
from embit.ec import PrivateKey |
# check if we can list zero value tx as available coins | |
# 1. create raw_tx | |
# 2. hex-changed one output to 0.0 | |
# 3. sign and send | |
# 4. check if recipient (node0) can list the zero value tx | |
usp = self.nodes[1].listunspent(query_options={'minimumAmount': '49.998'})[0] | |
inputs = [{"txid": usp['txid'], "vout": usp['vout']}] | |
test_amount = Decimal("0.00001000") # this output amount will be zeroed and thereby added to the fee | |
fee = Decimal("0.00000400") # start with a modest fee so our final fee won't exceed default maxfeerate | |
outputs = {self.nodes[1].getnewaddress(): usp['amount'] - test_amount - fee, self.nodes[0].getnewaddress(): test_amount} |
from embit import bip32, bip39, script | |
from embit.slip39 import secure_randint | |
from embit.wordlists.bip39 import WORDLIST | |
for i in range(0, 100): | |
mnemonic = [] | |
for j in range(0, 11): | |
# note: `secure_randint` is inclusive of the end of the range | |
mnemonic.append(WORDLIST[secure_randint(0, 2047)]) | |
mnemonic.append(WORDLIST[0]) |
""" | |
dependency: pip install embit | |
""" | |
from embit import compact | |
from embit.psbt import PSBT, OutputScope | |
from embit.script import Script | |
class OPCODES: | |
OP_RETURN = 106 | |
OP_PUSHDATA1 = 76 |