# Support for open assets protocol The Open Assets Protocol is a simple and powerful protocol. It allows issuance and transfer of user-created assets. The Open Assets Protocol is designed for Bitcoin blockchain, but it is possible to adapt to Tapyrus blockchain. To support it in esplora-tapyrus, some API should be added. ## blockchain.openassets.scripthash.listunspent Return an ordered list of UTXOs sent to a script hash. ### Signature blockchain.openassets.scripthash.listunspent(scripthash) scripthash The script hash as a hexadecimal string. ### Result A list of unspent outputs in blockchain order. This function takes the mempool into account. Mempool transactions paying to the address are included at the end of the list in an undefined order. Any output that is spent in the mempool does not appear. Each output is a dictionary with the following keys: - height The integer height of the block the transaction was confirmed in. 0 if the transaction is in the mempool. - tx_pos The zero-based index of the output in the transaction’s list of outputs. - tx_hash The output’s transaction hash as a hexadecimal string. - value The output’s value in minimum coin units (satoshis). - asset_id The asset id as a hexadecimal string. This is a 160 bits hash for the Open Assets. null if the utxo is uncolored. - asset_quantity The asset quantity of the output as an unsigned integer. 0 if the utxo is uncolored. ### Result Example ``` [ { "tx_pos": 0, "value": 45318048, "tx_hash": "9f2c45a12db0144909b5db269415f7319179105982ac70ed80d76ea79d923ebf", "height": 437146, "asset": { "asset_id": "ALn3aK1fSuG27N96UGYB1kUYUpGKRhBuBC", "asset_quantity": 10 } }, { "tx_pos": 0, "value": 919195, "tx_hash": "3d2290c93436a3e964cfc2f0950174d8847b1fbe3946432c4784e168da0f019f", "height": 441696 } ] ``` ## blockchain.openassets.scripthash.listcoloredunspent Return an ordered list of colored UTXOs sent to a scripthash. ### Signature blockchain.openassets.scripthash.listcoloredunspent(scripthash) scripthash: The script hash as a hexadecimal string. ### Result A list of colored unspent outputs in blockchain order. Each output is a dictionary with the following keys: - height The integer height of the block the transaction was confirmed in. 0 if the transaction is in the mempool. - tx_pos The zero-based index of the output in the transaction’s list of outputs. - tx_hash The output’s transaction hash as a hexadecimal string. - value The output’s value in minimum coin units (satoshis). - asset_id The asset id as a hexadecimal string. This is a 160 bits hash for the Open Assets - asset_quantity The asset quantity of the output as an unsigned integer. ### Result Example ``` [ { "tx_pos": 0, "value": 45318048, "tx_hash": "9f2c45a12db0144909b5db269415f7319179105982ac70ed80d76ea79d923ebf", "height": 437146 "asset": { "asset_id": "ALVYPzjZjSLoT4xAHJ7x38RcHWNatP4Mba", "asset_quantity": 100 } }, { "tx_pos": 0, "value": 919195, "tx_hash": "3d2290c93436a3e964cfc2f0950174d8847b1fbe3946432c4784e168da0f019f", "height": 441696, "asset": { "asset_id": "ALVYPzjZjSLoT4xAHJ7x38RcHWNatP4Mba", "asset_quantity": 10 } } ] ``` ## blockchain.openassets.scripthash.listuncoloredunspent Return an ordered list of uncolored UTXOs sent to a scripthash. ### Signature blockchain.openassets.scripthash.listuncoloredunspent(scripthash) scripthash: The script hash as a hexadecimal string. ### Result A list of uncolored unspent outputs in blockchain order. Each output is a dictionary with the following keys: - height The integer height of the block the transaction was confirmed in. 0 if the transaction is in the mempool. - tx_pos The zero-based index of the output in the transaction’s list of outputs. - tx_hash The output’s transaction hash as a hexadecimal string. - value The output’s value in minimum coin units (satoshis). ### Result Example ``` [ { "tx_pos": 0, "value": 45318048, "tx_hash": "9f2c45a12db0144909b5db269415f7319179105982ac70ed80d76ea79d923ebf", "height": 437146 }, { "tx_pos": 0, "value": 919195, "tx_hash": "3d2290c93436a3e964cfc2f0950174d8847b1fbe3946432c4784e168da0f019f", "height": 441696 } ] ```