fixed sneakernet, removed unused vdf
This commit is contained in:
parent
d0baa7fd12
commit
2dc706a894
@ -12,6 +12,5 @@ toomanyobjs==1.1.0
|
|||||||
niceware==0.2.1
|
niceware==0.2.1
|
||||||
psutil==5.7.2
|
psutil==5.7.2
|
||||||
filenuke==0.0.0
|
filenuke==0.0.0
|
||||||
mimcvdf==1.1.0
|
|
||||||
watchdog==0.10.3
|
watchdog==0.10.3
|
||||||
ujson==4.0.0
|
ujson==4.0.0
|
||||||
|
@ -137,10 +137,6 @@ markupsafe==1.1.1 \
|
|||||||
--hash=sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7 \
|
--hash=sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7 \
|
||||||
--hash=sha256:e8313f01ba26fbbe36c7be1966a7b7424942f670f38e666995b88d012765b9be \
|
--hash=sha256:e8313f01ba26fbbe36c7be1966a7b7424942f670f38e666995b88d012765b9be \
|
||||||
# via jinja2
|
# via jinja2
|
||||||
mimcvdf==1.1.0 \
|
|
||||||
--hash=sha256:97a4ccdebb58352c64c268d2e57ef8817c9fe4ac3dcc922410bfcc72033f344a \
|
|
||||||
--hash=sha256:ae47c79bfd6b7b76077c8ce3301a48a7c10a609d8a882e7bd785e2ef851ecd28 \
|
|
||||||
# via -r requirements.in
|
|
||||||
niceware==0.2.1 \
|
niceware==0.2.1 \
|
||||||
--hash=sha256:0f8b192f2a1e800e068474f6e208be9c7e2857664b33a96f4045340de4e5c69c \
|
--hash=sha256:0f8b192f2a1e800e068474f6e208be9c7e2857664b33a96f4045340de4e5c69c \
|
||||||
--hash=sha256:cf2dc0e1567d36d067c61b32fed0f1b9c4534ed511f9eeead4ba548d03b5c9eb \
|
--hash=sha256:cf2dc0e1567d36d067c61b32fed0f1b9c4534ed511f9eeead4ba548d03b5c9eb \
|
||||||
|
@ -26,7 +26,7 @@ ONIONR_TAGLINE = 'Private P2P Communication - GPLv3 - https://Onionr.net'
|
|||||||
ONIONR_VERSION = '6.0.0'
|
ONIONR_VERSION = '6.0.0'
|
||||||
ONIONR_VERSION_CODENAME = 'Genesis'
|
ONIONR_VERSION_CODENAME = 'Genesis'
|
||||||
ONIONR_VERSION_TUPLE = tuple(ONIONR_VERSION.split('.')) # (MAJOR, MINOR, VERSION)
|
ONIONR_VERSION_TUPLE = tuple(ONIONR_VERSION.split('.')) # (MAJOR, MINOR, VERSION)
|
||||||
API_VERSION = '4' # increments of 1; only change when something fundamental about how the API works changes. This way other nodes know how to communicate without learning too much information about you.
|
API_VERSION = '2' # increments of 1; only change when something fundamental about how the API works changes. This way other nodes know how to communicate without learning too much information about you.
|
||||||
MIN_PY_VERSION = 7 # min version of 7 so we can take advantage of non-cyclic type hints
|
MIN_PY_VERSION = 7 # min version of 7 so we can take advantage of non-cyclic type hints
|
||||||
DEVELOPMENT_MODE = False
|
DEVELOPMENT_MODE = False
|
||||||
IS_QUBES = False
|
IS_QUBES = False
|
||||||
|
@ -1,45 +0,0 @@
|
|||||||
"""Onionr - Private P2P Communication.
|
|
||||||
|
|
||||||
verifiable delay function proof
|
|
||||||
"""
|
|
||||||
from multiprocessing import Process
|
|
||||||
from multiprocessing import Pipe
|
|
||||||
|
|
||||||
from mimcvdf import vdf_create
|
|
||||||
from mimcvdf import vdf_verify
|
|
||||||
"""
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.c
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
||||||
"""
|
|
||||||
ROUND_MULTIPLIER_PER_BYTE = 100
|
|
||||||
|
|
||||||
|
|
||||||
def create(data: bytes) -> str:
|
|
||||||
rounds = len(data) * ROUND_MULTIPLIER_PER_BYTE
|
|
||||||
return vdf_create(data, rounds)
|
|
||||||
|
|
||||||
|
|
||||||
def multiproces_create(data: bytes) -> str:
|
|
||||||
parent_conn, child_conn = Pipe()
|
|
||||||
def __do_create(conn, data):
|
|
||||||
conn.send(create(data))
|
|
||||||
conn.close()
|
|
||||||
p = Process(target=__do_create, args=(child_conn, data))
|
|
||||||
p.start()
|
|
||||||
return parent_conn.recv()
|
|
||||||
|
|
||||||
|
|
||||||
def verify(data: bytes, block_id: str) -> bool:
|
|
||||||
rounds = len(data) * ROUND_MULTIPLIER_PER_BYTE
|
|
||||||
return vdf_verify(data, block_id, rounds)
|
|
||||||
|
|
@ -38,15 +38,17 @@ class _Importer(FileSystemEventHandler):
|
|||||||
if not event.src_path.endswith(BLOCK_EXPORT_FILE_EXT):
|
if not event.src_path.endswith(BLOCK_EXPORT_FILE_EXT):
|
||||||
return
|
return
|
||||||
with open(event.src_path, 'rb') as block_file:
|
with open(event.src_path, 'rb') as block_file:
|
||||||
|
block_data = block_file.read()
|
||||||
|
os.remove(event.src_path)
|
||||||
|
try:
|
||||||
|
import_block_from_data(block_data)
|
||||||
|
except onionrexceptions.DataExists:
|
||||||
|
return
|
||||||
|
if block_data_location in event.src_path:
|
||||||
try:
|
try:
|
||||||
import_block_from_data(block_file.read())
|
os.remove(event.src_path)
|
||||||
except onionrexceptions.DataExists:
|
except FileNotFoundError:
|
||||||
return
|
pass
|
||||||
if block_data_location in event.src_path:
|
|
||||||
try:
|
|
||||||
os.remove(event.src_path)
|
|
||||||
except FileNotFoundError:
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
def sneakernet_import_thread():
|
def sneakernet_import_thread():
|
||||||
|
@ -14,8 +14,8 @@
|
|||||||
"hide_created_blocks": true,
|
"hide_created_blocks": true,
|
||||||
"insert_deniable_blocks": true,
|
"insert_deniable_blocks": true,
|
||||||
"max_block_age": 2678400,
|
"max_block_age": 2678400,
|
||||||
"minimum_block_pow": 4,
|
"minimum_block_pow": 5,
|
||||||
"minimum_send_pow": 4,
|
"minimum_send_pow": 5,
|
||||||
"public_key": "",
|
"public_key": "",
|
||||||
"random_bind_ip": true,
|
"random_bind_ip": true,
|
||||||
"security_level": 0,
|
"security_level": 0,
|
||||||
|
@ -1 +1 @@
|
|||||||
1599457658
|
1602268895
|
@ -1,36 +0,0 @@
|
|||||||
#!/usr/bin/env python3
|
|
||||||
import sys, os
|
|
||||||
sys.path.append(".")
|
|
||||||
sys.path.append("src/")
|
|
||||||
import uuid
|
|
||||||
TEST_DIR = 'testdata/%s-%s' % (uuid.uuid4(), os.path.basename(__file__)) + '/'
|
|
||||||
print("Test directory:", TEST_DIR)
|
|
||||||
os.environ["ONIONR_HOME"] = TEST_DIR
|
|
||||||
import unittest, json
|
|
||||||
|
|
||||||
from utils import identifyhome, createdirs
|
|
||||||
from onionrsetup import setup_config
|
|
||||||
from onionrproofs import vdf
|
|
||||||
from time import time
|
|
||||||
|
|
||||||
createdirs.create_dirs()
|
|
||||||
setup_config()
|
|
||||||
|
|
||||||
class TestVdf(unittest.TestCase):
|
|
||||||
def test_vdf(self):
|
|
||||||
res = vdf.create(b'test')
|
|
||||||
int(res, 16)
|
|
||||||
if len(res) == 0: raise ValueError
|
|
||||||
self.assertEqual(vdf.multiproces_create(b'test'), res)
|
|
||||||
def test_speed(self):
|
|
||||||
t = time()
|
|
||||||
vdf.create(b'test')
|
|
||||||
self.assertTrue(time() - t <= 10)
|
|
||||||
# test 2 kb
|
|
||||||
t = time()
|
|
||||||
vdf.create(b't'*10000)
|
|
||||||
self.assertTrue(time() - t >= 10)
|
|
||||||
#timeit(lambda: vdf.create(b'test'))
|
|
||||||
|
|
||||||
|
|
||||||
unittest.main()
|
|
@ -13,7 +13,7 @@ from etc import onionrvalues
|
|||||||
|
|
||||||
class TestOnionrValues(unittest.TestCase):
|
class TestOnionrValues(unittest.TestCase):
|
||||||
def test_api_version(self):
|
def test_api_version(self):
|
||||||
self.assertEqual(onionrvalues.API_VERSION, '1')
|
self.assertEqual(onionrvalues.API_VERSION, '2')
|
||||||
|
|
||||||
def test_default_expire(self):
|
def test_default_expire(self):
|
||||||
self.assertEqual(onionrvalues.DEFAULT_EXPIRE, 2678400)
|
self.assertEqual(onionrvalues.DEFAULT_EXPIRE, 2678400)
|
||||||
|
Loading…
Reference in New Issue
Block a user