verymuchso
Sr. Member
Offline
Activity: 421
Merit: 250
HEAT Ledger
|
|
December 01, 2017, 10:18:06 AM |
|
The reason we needed the hard fork so badly was because of a bug.
It turned out through a not so obvious coding error that when you'd send HEAT to yourself it would incorrectly affect your forging stake. Not your spendable balance, only the amount of stake considered by the protocol.
What went wrong was that where a transaction comes in and is first processed two objects where instantiated, one for the sender account and one for the recipient account. These objects are passed on to lower level operations where depending on the transaction types these account objects are updated and these updates are recorded to a versioning mechanism.
What happened was that when the objects where first created some initial balance info was kept in object memory and when we first saved the sender object and later the recipient object, it turned out that updates to the first where not available to the second.
Solution was to check if sender and recipient are equal and simply instantiate a single object.
The fork was kindof difficult since we could not foresee if anyone would trigger this in between us releasing the update and the fork height. To deal with this at the fork height we had to make a scan of the blockchain (which luckily can do that in about a second) to search for offending transactions and correct the account stake for those accounts.
All in all the effect has been that just some of these payments have occurred and always with low amounts, the single large transfer was reported to us and we did the fork within the week.
-------------
Apart from this work has been progressing on finalizing the microservices, lets call it version 2. The main difference being that the usage has been greatly simplified, the api as published in heat-dev-kit will remain the same for the most part but some of the more difficult aspects are handled by the heat platform now and dont need any work on the part of the microservice author.
Its hard to describe this in a few words, but I'll try anyway..
Because of the nature of a decentralized consensus network, basically being decentralized, it can happen that the order of transactions differ at different points in the network. Since microservices are invoked through transactions a microservice had to be aware of this fact. Another aspect of a blockchain is that blocks get generated and accepted at some point, while at a later moment a better block could come along which required the old one to be undone and the new one to be applied, this also had to be handled by your microservice.
These two things are handled now by a transaction cache solution which is at the heat core, this cache ensures transactions are reported to your microservice only once and in case the order of transactions changes only the transaction that has shifted position is reported to your microservice.
The cache is also persisted to disk so that when you redownload the blockchain or rescan it, your microservices are not invoked again.
Off to slush now for the second day in a snowy Helsinki.
|
|
|
|
Jiddu
Sr. Member
Offline
Activity: 390
Merit: 250
into the clusterfuck
|
|
December 01, 2017, 04:35:40 PM |
|
Respect to the team for coping with seemingly complex technical stuff and also explaining it.
It looks like HEAT is getting more and more into shape recently.
|
|
|
|
VonGraff
Newbie
Offline
Activity: 21
Merit: 0
|
|
December 01, 2017, 05:03:39 PM |
|
Thanks for the updates, HEAT is indeed running very stable here!
Looking forward to whatever might come out of the Slush connections!
|
|
|
|
|
Spizike
Newbie
Offline
Activity: 2
Merit: 0
|
|
December 02, 2017, 12:15:42 AM |
|
Hey all!
Could someone advise with the below?
I cancelled a buy order for BTC-Bismuth on the Heat Ledger exchange about 6 hours ago.
The buy order has been "crossed out" but the BTC has not yet become available in my BTC wallet.
Under my transactions, the order is still processing ("..." under the "height column")
When I cancelled a buy order previously it was instantaneous.
Strange that it's taking so long for the cancellation to come through... has anyone else run into this issue?
Thank you!
Spizike
|
|
|
|
spendawgs
|
|
December 02, 2017, 09:32:30 AM |
|
HEAT seems to be a highly profitable coin to mine... does anyone know of other coins like this? ive honestly never come across a coin link HEAT when it comes to mining. im not interested in mining other coins, id rather put my funds into HEAT to increase my rewards. just wondering how rare an opportunity like this is.
i absolutely cannot believe how much i am making through mining, it feels too good to be true.
|
Woof woof!!
|
|
|
rail2007
Member
Offline
Activity: 74
Merit: 10
|
|
December 02, 2017, 10:24:00 AM |
|
the wallet does not work.
|
|
|
|
Eliphaz Fimk (OP)
|
|
December 02, 2017, 12:17:14 PM |
|
Unconfirmed transactions on the wallet that don't go through to blocks due to a race condition etc. should be timed out within 24 hours from initiation. We're investigating whether the current circumstances of unconfirmed lingering around is a coincidence (unlikely) or something else that needs more attention. Valid transactions not related to the unaccepted ones are propagated fine, but of course almost nobody dares to put in any orders under the current state of things on the exchange easily looking worse than it is.
|
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ▌ ████ ████ ████████████ █████ ████████████████ ▐ ▌ ████ ████ ████████████ █████ ████████████████ ▐ ▌ ████ ████ ████ ████ ████ ████ ▐ ▌ ██████████████ ████████████ ████ ████ ████ ▐ ▌ ██████████████ ████████████ ████ ████ ████ ▐ ▌ ████ ████ ████ █████████████ ████ ▐ ▌ ████ ████ ████████████ █████████████████ ████ ▐ ▌ ████ ████ ████████████ ████ ████ ████ ▐ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ██ ██████ ██████ ██████ ██████ ██████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ██ ▄▄▄ ██████ ██████ ██ ██ ██ ██ ██ ▀▀██ ██ ██ ██ ██████ ██████ ██████ ██████ ██████ ██ ██
| | | ▒ ▒ ▒ | | | | ▒ ▒ ▒ | | | | ▒ ▒ ▒ | | | |
|
|
|
Karl_Marx
|
|
December 02, 2017, 01:02:42 PM |
|
117 USD - 24hr Volume.
As long as this coin is not on a big exchange like Bittrex and Binance, none is gonna care about the tech you are developing...................................
|
|
|
|
johny08
Legendary
Offline
Activity: 1045
Merit: 1000
|
|
December 02, 2017, 01:31:27 PM |
|
Respect to the team for coping with seemingly complex technical stuff and also explaining it.
It looks like HEAT is getting more and more into shape recently.
since ever its executed nicely.
|
|
|
|
PGPpfKkx
|
|
December 02, 2017, 08:10:16 PM |
|
https://heatwallet.com/api/#!/Tools/encode Can't read from server. It may not have the appropriate access-control-origin settings. hallmark creation doesn't work
|
|
|
|
verymuchso
Sr. Member
Offline
Activity: 421
Merit: 250
HEAT Ledger
|
|
December 02, 2017, 09:09:16 PM |
|
We are sorry for the inconvenience but the most recent hard fork introduced a bug which is now fixed. This means https://heatwallet.com/#/explorer is back in business and fully functional. We will be releasing a new server, version 2.2.0 which is a mandatory update. The release of the new server version is expected in 1 hour to be precise at 23.00 CET. We will update you here with the download location. Desktop versions with the new 2.2.0 version embedded will follow at a later time. We are currently running 2.2.0 on the company servers and are mining blocks initially with a company account, we will donate the forger rewards to a goal to be decided upon with the community. When enough forgers are mining blocks again on version 2.2.0 we will stop mining blocks with the company account.
|
|
|
|
verymuchso
Sr. Member
Offline
Activity: 421
Merit: 250
HEAT Ledger
|
|
December 02, 2017, 09:59:47 PM |
|
Heatledger 2.2.0This is a mandatory update, all nodes on the network need to run this version or higher. Nodes below 2.1.0 will automatically be blacklisted with this version. UPGRADE INSTRUCTIONS [upgrade only, new installations can ignore]This version will perform a full rescan of the blockchain upon first use, this happens automatically. API DocumentationPlease look here for API docs https://heatwallet.com/apiList of updates/fixes/features.- fixes bug involving the last hard fork and the way expired orders are handled Download here:https://github.com/Heat-Ledger-Ltd/heatledger/releases/tag/v2.2.0
|
|
|
|
verymuchso
Sr. Member
Offline
Activity: 421
Merit: 250
HEAT Ledger
|
|
December 02, 2017, 10:37:18 PM |
|
Respect to the team for coping with seemingly complex technical stuff and also explaining it.
It looks like HEAT is getting more and more into shape recently.
since ever its executed nicely. Thanks! Much appreciated.
|
|
|
|
Spizike
Newbie
Offline
Activity: 2
Merit: 0
|
|
December 03, 2017, 03:59:52 AM |
|
Unconfirmed transactions on the wallet that don't go through to blocks due to a race condition etc. should be timed out within 24 hours from initiation. We're investigating whether the current circumstances of unconfirmed lingering around is a coincidence (unlikely) or something else that needs more attention. Valid transactions not related to the unaccepted ones are propagated fine, but of course almost nobody dares to put in any orders under the current state of things on the exchange easily looking worse than it is.
cool. thanks for the info. just a small update: my buy order cancellation on heatwallet was stuck for about 24 hours. finally timed out last night. i tried to cancel the buy order again and it processed almost right away. wallet/exchange seems to be flowing fine for me at the moment.
|
|
|
|
spendawgs
|
|
December 03, 2017, 06:01:43 AM |
|
Heatledger 2.2.0This is a mandatory update, all nodes on the network need to run this version or higher. Nodes below 2.1.0 will automatically be blacklisted with this version. UPGRADE INSTRUCTIONS [upgrade only, new installations can ignore]This version will perform a full rescan of the blockchain upon first use, this happens automatically. API DocumentationPlease look here for API docs https://heatwallet.com/apiList of updates/fixes/features.- fixes bug involving the last hard fork and the way expired orders are handled Download here:https://github.com/Heat-Ledger-Ltd/heatledger/releases/tag/v2.2.0 Downloading the update didnt allow me to forge again. So i deleted the lot and want to start a new installation.. but, its gone from the github page. its only updates there now. please tell me im missing something lol
|
Woof woof!!
|
|
|
spendawgs
|
|
December 03, 2017, 06:18:57 AM |
|
I have looked everywhere. Literally cannot find a place to download the HEAT server. only update.....
|
Woof woof!!
|
|
|
aziernest
|
|
December 03, 2017, 07:20:12 AM |
|
{"errorDescription":"Unknown account","errorCode":3} can anyone tell me when does this error occur and what it means and finally how to resolve it ?
it's happening when issuing start/mining [ forging ] command.
|
|
|
|
aziernest
|
|
December 03, 2017, 09:17:48 AM |
|
I am constantly receiving following error messages, tried downloading whole blockchain from scratch, still no success
2017-12-03 09:16:59 [pool-4-thread-5] DEBUG c.heatledger.BlockchainProcessorImpl - Error in blockchain download thread com.heatledger.Account$DoubleSpendingException: Unconfirmed (19293801) exceeds confirmed (19293800) balance or quantity for account 17666931908104930056 at com.heatledger.Account.checkBalance(Account.java:662) at com.heatledger.Account.access$000(Account.java:43) at com.heatledger.Account$AccountAsset.save(Account.java:139) at com.heatledger.Account$AccountAsset.access$1000(Account.java:100) at com.heatledger.Account.addToUnconfirmedAssetBalance(Account.java:590) at com.heatledger.Order.removeExpiredOrders(Order.java:266) at com.heatledger.BlockchainProcessorImpl.accept(BlockchainProcessorImpl.java:954) at com.heatledger.BlockchainProcessorImpl.pushBlock(BlockchainProcessorImpl.java:902) at com.heatledger.BlockchainProcessorImpl$1.downloadBlockchain(BlockchainProcessorImpl.java:382) at com.heatledger.BlockchainProcessorImpl$1.run(BlockchainProcessorImpl.java:219) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)
|
|
|
|
spendawgs
|
|
December 03, 2017, 11:11:06 AM |
|
I am constantly receiving following error messages, tried downloading whole blockchain from scratch, still no success
2017-12-03 09:16:59 [pool-4-thread-5] DEBUG c.heatledger.BlockchainProcessorImpl - Error in blockchain download thread com.heatledger.Account$DoubleSpendingException: Unconfirmed (19293801) exceeds confirmed (19293800) balance or quantity for account 17666931908104930056 at com.heatledger.Account.checkBalance(Account.java:662) at com.heatledger.Account.access$000(Account.java:43) at com.heatledger.Account$AccountAsset.save(Account.java:139) at com.heatledger.Account$AccountAsset.access$1000(Account.java:100) at com.heatledger.Account.addToUnconfirmedAssetBalance(Account.java:590) at com.heatledger.Order.removeExpiredOrders(Order.java:266) at com.heatledger.BlockchainProcessorImpl.accept(BlockchainProcessorImpl.java:954) at com.heatledger.BlockchainProcessorImpl.pushBlock(BlockchainProcessorImpl.java:902) at com.heatledger.BlockchainProcessorImpl$1.downloadBlockchain(BlockchainProcessorImpl.java:382) at com.heatledger.BlockchainProcessorImpl$1.run(BlockchainProcessorImpl.java:219) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)
upgrade ur version bro.
|
Woof woof!!
|
|
|
|