- More scalable/faster than a blockchain (not enough utxos)
- Much better privacy security model than a blockchain
- Same or better theft security model than TTP but much worse than a blockchain
If it's so great, why hasn't it been done yet?
""" Python nostr client to for air-gapped shit posting | |
Requirements: | |
- python-nostr: On the same folder the air_nostr.py is, clone and rename it | |
git clone https://github.com/jeffthibault/python-nostr | |
mv python-nostr python_nostr | |
- opencv, embit, qrcode | |
pip install opencv-python embit qrcode |
"""Uses Embit and qrcode modules to convert hex and bech32 keys to BIP39 seed words and vice-versa. | |
Also generates ascii compact seed QR codes and public keys. | |
Install Embit: | |
pip install embit | |
Exemple: Words as input: | |
python nostr_c_seed_qr.py picture body actor coil end satoshi fish mom distance proof thank play fantasy friend dinner clump boring ozone review cart virtual toss foot infant | |
Exemple: Hex key as input: |
// Copyright 2022 @RandyMcmillan. All rights reserved. | |
// Use of this source code is governed by a BSD-style license | |
// that can be found in the LICENSE file. | |
import 'dart:math'; | |
void main() { | |
var i = 5; | |
var p = pow(2,i); |
If it's so great, why hasn't it been done yet?
These are the steps I took to install and run a nostr relay on a new server.
First, you'll need the server, this tutorial is using the most basic server Hetzner provides (CX11 - €4.15/mo), you don't need much. If you don't know where to get your server from and decide to go with Hetzner, consider using my affiliate link: https://hetzner.cloud/?ref=4FZql6rUwaeQ
Once you have your server running, log into it via SSH. I'm on a MacOS, so I'll use Terminal as my command line tool. open a new Terminal window and paste the following commands:
#define static_assert(c) do { int _x = 1/((int)c); } while (0) | |
int main() { | |
static_assert(sizeof(int) == 4); | |
static_assert(sizeof(int) < 4); | |
return 0; | |
} | |
/* output: | |
$ gcc t.c |
import 'dart:io'; | |
import 'dart:convert'; | |
String serverUrl = 'wss://nostr-pub.wellorder.net'; | |
var userPublickey = "3235036bd0957dfb27ccda02d452d7c763be40c91a1ac082ba6983b25238388c"; | |
var userSubReq = '["REQ","latest",{ "authors": ["$userPublickey"], "limit": 5 } ]'; | |
class EventData { | |
String id; | |
String pubkey; |
''' | |
Convenience utility for connecting to a bitcoind instance through RPC. | |
''' | |
# W.J. van der Laan 2021 :: SPDX-License-Identifier: MIT | |
import base64 | |
import decimal | |
from http import HTTPStatus | |
import http.client | |
import json | |
import logging |
#!usr/bin/env python | |
""" Implementation example of https://eprint.iacr.org/2016/263.pdf | |
Bootle et al. Section 3, polynomial evaluation protocol which scales | |
in the square root of the degree. | |
*Not* zero knowledge form. | |
""" | |
import jmbitcoin as btc | |
import struct |