Skip to content

Instantly share code, notes, and snippets.

signer.rpc.on("authUrl", (url: string) => {
popup = window.open(url, "_blank", "width=400,height=600");
if (!popup) {
popupNotOpened = true;
redirectToAuthUrlWithCallback(url);
}
authUrl = url;
let checkPopup = setInterval(() => {
@pablof7z
pablof7z / nip46.md
Last active February 19, 2024 12:19

NIP-46 - Nostr Remote Signing

This NIP describes a method for 2-way communication between a remote signer and a Nostr client. The remote signer could be, for example, a hardware device dedicated to signing Nostr events, while the client is a normal Nostr client.

Terminology

  • Local keypair: A local public and private key-pair used to encrypt content and communicate with the remote signer. Usually created by the client application.
  • Remote user pubkey: The public key that the user wants to sign as. The remote signer has control of the private key that matches this public key.

Flows

@pablof7z
pablof7z / op_return.sh
Created December 18, 2022 15:17
Script to create bitcoin txs with an op_return
MSG="the message for the OP_RETURN..."
# 0. make sure bitcoind has a wallet loaded
# bitcoin-cli createwallet
# or
# bitcoin-cli loadwallet
# 1. fund the wallet with some coins
# Get an address with `bitcoin-cli getnewaddress` and send some coins to it

Keybase proof

I hereby claim:

  • I am heelhook on github.
  • I am pablof7z (https://keybase.io/pablof7z) on keybase.
  • I have a public key ASBYQI82noTlwBP6I0CzbLedXGtuWg3eAIuoRqaWb964jQo

To claim this, I am signing this object:

myKeyBindingFn: (e) ->
{ hasCommandModifier, hasControlKey } = KeyBindingUtil
modifierKey = if getOS() is OS.MAC then hasCommandModifier(e) else hasControlKey(e)
if (e.keyCode is 13 and modifierKey)
return 'send-message'
return getDefaultKeyBinding(e)
handleKeyCommand: (command) ->
<?xml version="1.0" encoding="UTF-16"?>
<ReportRequest Id="293" Status="200" APIKey="00000-00000-00000-00000-00000-00000">
<Item ID="1" CID="15" HID="162" WID="2" CIN="20140619" DOD="1" DIN="0" LOS="1" OC="2" CUR="USD"/>
<Item ID="2" CID="15" HID="162" WID="16" CIN="20140619" DOD="1" DIN="0" LOS="1" OC="2" CUR="USD"/>
<Item ID="3" CID="15" HID="162" WID="18" CIN="20140619" DOD="1" DIN="0" LOS="1" OC="2" CUR="USD"/>
<Item ID="4" CID="15" HID="162" WID="20" CIN="20140619" DOD="1" DIN="0" LOS="1" OC="2" CUR="USD"/>
<Item ID="5" CID="15" HID="162" WID="22" CIN="20140619" DOD="1" DIN="0" LOS="1" OC="2" CUR="USD"/>
<Item ID="6" CID="107" HID="2843" WID="2" CIN="20140619" DOD="1" DIN="0" LOS="1" OC="2" CUR="USD"/>
<Item ID="7" CID="107" HID="2843" WID="16" CIN="20140619" DOD="1" DIN="0" LOS="1" OC="2" CUR="USD"/>
<Item ID="8" CID="107" HID="2843" WID="18" CIN="20140619" DOD="1" DIN="0" LOS="1" OC="2" CUR="USD"/>
<?xml version="1.0" encoding="utf-8"?><Response Id="103" Status="200" APIKey="00000-00000-00000-00000-00000-00000" />
POST /pgota-reportintegration-api/service.asmx/SendAssignment HTTP/1.1
Soapaction: "http://tempuri.org/SendAssignment"
Content-Type: text/xml;charset=UTF-8
Content-Length: 241
Accept: */*
User-Agent: Ruby
Host: rateshopping.rg-products.com
<?xml version="1.0" encoding="UTF-8"?>
<ReportRequest Id="102" Status="200" APIKey="00000-00000-00000-00000-00000-00000">
POST /pgota-reportintegration-api/service.asmx/SendAssignment HTTP/1.1
Soapaction: "http://tempuri.org/SendAssignment"
Content-Type: text/xml;charset=UTF-8
Content-Length: 238
Accept: */*
User-Agent: Ruby
Host: rateshopping.rg-products.com
<?xml version="1.0" encoding="UTF-8"?>
<ReportRequest Id="5" Status="200" APIKey="00000-00000-00000-00000-00000-00000">
POST /pgota-reportintegration-api/service.asmx/SendAssignment HTTP/1.1
Soapaction: "http://tempuri.org/SendAssignment"
Content-Type: text/xml;charset=UTF-8
Content-Length: 238
Accept: */*
User-Agent: Ruby
Host: rateshopping.rg-products.com
<?xml version="1.0" encoding="UTF-8"?>
<ReportRequest Id="2" Status="200" APIKey="00000-00000-00000-00000-00000-00000">