アセットとトランザクションの作成
BBcTransactionオブジェクトの構成概要は,
1つのトランザクションにはeventリストおよびrelationリストが含まれ,
では,
file_
store_transaction = bbclib.make_transaction(relation_num=1, witness=True)
user_info = "Owner is %s" % user_name
bbclib.add_relation_asset(store_transaction, relation_idx=0, asset_group_id=asset_group_id,
user_id=user_id, asset_body=user_info, asset_file=data)
store_transaction.witness.add_witness(user_id)
これは第11回でも説明した関数の一部です。最初のbbclib.
user_
そしてBBcAssetオブジェクトの生成とBBcRelationオブジェクトへの格納をbbclib.
このように,
- bbc1/
core/ libs/ bbclib_ utils. py - tests/
test_ bbclib. py
アセットの参照
アセットの参照方法は,
file_
def pick_valid_transaction_info(received_data=None, bbc_app_client=None):
transaction, fmt_type = bbclib.deserialize(received_data[KeyType.transaction_data])
asset_files = received_data[KeyType.all_asset_files]
asset_id = transaction.relations[0].asset.asset_id
if asset_id not in asset_files:
print("**** No valid file is received...")
print(received_data)
bbc_app_client.sendback_denial_of_sign(received_data[KeyType.source_user_id],
transaction.transaction_id,
"No valid file is received.")
sys.exit(1)
file_to_obtain = asset_files[asset_id]
file_digest = hashlib.sha256(file_to_obtain).digest()
print("--------------------------")
print("File digest written in the transaction data: ",
binascii.b2a_hex(transaction.relations[0].asset.asset_file_digest).decode())
print("File digest calculated from the received file:", binascii.b2a_hex(file_digest).decode())
print("--------------------------")
この関数は所有権移転の処理で受信側のユーザで実行される関数です。はじめに受け取ったデータ
その後,
まとめ
今回は,
今回でプログラミングに関する解説は終わりです。次回は,