etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
|
August 16, 2013, 06:20:31 AM |
|
For anyone waiting patiently (or impatiently) for the updates, here's some good news for you: ...
[----------] 7 tests from BlockUtilsTest [ RUN ] BlockUtilsTest.StoredScriptHistUpd [ OK ] BlockUtilsTest.StoredScriptHistUpd (281 ms) [ RUN ] BlockUtilsTest.HeadersOnly [ OK ] BlockUtilsTest.HeadersOnly (280 ms) [ RUN ] BlockUtilsTest.HeadersOnly_Reorg [ OK ] BlockUtilsTest.HeadersOnly_Reorg (367 ms) [ RUN ] BlockUtilsTest.Load5Blocks [ OK ] BlockUtilsTest.Load5Blocks (603 ms) [ RUN ] BlockUtilsTest.Load4BlocksPlus1 [ OK ] BlockUtilsTest.Load4BlocksPlus1 (545 ms) [ RUN ] BlockUtilsTest.Load5Blocks_Plus2NoReorg [ OK ] BlockUtilsTest.Load5Blocks_Plus2NoReorg (707 ms) [ RUN ] BlockUtilsTest.Load5Blocks_3BlkReorg [ OK ] BlockUtilsTest.Load5Blocks_3BlkReorg (612 ms) [----------] 7 tests from BlockUtilsTest (3395 ms total)
...
[----------] Global test environment tear-down [==========] 123 tests from 10 test cases ran. (6361 ms total) [ PASSED ] 123 tests.
That's a major milestone for the new "persistent blockchain" stuff. It means that the DB successfully tracks all balances, even across reorgs. Given how little the blockchain utilities interface has changed, integrating this into the GUI may not be ridiculously difficult. Though, I won't put a timeline on it because I've been wrong so many times before...
|
|
|
|
solex
Legendary
Offline
Activity: 1078
Merit: 1006
100 satoshis -> ISO code
|
|
August 16, 2013, 06:25:34 AM |
|
Fantastic! Very happy to see results like that - especially measured in msecs
|
|
|
|
cp1
|
|
August 16, 2013, 04:31:06 PM |
|
Great! It'll be a big help to offline use if I can restart my computer and load up Armory quickly.
|
|
|
|
etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
|
August 16, 2013, 05:15:23 PM |
|
Fantastic! Very happy to see results like that - especially measured in msecs I should mention that the timings are artificially inflated due to the fact that it destroys and rebuilds a testing database on every test. This means there's quite a bit of hard disk I/O involved in just the SetUp and TearDown procedures, and executing a small batch of writes comes with huge overhead. It will not take 0.6 seconds to add 5 blocks to the DB when doing a full database build... With re-org handling implemented, I will start benchmarking DB building on much larger data sets (more than 5 blocks). And then I'll see what has to change to hook this up to the GUI. The upside is that nearly all the interfaces are the same, so the GUI probably won't see much change (other than not having to wait for startup and importing wallets). The downside is that some stuff did change: I added C++ support for compressed keys, multi-sig and P2SH. This means I need a translation layer for the old wallets to work right until the new wallet format is complete. But yeah... progress...
|
|
|
|
CoinBomb
|
|
August 24, 2013, 02:32:26 PM |
|
We've just started integrating armory / armoryd into our new site (for offline cold storage stuff) - is there some reference code for broadcasting a newly signed transaction? (or converting it into standard bitcoind format and then we can broadcast from there)
also - how come the github code hasnt been updated for a while - there are loads of small fixes that could have been merged - do you have a private dev branch that you work from instead?
|
Promote our site for no risk BTC / LTC profit! 1% gross profit, LTC/BTC payments weekly. Click through for more details.
|
|
|
etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
|
August 24, 2013, 02:42:49 PM |
|
We've just started integrating armory / armoryd into our new site (for offline cold storage stuff) - is there some reference code for broadcasting a newly signed transaction? (or converting it into standard bitcoind format and then we can broadcast from there)
also - how come the github code hasnt been updated for a while - there are loads of small fixes that could have been merged - do you have a private dev branch that you work from instead?
There is a "Copy Raw Tx (Hex)" button on the "Sign and/or Broadcast Offline Transaction" window. You could look for that button in the python code and copy what it's doing. I'd look it up for you, but I'm on my phone. I believe that you have a "TxDP" object which represents the signed transaction, and you do something like "txdp.prepareFinalTx()". That should give you a raw binary transaction in the form that all other nodes on the network recognize. On that same window is the "Broadcast" button which also should lead you to how I implement broadcasting to the connected bitcoind/-qt instance. If you already have a running instance of Armory, it should be easy (because it's already connected), but it may take some work if you're writing an isolated script. I have been working in the "ramreduceleveldb" branch for the past couple months. I've been heavily distracted, so progress hasn't been as voluminous as I'd hoped, but progress is being made (see a few posts up about the most recent unit tests I passed). I ran into issues with the new DB stuff being bottlenecked by SatoshiDice addresses and 1VayNert, but I should have the updates for that soon and then will start integrating the new DB stuff into the python layer. For reference, this first version will use a lot of HDD space -- probably 1.7X the blk*.dat files -- but will provide instantaneous arbitrary address lookup (balances and UTXO sets). This was the easiest to implement, and when this is done I'll be in a good position to implement much lighter variants.
|
|
|
|
etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
|
August 27, 2013, 02:39:38 PM |
|
|
|
|
|
dc81
Member
Offline
Activity: 108
Merit: 100
|
|
August 28, 2013, 05:44:15 PM |
|
@etotheipi: can the view on blockchain.info option go to the https site rather than http
|
|
|
|
Deth
|
|
August 28, 2013, 06:53:31 PM |
|
etotheipi, what about this "non-US" bugs, random crashes on my Linux is very annoying: A lot of users have reported problems with the latest version (0.88.1). Many things changed in the last upgrade that caused compatibility issues for many users, especially non-US users. I think that made Armory almost unusable for me, sometimes Armory can`t even process blockchain before it crashes
|
|
|
|
justusranvier
Legendary
Offline
Activity: 1400
Merit: 1013
|
|
August 28, 2013, 11:24:24 PM |
|
etotheipi, what about this "non-US" bugs, random crashes on my Linux is very annoying: A lot of users have reported problems with the latest version (0.88.1). Many things changed in the last upgrade that caused compatibility issues for many users, especially non-US users. I think that made Armory almost unusable for me, sometimes Armory can`t even process blockchain before it crashes It's extremely annoying, but I've never had it crash that soon.
|
|
|
|
Deth
|
|
August 29, 2013, 12:34:17 AM |
|
It is getting worse with time unfortunately, the last time this crash-before-initialize was right after other crash, when I needed access to my bitcoins asap Maybe it is unrelated to unicode bugs...BTW, i had log full of this messages 2013-08-28 18:20 (ERROR) -- ArmoryQt.py:4294 - Error in checkSatoshiVersion Traceback (most recent call last): File "/opt/BitcoinArmory/ArmoryQt.py", line 4248, in checkSatoshiVersion not 'SATOSHI' in self.latestVer or \ AttributeError: 'ArmoryMainWindow' object has no attribute 'latestVer'
Tens of these messages by second...
|
|
|
|
chrisrico
|
|
August 29, 2013, 03:07:48 AM |
|
It is getting worse with time unfortunately, the last time this crash-before-initialize was right after other crash, when I needed access to my bitcoins asap Maybe it is unrelated to unicode bugs...BTW, i had log full of this messages 2013-08-28 18:20 (ERROR) -- ArmoryQt.py:4294 - Error in checkSatoshiVersion Traceback (most recent call last): File "/opt/BitcoinArmory/ArmoryQt.py", line 4248, in checkSatoshiVersion not 'SATOSHI' in self.latestVer or \ AttributeError: 'ArmoryMainWindow' object has no attribute 'latestVer'
Tens of these messages by second... Did you try completely reinstalling? That doesn't seem like a text encoding issue.
|
|
|
|
etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
|
August 29, 2013, 03:45:42 AM |
|
BTW, i had log full of this messages 2013-08-28 18:20 (ERROR) -- ArmoryQt.py:4294 - Error in checkSatoshiVersion Traceback (most recent call last): File "/opt/BitcoinArmory/ArmoryQt.py", line 4248, in checkSatoshiVersion not 'SATOSHI' in self.latestVer or \ AttributeError: 'ArmoryMainWindow' object has no attribute 'latestVer'
Tens of these messages by second... That turned out to be a bug that made it's way into the released version, but doesn't affect performance or functionality at all. It should be fixed in the testing version, and will not be there for the next version ... but the worst thing it does is make the logs harder to access/read. It's unrelated to the crashing.
Just to keep things consistent, there was a reddit post asking if Armory was dead. Here's my response: Yeah, things have been slow. Lots of distractions, but still lots of development. We're actually about to replace the entire webpage with something much slicker and prettier. That should give a good indication that things are still moving forward! As quantabytes pointed out, all development has been happening on a separate branch, which doesn't update the main github page. The changes are basically a complete overhaul of the underlying blockchain utilities, but I'm doing so to benefit about 30 different functionalities I want to implement in the future. Things like compressed keys, multi-sig, P2SH, arbitrary scripts, arbitrary balance lookup, and a [better] daemon mode. Those will all be much easier to implement when I finally finish this upgrade! You can follow the Armory thread on bitcointalk as Kupsi linked. I tend to post updates there on my progress. I actually posted a breakthrough last week about passing some really rigorous unit-tests, but then later found out that SatoshiDice crushed the new design, due to some misdirected optimizations in the first round. This second round should be complete in the next couple days, and I can start integrating the new stuff into the GUI.
|
|
|
|
justusranvier
Legendary
Offline
Activity: 1400
Merit: 1013
|
|
August 29, 2013, 07:05:52 PM |
|
Sometimes Coinbase forgets (apparently) to broadcast a transaction, even though it shows up in their own blockchain browser. It will show you the transaction in binary or json formats. Anyone know how to convert one of those formats into something that can be pasted into the Armory offline transactions window and broadcast? Here's a random example: https://coinbase.com/network/transactions/b7697479993e54eb6594d607904e3a9c65692124f9b9bcba5a16bb5affe173fcI opened the binary file in Okteta (hex editor) and tried copying it to the clipboard as a variety of formats, but none of them worked.
|
|
|
|
etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
|
August 29, 2013, 07:17:21 PM |
|
Sometimes Coinbase forgets (apparently) to broadcast a transaction, even though it shows up in their own blockchain browser. It will show you the transaction in binary or json formats. Anyone know how to convert one of those formats into something that can be pasted into the Armory offline transactions window and broadcast? Here's a random example: https://coinbase.com/network/transactions/b7697479993e54eb6594d607904e3a9c65692124f9b9bcba5a16bb5affe173fcI opened the binary file in Okteta (hex editor) and tried copying it to the clipboard as a variety of formats, but none of them worked. I never got around to implementing that, because I wanted the user to be able to examine the transaction before they click broadcast, but a raw transaction doesn't have all the info it needs (refer to SIGHASH_WITHINPUTVALUE discussion). I probably should've put something in there anyway with a warning, but I never got around to it. I suggest using https://blockchain.info/pushtx
|
|
|
|
justusranvier
Legendary
Offline
Activity: 1400
Merit: 1013
|
|
August 29, 2013, 07:18:46 PM |
|
Doesn't work there either. There's something about their binary format that no other tool seems to like.
|
|
|
|
etotheipi (OP)
Legendary
Offline
Activity: 1428
Merit: 1093
Core Armory Developer
|
|
August 29, 2013, 07:24:32 PM |
|
Doesn't work there either. If you want to examine the tx directly, you can load the tx into armoryengine and do something like this: from armoryengine import *
rawHex = '<copy raw tx here>' tx = PyTx().unserialize( hex_to_binary(rawHex) ) tx.pprint()
print prettyHex(rawHex)
You'll get a higher-level overview of what's in the tx from the first pprint command, and then a hex breakout of the raw tx from the second command (if you feel like digging into the raw tx bytemap). It's not pleasant, but if broadcasting is failing, it's probably invalid and you need to figure out why.
|
|
|
|
Lavender
Newbie
Offline
Activity: 37
Merit: 0
|
|
August 30, 2013, 08:26:40 PM |
|
N00b here. Search was unsuccessful. Is there a way to view the number of connections when using Armory, like is possible with Bitcoin-Qt? https://i.imgur.com/rriitmg.png
|
|
|
|
cp1
|
|
August 30, 2013, 08:31:56 PM |
|
Armory uses bitcoin-qt, so it's the same number.
|
|
|
|
Lavender
Newbie
Offline
Activity: 37
Merit: 0
|
|
August 30, 2013, 08:34:53 PM Last edit: August 30, 2013, 09:00:06 PM by Lavender |
|
Armory uses bitcoin-qt, so it's the same number.
Yes, but when I open armory, I don't have a GUI loaded of bitcoin-qt. Can I view the number of connections from the Armory GUI? If not, what is the recommended way to I launch Bitcoin-Qt's GUI without opening a 2nd instance? EDIT: This is what I see when I try to open Bitcoin-Qt while Armory is already running: https://i.imgur.com/d67vTQx.png
|
|
|
|
|