Hi I am trying to integrate bitshares payment gateway in one of my project. Right now the problem I am facing is that I need the list of smarcoins similar to cryptofresh.com along with holders, price feed, active/inactive and settlement information.
I am currently using:
https://bitshares.openledger.info/ws/
with params:
{"id":2,"method":"list_assets","params":["",100]}
But I am not getting any demarcation for which assests are smartcoins and which are user issued, also I am not getting holders, price feed and etc
And there is also a limit of 100 assets on api call.
I couldnt find any API of cryptofresh.com, all I could find was just this URL:
http://cryptofresh.com/api/cmc
I would appreciate if someone can guide me in the right direction.
Hi madforstrength,
and welcome to the community!
those assets that have a "bitasset_data_id" are bitassets. If you want to know more about the bitasset-aspect (price feed etc) of the asset, you can use
{"id":2,"method":"get_objects","params":[["2.4.21"]]}
As you've noticed there's no easy way to get a full list of assets, or a list of either bitassets/uias. Like xeroc said bit assets will have a "bitasset_data_id", and you can fetch that object to get more information such as feeds. The bitasset_data object also contains a boolean "is_prediction_market" that tells you if it's a binary prediction market or not.
The best way to get all assets is simply to start at "A" fetching 100 assets with:
{"id":2,"method":"list_assets","params":["A",100]}
then fetch 100 more starting from the last one in that set, and repeat until you don't find any more assets.
Hello guyz thankyou so much for your prompt response.
@xeroc I have tried what you mention but I am getting following response:
"id": "2.4.21",
"feeds": [
[
"1.2.167",
[
"2016-01-12T20:01:48",
{
"settlement_price": {
"base": {
"amount": 16,
"asset_id": "1.3.121"
},
"quote": {
"amount": 51551,
"asset_id": "1.3.0"
}
},
"maintenance_collateral_ratio": 1750,
"maximum_short_squeeze_ratio": 1100,
"core_exchange_rate": {
"base": {
"amount": 16,
"asset_id": "1.3.121"
},
"quote": {
"amount": 48973,
"asset_id": "1.3.0"
}
}
}
]
],Which only has one asset 1.3.121 and it does not contain any "bitasset_data_id". Am I missing something?
Thanks in advance, Really appreciate your help
@svk Thanks for your response,
Well the method you are saying is quite tedious but practical, I will have it as last resort.
I can fetch the list of smartcoins by filtering on assets having "bitasset_data_id" but I still do not get the Holders and active/inactive status of asset.
Would appreciate if you can help me in this regard.
I think the current witness/wallet api does not have a call to show the holders of a particular asset but it will hopefully have something like this in the future ... cryptofresh has its own backend database to do that kind of think
There's one other endpoint on cryptofresh that might help: http://cryptofresh.com/api/holders?asset=OPENMUSE (it shows only balance, not orders/collateral)
When it comes to active/inactive.. I split the assets based on their 'current_supply': 0 means inactive, greater than 0 means active.
Hi guys,
Thanks a lot to all of you for your help.
I have created a recursive function to get the list of all assets (as mentioned by
@svk )
Then I filtered the assets in to smartcoins and userIssuedAssets by checking if they contain "bitasset_data_id" and their issuer is "1.2.0" (as mentioned by
@xeroc )
After that I fetched number of holders of each asset from http://cryptofresh.com/api/holders?asset=OPENMUSE (as mentioned by
@roadscape )
I got around 15 smartcoins having holders>0 and 45 userIssuedAssets having holders>3. This is perfectly fine.
Now to remove settled assets from this list I am fetching objects using "bitasset_data_id" and checking if the "settlement_fund" > 0 then the asset is settled. is it ok?
Quote from: madforstrength on January 20, 2016, 06:58:59 AM
Hi guys,
Thanks a lot to all of you for your help.
I have created a recursive function to get the list of all assets (as mentioned by @svk )
Then I filtered the assets in to smartcoins and userIssuedAssets by checking if they contain "bitasset_data_id" and their issuer is "1.2.0" (as mentioned by @xeroc )
After that I fetched number of holders of each asset from http://cryptofresh.com/api/holders?asset=OPENMUSE (as mentioned by @roadscape )
I got around 15 smartcoins having holders>0 and 45 userIssuedAssets having holders>3. This is perfectly fine.
Now to remove settled assets from this list I am fetching objects using "bitasset_data_id" and checking if the "settlement_fund" > 0 then the asset is settled. is it ok?
You may have filtered out TCNY and TUSD, which are private smart coins.
@abit yes I am doing it deliberately.