Merge branch 'master' of https://github.com/ranchimall/ranchimallflo-api
This commit is contained in:
commit
aca9064b9b
347
README.md
347
README.md
@ -13,7 +13,7 @@ The above API provides details about the token and smart contract system on the
|
|||||||
```
|
```
|
||||||
git clone https://github.com/ranchimall/ranchimallflo-api
|
git clone https://github.com/ranchimall/ranchimallflo-api
|
||||||
cd ranchimallflo-api
|
cd ranchimallflo-api
|
||||||
python3 -m venv py3
|
python3 -m venv py3..
|
||||||
source py3/bin/activate
|
source py3/bin/activate
|
||||||
pip install requests quart quart_cors ecdsa config arrow
|
pip install requests quart quart_cors ecdsa config arrow
|
||||||
```
|
```
|
||||||
@ -49,10 +49,28 @@ Output:
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Python example code
|
||||||
|
```
|
||||||
|
response = requests.get('https://ranchimallflo.duckdns.org/api/v1.0/getTokenList')
|
||||||
|
if response.status_code == 200:
|
||||||
|
json_response = response.json()
|
||||||
|
elif response.status_code == 404:
|
||||||
|
print('Not Found.')
|
||||||
|
```
|
||||||
|
|
||||||
|
Javascript example code
|
||||||
|
```
|
||||||
|
fetch('https://ranchimallflo.duckdns.org/api/v1.0/getTokenList'){
|
||||||
|
.then(response => response.json())
|
||||||
|
.then(data => console.log(data));
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
### Information about a token
|
### Information about a token
|
||||||
Get information about a token on the FLO blockchain
|
Get information about a token on the FLO blockchain
|
||||||
```
|
```
|
||||||
/api/v1.0/getTokenInfo?token=rmt
|
/api/v1.0/getTokenInfo?<tokenName>
|
||||||
```
|
```
|
||||||
Output:
|
Output:
|
||||||
```
|
```
|
||||||
@ -67,10 +85,27 @@ Output:
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Python example code
|
||||||
|
```
|
||||||
|
response = requests.get('https://ranchimallflo.duckdns.org/api/v1.0/getTokenInfo?<tokenName>')
|
||||||
|
if response.status_code == 200:
|
||||||
|
json_response = response.json()
|
||||||
|
elif response.status_code == 404:
|
||||||
|
print('Not Found.')
|
||||||
|
```
|
||||||
|
|
||||||
|
Javascript example code
|
||||||
|
```
|
||||||
|
fetch('https://ranchimallflo.duckdns.org/api/v1.0/getTokenInfo?<tokenName>'){
|
||||||
|
.then(response => response.json())
|
||||||
|
.then(data => console.log(data));
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
### Information about a token's transactions
|
### Information about a token's transactions
|
||||||
Get information about a token's related transactions on the blockchain
|
Get information about a token's related transactions on the blockchain
|
||||||
```
|
```
|
||||||
/api/v1.0/getTokenTransactions?token=rmt
|
/api/v1.0/getTokenTransactions?<tokenName>
|
||||||
```
|
```
|
||||||
Optional URL parameters :
|
Optional URL parameters :
|
||||||
senderFloAddress
|
senderFloAddress
|
||||||
@ -99,10 +134,26 @@ Output:
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Python example code
|
||||||
|
```
|
||||||
|
response = requests.get('https://ranchimallflo.duckdns.org/api/v1.0/getTokenTransactions?<tokenName>')
|
||||||
|
if response.status_code == 200:
|
||||||
|
json_response = response.json()
|
||||||
|
elif response.status_code == 404:
|
||||||
|
print('Not Found.')
|
||||||
|
```
|
||||||
|
|
||||||
|
Javascript example code
|
||||||
|
```
|
||||||
|
fetch('https://ranchimallflo.duckdns.org/api/v1.0/getTokenTransactions?<tokenName>'){
|
||||||
|
.then(response => response.json())
|
||||||
|
.then(data => console.log(data));
|
||||||
|
}
|
||||||
|
```
|
||||||
### Information about a token's address balances
|
### Information about a token's address balances
|
||||||
Get information about a token's address balances
|
Get information about a token's address balances
|
||||||
```
|
```
|
||||||
/api/v1.0/getTokenBalances?token=rmt
|
/api/v1.0/getTokenBalances?<tokenName>
|
||||||
```
|
```
|
||||||
|
|
||||||
Output:
|
Output:
|
||||||
@ -125,7 +176,22 @@ Output:
|
|||||||
"result": "ok"
|
"result": "ok"
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
Python example code
|
||||||
|
```
|
||||||
|
response = requests.get('https://ranchimallflo.duckdns.org/api/v1.0/getTokenBalances?<tokenName>')
|
||||||
|
if response.status_code == 200:
|
||||||
|
json_response = response.json()
|
||||||
|
elif response.status_code == 404:
|
||||||
|
print('Not Found.')
|
||||||
|
```
|
||||||
|
|
||||||
|
Javascript example code
|
||||||
|
```
|
||||||
|
fetch('https://ranchimallflo.duckdns.org/api/v1.0/getTokenBalances?<tokenName>'){
|
||||||
|
.then(response => response.json())
|
||||||
|
.then(data => console.log(data));
|
||||||
|
}
|
||||||
|
```
|
||||||
### Information about a FLO address
|
### Information about a FLO address
|
||||||
Get information about a FLO address
|
Get information about a FLO address
|
||||||
```
|
```
|
||||||
@ -145,7 +211,22 @@ Output:
|
|||||||
"result": "ok"
|
"result": "ok"
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
Python example code
|
||||||
|
```
|
||||||
|
response = requests.get('https://ranchimallflo.duckdns.org/api/v1.0/getFloAddressDetails?floAddress=F6WPx2WFdmVQ6AMutZ2FJzpyiwdxqLyd2z')
|
||||||
|
if response.status_code == 200:
|
||||||
|
json_response = response.json()
|
||||||
|
elif response.status_code == 404:
|
||||||
|
print('Not Found.')
|
||||||
|
```
|
||||||
|
|
||||||
|
Javascript example code
|
||||||
|
```
|
||||||
|
fetch('https://ranchimallflo.duckdns.org/api/v1.0/getFloAddressDetails?floAddress=F6WPx2WFdmVQ6AMutZ2FJzpyiwdxqLyd2z'){
|
||||||
|
.then(response => response.json())
|
||||||
|
.then(data => console.log(data));
|
||||||
|
}
|
||||||
|
```
|
||||||
### Information about a FLO address of a particular token
|
### Information about a FLO address of a particular token
|
||||||
Get information about a FLO address of a particular token
|
Get information about a FLO address of a particular token
|
||||||
```
|
```
|
||||||
@ -161,6 +242,22 @@ Output:
|
|||||||
"token": "rmt"
|
"token": "rmt"
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
Python example code
|
||||||
|
```
|
||||||
|
response = requests.get('https://ranchimallflo.duckdns.org/api/v1.0/getFloAddressBalance?token=rmt&floAddress=F6WPx2WFdmVQ6AMutZ2FJzpyiwdxqLyd2z')
|
||||||
|
if response.status_code == 200:
|
||||||
|
json_response = response.json()
|
||||||
|
elif response.status_code == 404:
|
||||||
|
print('Not Found.')
|
||||||
|
```
|
||||||
|
|
||||||
|
Javascript example code
|
||||||
|
```
|
||||||
|
fetch('https://ranchimallflo.duckdns.org/api/v1.0/getFloAddressBalance?token=rmt&floAddress=F6WPx2WFdmVQ6AMutZ2FJzpyiwdxqLyd2z'){
|
||||||
|
.then(response => response.json())
|
||||||
|
.then(data => console.log(data));
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
### Information about a FLO address's transactions
|
### Information about a FLO address's transactions
|
||||||
Get information about a FLO address's transactions
|
Get information about a FLO address's transactions
|
||||||
@ -196,7 +293,22 @@ Output:
|
|||||||
"result": "ok"
|
"result": "ok"
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
Python example code
|
||||||
|
```
|
||||||
|
response = requests.get('https://ranchimallflo.duckdns.org/api/v1.0/getFloAddressTransactions?floAddress=F6WPx2WFdmVQ6AMutZ2FJzpyiwdxqLyd2z')
|
||||||
|
if response.status_code == 200:
|
||||||
|
json_response = response.json()
|
||||||
|
elif response.status_code == 404:
|
||||||
|
print('Not Found.')
|
||||||
|
```
|
||||||
|
|
||||||
|
Javascript example code
|
||||||
|
```
|
||||||
|
fetch('https://ranchimallflo.duckdns.org/api/v1.0/getFloAddressTransactions?floAddress=F6WPx2WFdmVQ6AMutZ2FJzpyiwdxqLyd2z'){
|
||||||
|
.then(response => response.json())
|
||||||
|
.then(data => console.log(data));
|
||||||
|
}
|
||||||
|
```
|
||||||
### Get list of all active smart contracts
|
### Get list of all active smart contracts
|
||||||
Get list of all active smart contracts
|
Get list of all active smart contracts
|
||||||
```
|
```
|
||||||
@ -222,7 +334,22 @@ Output:
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
Python example code
|
||||||
|
```
|
||||||
|
response = requests.get('https://ranchimallflo.duckdns.org/api/v1.0/getSmartContractList')
|
||||||
|
if response.status_code == 200:
|
||||||
|
json_response = response.json()
|
||||||
|
elif response.status_code == 404:
|
||||||
|
print('Not Found.')
|
||||||
|
```
|
||||||
|
|
||||||
|
Javascript example code
|
||||||
|
```
|
||||||
|
fetch('https://ranchimallflo.duckdns.org/api/v1.0/getSmartContractList'){
|
||||||
|
.then(response => response.json())
|
||||||
|
.then(data => console.log(data));
|
||||||
|
}
|
||||||
|
```
|
||||||
### Smart Contract's information
|
### Smart Contract's information
|
||||||
Get information about a specified Smart Contract
|
Get information about a specified Smart Contract
|
||||||
```
|
```
|
||||||
@ -252,7 +379,22 @@ Output:
|
|||||||
"result": "ok"
|
"result": "ok"
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
Python example code
|
||||||
|
```
|
||||||
|
response = requests.get('https://ranchimallflo.duckdns.org/api/v1.0/getSmartContractInfo?contractName=india-elections-2019&contractAddress=F7osBpjDDV1mSSnMNrLudEQQ3cwDJ2dPR1')
|
||||||
|
if response.status_code == 200:
|
||||||
|
json_response = response.json()
|
||||||
|
elif response.status_code == 404:
|
||||||
|
print('Not Found.')
|
||||||
|
```
|
||||||
|
|
||||||
|
Javascript example code
|
||||||
|
```
|
||||||
|
fetch('https://ranchimallflo.duckdns.org/api/v1.0/getSmartContractInfo?contractName=india-elections-2019&contractAddress=F7osBpjDDV1mSSnMNrLudEQQ3cwDJ2dPR1'){
|
||||||
|
.then(response => response.json())
|
||||||
|
.then(data => console.log(data));
|
||||||
|
}
|
||||||
|
```
|
||||||
### Smart Contract's participants
|
### Smart Contract's participants
|
||||||
Get information about a specified Smart Contract's participants
|
Get information about a specified Smart Contract's participants
|
||||||
```
|
```
|
||||||
@ -287,7 +429,22 @@ Output:
|
|||||||
"result": "ok"
|
"result": "ok"
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
Python example code
|
||||||
|
```
|
||||||
|
response = requests.get('https://ranchimallflo.duckdns.org/api/v1.0/getSmartContractParticipants?contractName=india-elections-2019&contractAddress=F7osBpjDDV1mSSnMNrLudEQQ3cwDJ2dPR1')
|
||||||
|
if response.status_code == 200:
|
||||||
|
json_response = response.json()
|
||||||
|
elif response.status_code == 404:
|
||||||
|
print('Not Found.')
|
||||||
|
```
|
||||||
|
|
||||||
|
Javascript example code
|
||||||
|
```
|
||||||
|
fetch('https://ranchimallflo.duckdns.org/api/v1.0/getSmartContractParticipants?contractName=india-elections-2019&contractAddress=F7osBpjDDV1mSSnMNrLudEQQ3cwDJ2dPR1'){
|
||||||
|
.then(response => response.json())
|
||||||
|
.then(data => console.log(data));
|
||||||
|
}
|
||||||
|
```
|
||||||
### Smart Contract's participant details
|
### Smart Contract's participant details
|
||||||
Get information about a specified Smart Contract's participants
|
Get information about a specified Smart Contract's participants
|
||||||
```
|
```
|
||||||
@ -322,7 +479,22 @@ Output:
|
|||||||
"result": "ok"
|
"result": "ok"
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
Python example code
|
||||||
|
```
|
||||||
|
response = requests.get('https://ranchimallflo.duckdns.org/api/v1.0/getSmartContractParticipantDetails?floAddress=')
|
||||||
|
if response.status_code == 200:
|
||||||
|
json_response = response.json()
|
||||||
|
elif response.status_code == 404:
|
||||||
|
print('Not Found.')
|
||||||
|
```
|
||||||
|
|
||||||
|
Javascript example code
|
||||||
|
```
|
||||||
|
fetch('https://ranchimallflo.duckdns.org/api/v1.0/getSmartContractParticipantDetails?floAddress='){
|
||||||
|
.then(response => response.json())
|
||||||
|
.then(data => console.log(data));
|
||||||
|
}
|
||||||
|
```
|
||||||
### Block details
|
### Block details
|
||||||
Get information about a block by specifying its blockno
|
Get information about a block by specifying its blockno
|
||||||
```
|
```
|
||||||
@ -352,7 +524,22 @@ Output:
|
|||||||
"version": 1
|
"version": 1
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
Python example code
|
||||||
|
```
|
||||||
|
response = requests.get('https://ranchimallflo.duckdns.org/api/v1.0/getBlockDetails/<blockno>')
|
||||||
|
if response.status_code == 200:
|
||||||
|
json_response = response.json()
|
||||||
|
elif response.status_code == 404:
|
||||||
|
print('Not Found.')
|
||||||
|
```
|
||||||
|
|
||||||
|
Javascript example code
|
||||||
|
```
|
||||||
|
fetch('https://ranchimallflo.duckdns.org/api/v1.0/getBlockDetails/<blockno>'){
|
||||||
|
.then(response => response.json())
|
||||||
|
.then(data => console.log(data));
|
||||||
|
}
|
||||||
|
```
|
||||||
### Transaction details
|
### Transaction details
|
||||||
Get information about a transaction
|
Get information about a transaction
|
||||||
```
|
```
|
||||||
@ -456,7 +643,22 @@ Output:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
Python example code
|
||||||
|
```
|
||||||
|
response = requests.get('https://ranchimallflo.duckdns.org/api/v1.0/getTransactionDetails/<transactionHash>')
|
||||||
|
if response.status_code == 200:
|
||||||
|
json_response = response.json()
|
||||||
|
elif response.status_code == 404:
|
||||||
|
print('Not Found.')
|
||||||
|
```
|
||||||
|
|
||||||
|
Javascript example code
|
||||||
|
```
|
||||||
|
fetch('https://ranchimallflo.duckdns.org/api/v1.0/getTransactionDetails/<transactionHash>'){
|
||||||
|
.then(response => response.json())
|
||||||
|
.then(data => console.log(data));
|
||||||
|
}
|
||||||
|
```
|
||||||
### Latest Blocks details
|
### Latest Blocks details
|
||||||
Get information about latest blocks
|
Get information about latest blocks
|
||||||
```
|
```
|
||||||
@ -574,7 +776,22 @@ Output:
|
|||||||
"result": "ok"
|
"result": "ok"
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
Python example code
|
||||||
|
```
|
||||||
|
response = requests.get('https://ranchimallflo.duckdns.org/api/v1.0/getLatestBlockDetails')
|
||||||
|
if response.status_code == 200:
|
||||||
|
json_response = response.json()
|
||||||
|
elif response.status_code == 404:
|
||||||
|
print('Not Found.')
|
||||||
|
```
|
||||||
|
|
||||||
|
Javascript example code
|
||||||
|
```
|
||||||
|
fetch('https://ranchimallflo.duckdns.org/api/v1.0/getLatestBlockDetails'){
|
||||||
|
.then(response => response.json())
|
||||||
|
.then(data => console.log(data));
|
||||||
|
}
|
||||||
|
```
|
||||||
### Latest Transactions details
|
### Latest Transactions details
|
||||||
Get information about latest transactions
|
Get information about latest transactions
|
||||||
```
|
```
|
||||||
@ -727,3 +944,125 @@ Output:
|
|||||||
"result": "ok"
|
"result": "ok"
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
Python example code
|
||||||
|
```
|
||||||
|
response = requests.get('https://ranchimallflo.duckdns.org/api/v1.0/getLatestTransactionDetails')
|
||||||
|
if response.status_code == 200:
|
||||||
|
json_response = response.json()
|
||||||
|
elif response.status_code == 404:
|
||||||
|
print('Not Found.')
|
||||||
|
```
|
||||||
|
|
||||||
|
Javascript example code
|
||||||
|
```
|
||||||
|
fetch('https://ranchimallflo.duckdns.org/api/v1.0/getLatestTransactionDetails'){
|
||||||
|
.then(response => response.json())
|
||||||
|
.then(data => console.log(data));
|
||||||
|
}
|
||||||
|
```
|
||||||
|
### Latest Block Transactions
|
||||||
|
Get information about block transactions
|
||||||
|
```
|
||||||
|
/api/v1.0/getBlockTransactions/<blockdetail>
|
||||||
|
```
|
||||||
|
Output:
|
||||||
|
```
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
"blockKeyword": "3454503",
|
||||||
|
"result": "ok",
|
||||||
|
"transactions": {
|
||||||
|
"b57cf412c8cb16e473d04bae44214705c64d2c25146be22695bf1ac36e166ee0": {
|
||||||
|
"parsedFloData": {
|
||||||
|
"contractName": "india-elections-2019",
|
||||||
|
"triggerCondition": "narendra modi wins",
|
||||||
|
"type": "smartContractPays"
|
||||||
|
},
|
||||||
|
"transactionDetails": {
|
||||||
|
"blockhash": "5036019f878cdd22cbd1563cc25b999fe103931a7784a6d67c9f6548f44076a3",
|
||||||
|
"blockheight": 3454503,
|
||||||
|
"blocktime": 1558862083,
|
||||||
|
"confirmations": 1342505,
|
||||||
|
"fees": 0.0005,
|
||||||
|
"floData": "india-elections-2019@ winning-choice:'narendra modi wins'",
|
||||||
|
"locktime": 0,
|
||||||
|
"size": 283,
|
||||||
|
"time": 1558862083,
|
||||||
|
"txid": "b57cf412c8cb16e473d04bae44214705c64d2c25146be22695bf1ac36e166ee0",
|
||||||
|
"valueIn": 0.001,
|
||||||
|
"valueOut": 0.0005,
|
||||||
|
"version": 2,
|
||||||
|
"vin": [
|
||||||
|
{
|
||||||
|
"addr": "FRwwCqbP7DN4z5guffzzhCSgpD8Q33hUG8",
|
||||||
|
"confirmations": null,
|
||||||
|
"doubleSpentTxID": null,
|
||||||
|
"isConfirmed": null,
|
||||||
|
"n": 0,
|
||||||
|
"scriptSig": {
|
||||||
|
"asm": "304402206c414be1ad91eb32603c696b2fde7836585573371f25be742b1a88fa9215a8fd0220035932fe3286973267c3e9467bad6ca7237bcd0aa8a4e6607b076274ad5e78cd01 03eb349253a45fe086cf9594825d1dbd7bf50b348bc1cccb921485acf06811b982",
|
||||||
|
"hex": "47304402206c414be1ad91eb32603c696b2fde7836585573371f25be742b1a88fa9215a8fd0220035932fe3286973267c3e9467bad6ca7237bcd0aa8a4e6607b076274ad5e78cd012103eb349253a45fe086cf9594825d1dbd7bf50b348bc1cccb921485acf06811b982"
|
||||||
|
},
|
||||||
|
"sequence": 4294967295,
|
||||||
|
"txid": "6a49fd8fcdf557845788ac4d578568aac7c675c27ac3a57a09807a55ce9b56fa",
|
||||||
|
"unconfirmedInput": null,
|
||||||
|
"value": 0.001,
|
||||||
|
"valueSat": 100000,
|
||||||
|
"vout": 0
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"vout": [
|
||||||
|
{
|
||||||
|
"n": 0,
|
||||||
|
"scriptPubKey": {
|
||||||
|
"addresses": [
|
||||||
|
"F7osBpjDDV1mSSnMNrLudEQQ3cwDJ2dPR1"
|
||||||
|
],
|
||||||
|
"asm": "OP_DUP OP_HASH160 15b3eb460d593f74775167d589a3a443eb78b55b OP_EQUALVERIFY OP_CHECKSIG",
|
||||||
|
"hex": "76a91415b3eb460d593f74775167d589a3a443eb78b55b88ac",
|
||||||
|
"type": "pubkeyhash"
|
||||||
|
},
|
||||||
|
"spentHeight": null,
|
||||||
|
"spentIndex": null,
|
||||||
|
"spentTxId": null,
|
||||||
|
"value": "0.00010000"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"n": 1,
|
||||||
|
"scriptPubKey": {
|
||||||
|
"addresses": [
|
||||||
|
"FRwwCqbP7DN4z5guffzzhCSgpD8Q33hUG8"
|
||||||
|
],
|
||||||
|
"asm": "OP_DUP OP_HASH160 dcacdd4e7c523b9ee05e980e9fc2ced5fb343669 OP_EQUALVERIFY OP_CHECKSIG",
|
||||||
|
"hex": "76a914dcacdd4e7c523b9ee05e980e9fc2ced5fb34366988ac",
|
||||||
|
"type": "pubkeyhash"
|
||||||
|
},
|
||||||
|
"spentHeight": null,
|
||||||
|
"spentIndex": null,
|
||||||
|
"spentTxId": null,
|
||||||
|
"value": "0.00040000"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
|
Python example code
|
||||||
|
```
|
||||||
|
response = requests.get('https://ranchimallflo.duckdns.org/api/v1.0/getBlockTransactions/<blockdetail>')
|
||||||
|
if response.status_code == 200:
|
||||||
|
json_response = response.json()
|
||||||
|
elif response.status_code == 404:
|
||||||
|
print('Not Found.')
|
||||||
|
```
|
||||||
|
|
||||||
|
Javascript example code
|
||||||
|
```
|
||||||
|
fetch('https://ranchimallflo.duckdns.org/api/v1.0/getBlockTransactions/<blockdetail>'){
|
||||||
|
.then(response => response.json())
|
||||||
|
.then(data => console.log(data));
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user