Skip to content

Commit 7083f32

Browse files
committed
select bitcoin network
1 parent 52ba1d5 commit 7083f32

File tree

2 files changed

+16
-3
lines changed

2 files changed

+16
-3
lines changed

otsd-backup.py

+7-2
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,12 @@
4747
default='localhost',
4848
help="RPC address (default: %(default)s)")
4949

50+
parser.add_argument('--btc-testnet', dest='btc_net', action='store_const',
51+
const='testnet', default='mainnet',
52+
help='Use Bitcoin testnet rather than mainnet')
53+
parser.add_argument('--btc-regtest', dest='btc_net', action='store_const',
54+
const='regtest',
55+
help='Use Bitcoin regtest rather than mainnet')
5056

5157
args = parser.parse_args()
5258
args.parser = parser
@@ -77,14 +83,13 @@
7783
elif args.verbosity < -1:
7884
logging.root.setLevel(logging.ERROR)
7985

80-
8186
db = otsserver.calendar.LevelDbCalendar(db_dir)
8287
calendar = otsserver.backup.BackupCalendar(db)
8388
server = otsserver.backup.BackupServer((args.rpc_address, args.rpc_port), calendar)
8489

8590
for calendar_url in args.calendar:
8691
print("Starting calendar checker for %s" % calendar_url)
87-
ask_thread = otsserver.backup.AskBackup(db, calendar_url, base_path)
92+
ask_thread = otsserver.backup.AskBackup(db, calendar_url, base_path, args.btc_net)
8893
ask_thread.start()
8994

9095
try:

otsserver/backup.py

+9-1
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ def __getitem__(self, chunk):
4040
if cached_kv_bytes is not None:
4141
return cached_kv_bytes
4242

43+
# TODO next code must be run only once, LOCK or something
4344
backup_map = {}
4445
start = chunk*PAGING
4546
end = start+PAGING
@@ -216,24 +217,31 @@ def serve_forever(self):
216217
# theoretically serve timestamp in place of every calendar server which supports this incremental live backup mechanism
217218
class AskBackup(threading.Thread):
218219

219-
def __init__(self, db, calendar_url, base_path):
220+
def __init__(self, db, calendar_url, base_path, btc_net):
220221
self.db = db
221222
self.calendar_url = calendar_url
222223
calendar_url_parsed = urlparse(calendar_url)
223224
self.up_to_path = os.path.join(base_path, calendar_url_parsed.netloc)
225+
self.btc_net = btc_net
224226

225227
super().__init__(target=self.loop)
226228

227229
def loop(self):
228230
logging.info("Starting loop for %s" % self.calendar_url)
229231

230232
try:
233+
logging.debug("Opening %s" % self.up_to_path)
231234
with open(self.up_to_path, 'r') as up_to_fd:
232235
last_known = int(up_to_fd.read().strip())
233236
except FileNotFoundError as exp:
234237
last_known = -1
235238
logging.info("Checking calendar " + str(self.calendar_url) + ", last_known commitment:" + str(last_known))
236239

240+
if self.btc_net == 'testnet':
241+
bitcoin.SelectParams('testnet')
242+
elif self.btc_net == 'regtest':
243+
bitcoin.SelectParams('regtest')
244+
237245
while True:
238246
start_time = time.time()
239247
backup_url = urljoin(self.calendar_url, "/experimental/backup/%d" % (last_known + 1))

0 commit comments

Comments
 (0)