Exemplo n.º 1
0
def test_create_create_transaction_multiple_io(user_output, user2_output,
                                               user_pub, user2_pub,
                                               asset_definition):
    from bigchaindb.common.transaction import Transaction, Input

    # a fulfillment for a create transaction with multiple `owners_before`
    # is a fulfillment for an implicit threshold condition with
    # weight = len(owners_before)
    input = Input.generate([user_pub, user2_pub]).to_dict()
    expected = {
        'outputs': [user_output.to_dict(),
                    user2_output.to_dict()],
        'metadata': {
            'message': 'hello'
        },
        'inputs': [input],
        'operation': 'CREATE',
        'version': Transaction.VERSION
    }
    tx = Transaction.create([user_pub, user2_pub], [([user_pub], 1),
                                                    ([user2_pub], 1)],
                            metadata={
                                'message': 'hello'
                            }).to_dict()
    tx.pop('id')
    tx.pop('asset')

    assert tx == expected
Exemplo n.º 2
0
def create(owner_before, outputs, metadata, asset_data):
    """
    Generate a CREATE transaction.

    The CREATE transaction creates a new asset.
    """
    input_ = Input.generate([owner_before])
    outputs = [Output.from_dict(c) for c in listify(outputs)]
    tx = Transaction(Transaction.CREATE, {'data': asset_data}, [input_],
                     outputs, metadata)
    tx = Transaction._to_str(tx.to_dict())
    click.echo(tx)