fixed self issue
parent
6b9d4f8fc6
commit
1e32446f2a
|
@ -24,7 +24,13 @@ All traffic is over Tor/I2P, connecting only to Tor onion and I2P hidden service
|
|||
|
||||
Onionr nodes use HTTP (over Tor/I2P) to exchange keys, metadata, and blocks. Blocks are identified by their sha3_256 hash. Nodes sync a table of blocks hashes and attempt to download blocks they do not yet have from random peers.
|
||||
|
||||
Blocks may be encrypted using Curve25519.
|
||||
Blocks may be encrypted using Curve25519 or Salsa20.
|
||||
|
||||
Blocks have IDs in the following format:
|
||||
|
||||
-Optional hash of public key of publisher (base64)-optional signature (non-optional if publisher is specified) (Base64)-block type-block hash(sha3-256)
|
||||
|
||||
pubkeyHash-signature-type-hash
|
||||
|
||||
## Connections
|
||||
|
||||
|
|
|
@ -162,6 +162,17 @@ class API:
|
|||
|
||||
return resp
|
||||
|
||||
@app.route('/')
|
||||
def banner():
|
||||
self.mimeType = 'text/html'
|
||||
self.validateHost('public')
|
||||
try:
|
||||
with open('static-data/index.html', 'r') as html:
|
||||
resp = Response(html.read())
|
||||
except FileNotFoundError:
|
||||
resp = Response("")
|
||||
return resp
|
||||
|
||||
@app.route('/public/')
|
||||
def public_handler():
|
||||
# Public means it is publicly network accessible
|
||||
|
|
|
@ -174,8 +174,10 @@ class OnionrCrypto:
|
|||
public_key = private_key.verify_key.encode(encoder=nacl.encoding.Base32Encoder())
|
||||
return (public_key.decode(), private_key.encode(encoder=nacl.encoding.Base32Encoder()).decode())
|
||||
|
||||
def pubKeyHashID(self, pubkey=self.pubKey):
|
||||
def pubKeyHashID(self, pubkey=''):
|
||||
'''Accept a ed25519 public key, return a truncated result of X many sha3_256 hash rounds'''
|
||||
if pubkey == '':
|
||||
pubkey = self.pubKey
|
||||
prev = ''
|
||||
pubkey = pubkey.encode()
|
||||
for i in range(self.HASH_ID_ROUNDS):
|
||||
|
|
Loading…
Reference in New Issue