Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - abit

Pages: [1] 2 3 4 5 6 7 8 ... 204
中文(Chinese) / Re: 挂单被系统自动撤销是咋回事?
« on: May 24, 2018, 08:21:14 pm »

Request for testnet witness vote @abit

Code: [Select]
get_witness agsexplorer-test
  "id": "1.6.55",
  "witness_account": "1.2.3686",
  "last_aslot": 0,
  "signing_key": "TEST7yYqVQZ3BB31T2P3Cot4M2Eyxo59aMLhrAvKUi54YWBJcpzAdj",
  "vote_id": "1:86",
  "total_votes": 344589004,
  "url": "mr.agsexplorer",
  "total_missed": 0,
  "last_confirmed_block_num": 0

测试账号:necklace-w necklace-t


1.撤单反还手续费币种 √

1.发行人领取成功 √
2.负数领取失败 √
3.超额领取失败 √
4.非发行人领取失败 √

1.转让他人资产失败 √ key转让失败,但提示的是Missing Active Authority,而不是Missing Owner Authority
3.owner key转让成功 √

1.增加债仓失败 √
2.上调抵押率成功 √
3.降低抵押率失败 √

1.爆仓价自动更新 √

1.主动吃爆仓单成交价是喂价/1.1 √


BitAssets' MCR (median collateral ratio) is calculated from price feeds, it can change when feed changes, although rare (according to current use cases in production aka BitShares mainnet).

MCR affects all margin positions. When MCR increased, more short positions will be put into margin call territory; when MCR decreased, more short positions will be pull out of margin call territory.

So, ideally, when MCR changed, all short positions should be reevaluated.

Since the quantity of short positions can be very large, for better performance, a caching mechanism is used in current system, aka "call price". When a short position is created, we calculate its call price with current MCR; when its collateral and/or debt got updated, we update its call price according to current MCR. When median feed price reached call price, the short position is put into margin call territory; when feed price changed backwards, the short position is pull out of margin call territory.

However, in current system, we don't refresh the "call price" cache when MCR changed, that said, existing short positions' call prices can be inconsistent with latest MCR. In the meanwhile, call prices of new positions or updated positions will be always up-to-date as long as MCR didn't change. This may lead to unintended margin calls when MCR decreased, or unintended inability to call when MCR increased.

By the way, BSIP31 partially solved the cache refreshing issue: before BSIP31, when a short position is partially called or settled, its call price won't be updated; after BSIP31, it will.

Another related feature is BSIP38, using "target_collateral_ratio" option will effectively avoid unintended margin calls, somewhat of double insurance. However, if a borrower is not using "target_collateral_ratio" option, her position can be called unintendedly after MCR decreased.

Now come back to the MCR topic.

To solve the cache inconsistency issue, we have options:

1. totally drop the caching mechanism, calculate call prices on the fly (may impact order matching performance)

2. update "call price" cache immediately when MCR changed (may impact performance since possibly need to update lots of data at a time)

3. update "call price" cache at maintenance interval since maintenance interval is meant to be used to process mass calculation

With the 3rd approach,

3.1 if we don't change MCR update behavior, aka update "current effective" MCR directly when feed changed, then the call price cache will be still inconsistent before maintenance interval;

3.2 we can defer MCR update to maintenance interval, that said, when detected a MCR change due to feed change or asset option e.g. feed lifetime change, don't apply the MCR update immediately, but apply it in next maintenance interval. With this approach, the call price data will be always consistent to "current effective" MCR.
  * pros: data consistency
  * cons: probably poorer user experience (UX), since users (usually asset issuers and feed producers) need to wait when wanted to update MCR.

I recommend the 3.2 approach: defer MCR update to maintenance interval, update call price cache every time after MCR updated.


I am going to push two proposals:

1\ Set up a bounty in the whole community, to improve the API capability of a single node. The best improvement win the prize,and the code can be merged into the mainnet.

2\ Improve the voting system by adding decay factor for voting. For example, the votes will expire unless updating their votes every month/year...

Anyway, the above is just simple thought, more details will be added gradually, and welcome any kind of discussion.

I would like to suggest setup a bounty for developers who built DAPP based on BTS. You may even conduct a contest to encourage developers to built different DAPP just like what Stellar did.

This is a good idea.

Technical Support / Re: how to see my metablockchain url
« on: May 21, 2018, 05:56:39 pm »
i love the forum, many experts ans me lot but i come agin with some issue if anybody help me,

** My topic ***

According to my previous post guideline from experts, i have run the private testnet here : , can anyone  tell me how to find the METABLOCK link ? where i can see meta block with no transactions ? where is the  meta block proper link ? actually i wanted below thing : META 1 COIN created using the BITSHARES block chain. I want to call the new block chain METABLOCK


1. The screenshot is not from a private testnet, but is the public BitShares network.

2. As I've replied in another thread, you need to explain what do you want clearly.

how to find the METABLOCK link ?
What's "the METABLOCK"?

where i can see meta block with no transactions?
where is the  meta block proper link ?
What's "meta block" again? What's your definition of "transactions"?

