BlockVault Endpoints
Generate Scope Transaction
Used to generate a Provenance Blockchain scope transaction message without submitting it.
URL: https://{host}/api/v1/p8e/tx/generate
Method: POST
Request Body:
{
"account": {
"keyRingIndex": "0",
"keyIndex": "0",
"partyType": "OWNER",
},
"permissions": {
"audiences": [],
"permissionDart": false,
"permissionPortfolioManager": false
},
"contractSpecId": "f97ecc5d-c580-478d-be02-6c1b0c32235f",
"scopeSpecId": "551b5eca-921d-4ba7-aded-3966b224f44b",
"scopeId": <scope uuid>,
"contractInput": <string of contract input>
}
Field | Description | Data Type |
---|---|---|
account/keyRingIndex | The key ring index. Used to identify the provenance account. | String |
account/keyIndex | The key index. Used to identify the provenance account. | String |
permissions/audiences | Additional audiences that should be allowed permission to query against the saved data in EOS | List<Base64EncodedPublicKey> |
permissions/permissionDart | If the dart product should be allowed permission against the saved data in EOS. | Bool |
permissions/permissionPortfolioManager | If the portfolio manager product should be allowed permission against the saved data in EOS. | Bool |
contractSpecId | The contract specification id. denote the Contracts/Processes that will be used to manage the data within a scope. | String |
scopeSpecId | The scope specification id. indicates a set of allowed Contract Specifications that are allowed to be used against a given scope to perform updates. | String |
scopeId | The scope id that defines the set of records | String |
contractInput | The string representation of the input to the contract to run | String |
account/isTestNet | If true, testnet shall be used, otherwise mainnet | Bool |
Response
Sample Response
{
"json": {
"messages": [
{
"@type": "/provenance.metadata.v1.MsgWriteScopeRequest",
"scope": {
"scopeId": "AHEfrPPaWTcghQJo34ZE0gU=",
"specificationId": "BFUbXsqSHUunre05ZrIk9Es=",
"owners": [
{
"address": "tp156pvc8f338504us55nwxujt29f7948mcgz8xm9",
"role": "PARTY_TYPE_OWNER"
}
],
"dataAccess": [
"tp156pvc8f338504us55nwxujt29f7948mcgz8xm9"
],
"valueOwnerAddress": "tp156pvc8f338504us55nwxujt29f7948mcgz8xm9"
},
"signers": [
"tp156pvc8f338504us55nwxujt29f7948mcgz8xm9"
],
"scopeUuid": "711facf3-da59-3720-8502-68df8644d205",
"specUuid": "551b5eca-921d-4ba7-aded-3966b224f44b"
},
{
"@type": "/provenance.metadata.v1.MsgWriteSessionRequest",
"session": {
"sessionId": "AXEfrPPaWTcghQJo34ZE0gV8DiP9meZGe4NmWke85QBp",
"specificationId": "A/l+zF3FgEeNvgJsGwwyI18=",
"parties": [
{
"address": "tp156pvc8f338504us55nwxujt29f7948mcgz8xm9",
"role": "PARTY_TYPE_OWNER"
}
],
"audit": {
"createdBy": "tp156pvc8f338504us55nwxujt29f7948mcgz8xm9",
"updatedBy": "tp156pvc8f338504us55nwxujt29f7948mcgz8xm9"
}
},
"signers": [
"tp156pvc8f338504us55nwxujt29f7948mcgz8xm9"
],
"sessionIdComponents": {
"scopeUuid": "711facf3-da59-3720-8502-68df8644d205",
"sessionUuid": "7c0e23fd-99e6-467b-8366-5a47bce50069"
}
},
{
"@type": "/provenance.metadata.v1.MsgWriteRecordRequest",
"record": {
"name": "Asset",
"sessionId": "AXEfrPPaWTcghQJo34ZE0gV8DiP9meZGe4NmWke85QBp",
"process": {
"hash": "32D60974A2B2E9A9D9E93D9956E3A7D2BD226E1511D64D1EA39F86CBED62CE78",
"name": "OnboardAssetProcess",
"method": "OnboardAsset"
},
"inputs": [
{
"name": "AssetHash",
"hash": "u8wa+g8aogt0Z1cIAYnoT4Y/ahEv+OBylpuzrYLO1Hc=",
"typeName": "String",
"status": "RECORD_INPUT_STATUS_PROPOSED"
}
],
"outputs": [
{
"hash": "u8wa+g8aogt0Z1cIAYnoT4Y/ahEv+OBylpuzrYLO1Hc=",
"status": "RESULT_STATUS_PASS"
}
],
"specificationId": "Bfl+zF3FgEeNvgJsGwwyI1/Vk4bgrkNeKS++DrzblUt1"
},
"signers": [
"tp156pvc8f338504us55nwxujt29f7948mcgz8xm9"
],
"contractSpecUuid": "f97ecc5d-c580-478d-be02-6c1b0c32235f"
}
]
},
"base64": [
"CiwvcHJvdmVuYW5jZS5tZXRhZGF0YS52MS5Nc2dXcml0ZVNjb3BlUmVxdWVzdBKlAgqrAQoRAHEfrPPaWTcghQJo34ZE0gUSEQRVG17Kkh1Lp63tOWayJPRLGi0KKXRwMTU2cHZjOGYzMzg1MDR1czU1bnd4dWp0MjlmNzk0OG1jZ3o4eG05EAUiKXRwMTU2cHZjOGYzMzg1MDR1czU1bnd4dWp0MjlmNzk0OG1jZ3o4eG05Kil0cDE1NnB2YzhmMzM4NTA0dXM1NW53eHVqdDI5Zjc5NDhtY2d6OHhtORIpdHAxNTZwdmM4ZjMzODUwNHVzNTVud3h1anQyOWY3OTQ4bWNnejh4bTkaJDcxMWZhY2YzLWRhNTktMzcyMC04NTAyLTY4ZGY4NjQ0ZDIwNSIkNTUxYjVlY2EtOTIxZC00YmE3LWFkZWQtMzk2NmIyMjRmNDRi",
"Ci4vcHJvdmVuYW5jZS5tZXRhZGF0YS52MS5Nc2dXcml0ZVNlc3Npb25SZXF1ZXN0EroCCr4BCiEBcR+s89pZNyCFAmjfhkTSBXwOI/2Z5kZ7g2ZaR7zlAGkSEQP5fsxdxYBHjb4CbBsMMiNfGi0KKXRwMTU2cHZjOGYzMzg1MDR1czU1bnd4dWp0MjlmNzk0OG1jZ3o4eG05EAWaBlYSKXRwMTU2cHZjOGYzMzg1MDR1czU1bnd4dWp0MjlmNzk0OG1jZ3o4eG05Iil0cDE1NnB2YzhmMzM4NTA0dXM1NW53eHVqdDI5Zjc5NDhtY2d6OHhtORIpdHAxNTZwdmM4ZjMzODUwNHVzNTVud3h1anQyOWY3OTQ4bWNnejh4bTkaTAokNzExZmFjZjMtZGE1OS0zNzIwLTg1MDItNjhkZjg2NDRkMjA1GiQ3YzBlMjNmZC05OWU2LTQ2N2ItODM2Ni01YTQ3YmNlNTAwNjk=",
"Ci0vcHJvdmVuYW5jZS5tZXRhZGF0YS52MS5Nc2dXcml0ZVJlY29yZFJlcXVlc3QS/wIKqwIKBUFzc2V0EiEBcR+s89pZNyCFAmjfhkTSBXwOI/2Z5kZ7g2ZaR7zlAGkaZRJAMzJENjA5NzRBMkIyRTlBOUQ5RTkzRDk5NTZFM0E3RDJCRDIyNkUxNTExRDY0RDFFQTM5Rjg2Q0JFRDYyQ0U3OBoTT25ib2FyZEFzc2V0UHJvY2VzcyIMT25ib2FyZEFzc2V0IkMKCUFzc2V0SGFzaBosdTh3YStnOGFvZ3QwWjFjSUFZbm9UNFkvYWhFditPQnlscHV6cllMTzFIYz0iBlN0cmluZygBKjAKLHU4d2ErZzhhb2d0MFoxY0lBWW5vVDRZL2FoRXYrT0J5bHB1enJZTE8xSGM9EAEyIQX5fsxdxYBHjb4CbBsMMiNf1ZOG4K5DXikvvg6825VLdRIpdHAxNTZwdmM4ZjMzODUwNHVzNTVud3h1anQyOWY3OTQ4bWNnejh4bTkiJGY5N2VjYzVkLWM1ODAtNDc4ZC1iZTAyLTZjMWIwYzMyMjM1Zg=="
]
}
Field | Description | Data Type |
---|---|---|
json | JSON object containing the fully formed set of messages to be sent to Provenance for contract execution | JSON Object |
base64 | Base 64 encoded versions of those same messages provided as JSON above | String |
Execute Transaction on Provenance
Used to send a transaction proposal message to be executed by the Provenance Blockchain network.
URL: https://{host}/api/v1/p8e/tx/execute
Method: POST
Request Body:
{
"chainId": "pio-testnet-1",
"nodeEndpoint": "grpc://192.168.1.242:9090",
"tx": <tx body>,
"account": {
"keyRingIndex": "0",
"keyIndex": "0",
"partyType": "OWNER",
},
}
Field | Description | Data Type |
---|---|---|
chainId | The blockchain identifier | String |
nodeEndpoint | The url to the provenance node to run against | String |
tx | The tx body that should be broadcast to provenance | String |
account/keyRingIndex | The key ring index. Used to identify the provenance account. | String |
account/keyIndex | The key index. Used to identify the provenance account. | String |
account/isTestNet | If true, testnet shall be used, otherwise mainnet | Bool |
Response
{
"hash": <result of the contract execution provided as a hash>,
"gasWanted": <nhash value>,
"gasUsed": <nhash value>,
"height": <block height>
}
Field | Description | Data Type |
---|---|---|
hash | The returned hash of the record stored on the Provenance ledger | String |
gasWanted | The gas estimated and supplied for contract execution | String |
gasUsed | The gas used during contract execution | String |
height | The block height when the transaction was committed to the ledger | String |