mirror of
https://github.com/bigchaindb/bigchaindb.git
synced 2024-10-13 13:34:05 +00:00

* Adjust imports to bigchaindb_common * Adjust get_spent function signature * Adjust block serialization * Fix BigchainApi Test * Fix TestTransactionValidation tests * Fix TestBlockValidation tests * WIP: TestMultipleInputs * Adjust tests to tx-model interface changes - Fix old tests - Fix tests in TestMultipleInputs class * Remove fulfillment message tests * Fix TransactionMalleability tests * Remove Cryptoconditions tests * Remove create_transaction * Remove signing logic * Remove consensus plugin * Fix block_creation pipeline * Fix election pipeline * Replace some util functions with bdb_common ones - timestamp ==> gen_timestamp - serialize. * Implement Block model * Simplify function signatures for vote functions Change parameter interface for the following functions: - has_previous_vote - verify_vote_signature - block_election_status so that they take a block's id and voters instead of a fake block. * Integrate Block and Transaction model * Fix leftover tests and cleanup conftest * Add bigchaindb-common to install_requires * Delete transactions after block is written (#609) * delete transactions after block is written * cleanup transaction_exists * check for duplicate transactions * delete invalid tx from backlog * test duplicate transaction * Remove dead code * Test processes.py * Test invalid tx in on server * Fix tests for core.py * Fix models tests * Test commands main fn * Add final coverage to vote pipeline * Add more tests to voting pipeline * Remove consensus plugin docs and misc * Post rebase fixes * Fix rebase mess * Remove extra blank line * Improve docstring * Remove comment handled in bigchaindb/cryptoconditions#27; see https://github.com/bigchaindb/cryptoconditions/issues/27 * Fix block serialization in block creation * Add signed_ prefix to transfer_tx * Improve docs * Add library documentation page on pipelines * PR feedback for models.py * Impr. readability of get_last_voted_block * Use dict comprehension * Add docker-compose file to build and serve docs locally for development purposes * Change private_key for signing_key * Improve docstrings * Remove consensus docs * Document new consensus module * Create different transactions for the block * Cleanup variable names in block.py * Create different transactions for the block * Cleanup variable names in block.py
50 lines
1.6 KiB
Python
50 lines
1.6 KiB
Python
"""A Python 3 script to write a file with a specified number
|
|
of keypairs, using bigchaindb_common.crypto.generate_key_pair()
|
|
The written file is always named keypairs.py and it should be
|
|
interpreted as a Python 2 script.
|
|
|
|
Usage:
|
|
$ python3 write_keypairs_file.py num_pairs
|
|
|
|
Using the list in other Python scripts:
|
|
# in a Python 2 script:
|
|
from keypairs import keypairs_list
|
|
# keypairs_list is a list of (sk, pk) tuples
|
|
# sk = signing key (private key)
|
|
# pk = verifying key (public key)
|
|
"""
|
|
|
|
import argparse
|
|
|
|
from bigchaindb_common import crypto
|
|
|
|
|
|
# Parse the command-line arguments
|
|
desc = 'Write a set of keypairs to keypairs.py'
|
|
parser = argparse.ArgumentParser(description=desc)
|
|
parser.add_argument('num_pairs',
|
|
help='number of keypairs to write',
|
|
type=int)
|
|
args = parser.parse_args()
|
|
num_pairs = int(args.num_pairs)
|
|
|
|
# Generate and write the keypairs to keypairs.py
|
|
print('Writing {} keypairs to keypairs.py...'.format(num_pairs))
|
|
with open('keypairs.py', 'w') as f:
|
|
f.write('# -*- coding: utf-8 -*-\n')
|
|
f.write('"""A set of keypairs for use in deploying\n')
|
|
f.write('BigchainDB servers with a predictable set of keys.\n')
|
|
f.write('"""\n')
|
|
f.write('\n')
|
|
f.write('from __future__ import unicode_literals\n')
|
|
f.write('\n')
|
|
f.write('keypairs_list = [')
|
|
for pair_num in range(num_pairs):
|
|
keypair = crypto.generate_key_pair()
|
|
spacer = '' if pair_num == 0 else ' '
|
|
f.write("{}('{}',\n '{}'),\n".format(
|
|
spacer, keypair[0], keypair[1]))
|
|
f.write(' ]\n')
|
|
|
|
print('Done.')
|