actually i wanted below thing : META 1 COIN created using the BITSHARES block chain. I want to call the new block chain METABLOCK
Try this (to see if it's what you want, it's just for testing, so don't hesitate to do so):
* Goto, register an account
* Click the right top "hamburg" icon, click "assets", in the new page, click "create asset", input "METABLOCK", click "create asset".
* Then click "Dashboard", click "activity", you should see "you created the asset METABLOCK".

* Then click the right top "hamburg" icon, click "assets", in the page, click "issue asset", input your account name, input an amount, click "issue asset" button.
* click "Dashboard", click "activity", you should see "you issued xxxx METABLOCK to you".
* click "Dashboard", click "Portfolio", you should see you have some METABLOCK.

Technical Support / Re: integration support and advise
« on: May 21, 2018, 05:41:02 pm »
thanks for the reply guys. i think that's what we need to setup our own DEX and gateway. on DEX we will utilized the bitshares-core and ui. but on the gateway we need to know the how-to on server API
Pehaps check

Did the testnet hard-forked successfully?
Yes. And testing is still going on.

Technical Support / Re: integration support and advise
« on: May 20, 2018, 11:07:35 am »
If I understand correctly,  you want to run your own chain, but have it listed in BitShares?

First thing would be to setup your own testnet. When that works you move into your main chain. For the listing you would need a gateway, like blocktrades.

Team you could talk to? Contact Blockchain Projects BV [email protected]
I guess he wants to start something like OpenLedger.

Please describe your requirements or questions clearly.

What's a "METABLOCK "?
You consistently mentioning "a new block chain". Your running testnet IS a new blockchain. Unless you're asking for "a new asset" or "a new token". Or "a new website hosting the GUI interface for BitShares".

For a testnet, it's unable to get the "meta block with no transactions" via API. It's defined in genesis.json.



@xeroc @sschiessl I got this when trying to create an account:

Account name in the error message is apparently not what I'm trying to register:

As of writing, there are 25 active witnesses in testnet is ready for the hard fork:

abit-test, blckchnd-testnet, clockwork.witness-1, sahkan-bts-testnet, sc-bitshares-testnet, zhaomu-test, witness.zapata,  bangzi-test, crazybit.witness, xeldal-test, roelandp, witness-still, witness.yao.test, thom-witness, freedom-t, sampson-test, test-hiblockchain, migicwallet-witness,fox-20180510,delegate.ihashfury,lafona-testnet,oxarbitrage-test,initX,gdex-witness,necklace-w,bhuz-testnet,rngl4b

Their witness account in mainnet are:

in.abit, blckchnd, clockwork, sahkan-bitshares, sc-ol, delegate-zhaomu, ?, bangzi, crazybit, xeldal, roelandp, witness.still, witness.yao, verbaltech2, delegate.freedom, winex.witness, witness.hiblockchain, magicwallet.witness, fox, delegate.ihashfury, delegate-1.lafona, ?, ?, gdex-witness, xn-delegate,bhuz,rnglab

Among them,
* sc-ol, bangzi have witness accounts in mainnet, but are not active (didn't get voted in);

* witness.zapata, initX(xeroc), oxarbitrage-test(oxarbitrage) don't have an witness account in mainnet.

These active mainnet witnesses don't have an active witness in testnet:

bhuz, rnglab, abc123, xman, openledger-dc, elmato, mr.agsexplorer

Update: bhuz updated.

Update: rnglab had updated earlier


Thanks for your response...
l want to send payments to China or Hong Kong.... please suggest platform should i use which i save and quick. I want to send 40000 USD
I thought you're trying to build a remittance platform or you already own one platform and wanted to integrate crypto currencies (I thought the "commercial use" you mentioned was for the customers on that platform).

If we already have such a platform then all will be fine, and you can use it easily. Unfortunately I guess we don't have it. ( is trying to build one)

We do have MagicWallet( which can be used to send CNY (not USD), but I guess it's only for individual use but not for "commercial use" (E.G. nobody would provide invoice aka "Fa Piao").

So, now you're trying to send payments for yourself, and is USD, and is only 40K, and is for "commercial use". I've mentioned the steps above

Basically, if sender has fiat only and receiver want fiat only, the process is: the sender locally buy certain crypto currency from someone (e.g. you, or an exchange, or other service providers), then send the crypto currency to the receiver, then the receiver locally sell the crypto currency for fiat.

To be safe, firstly I'd recommend that you check with your lawyer and your recipient's lawyer to see if it's legal to do so, and how many legal issues will be involved. Then you can check how much fee/cost would be involved. I guess it doesn't worth the efforts at this stage.

Technical Support / Re: someone please help me
« on: May 18, 2018, 01:07:21 pm »
Looks all normal, just go to MY MARKETS -> BTS -> BRIDGE.BTC to trade against BTS.

there is nowhere that says "markets" on my screen...
Exchange? Or Dashboard?

yes, in order for me to change my bridge.btc to eos, do i need to first exchange bridge.btc > bitshares then > eos?
I mean click the "exchange" menu.
Then "find market" on the right. Then select "BTS" from "quote currency" box, input "BRIDGE.BTC" in "asset name" box.
There is another way now: market picker

Technical Support / Re: remove proxy (me)
« on: May 18, 2018, 12:24:22 pm »
This isn't my real username, it should only demonstrate the problem. I can delete my username but I can't save it. All locks are locked.
Oh, now I understand what did you mean.

Created an issue here:

Pages: [1] 2 3 4 5 6 7 8 ... 204