mirror of
https://github.com/bigchaindb/bigchaindb.git
synced 2024-10-13 13:34:05 +00:00
reorganized under examples
This commit is contained in:
parent
3d423ba44b
commit
516cf2791d
@ -15,9 +15,9 @@ The edits are found under interledger/core.py and interledger/tests/test_connect
|
||||
To run the interledger test, [install bigchaindb](#gettingstarted)
|
||||
```
|
||||
$0> rethinkdb &
|
||||
$1> bigchaindb -c interledger/tests/bigchain.json start
|
||||
$2> bigchaindb -c interledger/tests/megachain.json start
|
||||
$3> python3 interledger/tests/test_connector.py
|
||||
$1> bigchaindb -c examples/interledger/tests/bigchain.json start
|
||||
$2> bigchaindb -c examples/interledger/tests/megachain.json start
|
||||
$3> python3 examples/interledger/tests/test_connector.py
|
||||
```
|
||||
|
||||
- [x] multisig
|
||||
|
||||
45
examples/accounts.py
Normal file
45
examples/accounts.py
Normal file
@ -0,0 +1,45 @@
|
||||
|
||||
|
||||
class User:
|
||||
def __init__(self, ledger):
|
||||
self.ledger = ledger
|
||||
self.private, self.public = ledger.generate_keys()
|
||||
self.assets = []
|
||||
|
||||
def create_asset(self):
|
||||
tx = self.ledger.create_transaction(self.ledger.me, self.public, None, 'CREATE')
|
||||
tx_signed = self.ledger.sign_transaction(tx, self.ledger.me_private)
|
||||
self.ledger.validate_transaction(tx_signed)
|
||||
self.ledger.write_transaction(tx_signed)
|
||||
self.assets.append(tx_signed)
|
||||
|
||||
def create_assets(self, amount=1):
|
||||
for i in range(amount):
|
||||
self.create_asset()
|
||||
|
||||
|
||||
class Escrow(User):
|
||||
def __init__(self, ledger=None, current_owner=None, new_owner=None,
|
||||
asset_id=None, condition_func=None, payload=None):
|
||||
User.__init__(self, ledger)
|
||||
self.condition_func = condition_func if condition_func else lambda proof: True
|
||||
self.new_owner = new_owner
|
||||
tx = self.ledger.create_transaction(current_owner,
|
||||
[current_owner, self.public],
|
||||
asset_id,
|
||||
'TRANSFER',
|
||||
payload)
|
||||
self.assets = tx
|
||||
|
||||
def release(self, receipt=None):
|
||||
if not self.validate(receipt):
|
||||
raise Exception
|
||||
tx = self.ledger.create_transaction(self.assets['transaction']['new_owners'],
|
||||
self.new_owner,
|
||||
self.assets['id'],
|
||||
'TRANSFER',
|
||||
self.assets['transaction']['data']['payload'])
|
||||
return self.ledger.sign_transaction(tx, self.private, self.public)
|
||||
|
||||
def validate(self, receipt):
|
||||
return self.condition_func(receipt)
|
||||
@ -1,48 +1,4 @@
|
||||
|
||||
|
||||
class User:
|
||||
def __init__(self, ledger):
|
||||
self.ledger = ledger
|
||||
self.private, self.public = ledger.generate_keys()
|
||||
self.assets = []
|
||||
|
||||
def create_asset(self):
|
||||
tx = self.ledger.create_transaction(self.ledger.me, self.public, None, 'CREATE')
|
||||
tx_signed = self.ledger.sign_transaction(tx, self.ledger.me_private)
|
||||
self.ledger.validate_transaction(tx_signed)
|
||||
self.ledger.write_transaction(tx_signed)
|
||||
self.assets.append(tx_signed)
|
||||
|
||||
def create_assets(self, amount=1):
|
||||
for i in range(amount):
|
||||
self.create_asset()
|
||||
|
||||
|
||||
class Escrow(User):
|
||||
def __init__(self, ledger=None, current_owner=None, new_owner=None,
|
||||
asset_id=None, condition_func=None, payload=None):
|
||||
User.__init__(self, ledger)
|
||||
self.condition_func = condition_func if condition_func else lambda proof: True
|
||||
self.new_owner = new_owner
|
||||
tx = self.ledger.create_transaction(current_owner,
|
||||
[current_owner, self.public],
|
||||
asset_id,
|
||||
'TRANSFER',
|
||||
payload)
|
||||
self.assets = tx
|
||||
|
||||
def release(self, receipt=None):
|
||||
if not self.validate(receipt):
|
||||
raise Exception
|
||||
tx = self.ledger.create_transaction(self.assets['transaction']['new_owners'],
|
||||
self.new_owner,
|
||||
self.assets['id'],
|
||||
'TRANSFER',
|
||||
self.assets['transaction']['data']['payload'])
|
||||
return self.ledger.sign_transaction(tx, self.private, self.public)
|
||||
|
||||
def validate(self, receipt):
|
||||
return self.condition_func(receipt)
|
||||
from examples.accounts import User, Escrow
|
||||
|
||||
|
||||
class LedgerConnection(User):
|
||||
0
examples/interledger/tests/__init__.py
Normal file
0
examples/interledger/tests/__init__.py
Normal file
@ -2,10 +2,11 @@ import json
|
||||
from time import sleep
|
||||
|
||||
from bigchaindb import Bigchain
|
||||
from interledger.core import User, Connector
|
||||
from examples.accounts import User
|
||||
from examples.interledger.connector import Connector
|
||||
|
||||
config_bigchain = json.load(open('interledger/tests/bigchain.json', 'r'))
|
||||
config_megachain = json.load(open('interledger/tests/megachain.json', 'r'))
|
||||
config_bigchain = json.load(open('bigchain.json', 'r'))
|
||||
config_megachain = json.load(open('megachain.json', 'r'))
|
||||
|
||||
bigchain = Bigchain(dbname=config_bigchain['database']['name'],
|
||||
public_key=config_bigchain['keypair']['public'],
|
||||
Loading…
x
Reference in New Issue
Block a user