Kicking the Hornet's Nest - part 7
# Kicking the Hornet's Nest - third edition - part 7
All links, digital (pdf, txt, docx, md) and book in print, can be found at https://hive.blog/@crrdlx/satoshi
Edited by [crrdlx](@crrdlx), npub:
```
npub1qpdufhjpel94srm3ett2azgf49m9dp3n5nm2j0rt0l2mlmc3ux3qza082j
```
### Kicking the Hornet's Nest pages 125 - 150
Martii Malmi (AKA Sirius) “COPA trial” email #5
Date: Mon, 04 May 2009 16:51:00 +0100
From: Satoshi Nakamoto <satoshin@gmx.com>
Subject: Re: Bitcoin
To: mmalmi@cc.hut.fi
Oh crap, I got your sourceforge usernames mixed up, sorry about that. I
clicked on the wrong e-mail when I was looking for your username. You
now have access.
Your FAQ looks good so far!
You can create whatever you want on bitcoin.sourceforge.net. Something
to get new users up to speed on what Bitcoin is and how to use it and
why, and clean and professional looking would help make it look well
established. The site at bitcoin.org was designed in a more
professorial style when I was presenting the design paper on the
Cryptography list, but we're moving on from that phase.
You should probably change the part about "distribute them under several
keys". When the paper says that it means for the software to do it, and
it does. For privacy reasons, the software already uses a different key
for every transaction, so every piece of money in your wallet is already
on a different key. The exception is when using a bitcoin address,
everything sent to the same bitcoin address is on the same key, which is
a privacy risk if you're trying to be anonymous. The EC-DSA key size is
very strong (sized for the future), we don't practically have to worry
about a key getting broken, but if we did there's the advantage that
someone expending the massive computing resources would only break one
single transaction's worth of money, not someone's whole account. The
details about how to backup your wallet files is in the Q&A dump and
also it's explained in readme.txt and definitely belongs in the FAQ.
Oh I see, you're trying to address byronm's concern on freedomainradio.
I see what you mean about the password feature being useful to address
that argument. Banks let anyone who has your name and account number
drain your account, and you're not going to get it back from Nigeria.
If someone installs a keylogger on your computer, they could just as
easily get your bank password and transfer money out of your account.
Once we password encrypt the wallet, we'll be able to make a clearer
case that we're much more secure than banks. We use strong encryption,
while banks still let anyone who has your account info draw money from
your account.
mmalmi@cc.hut.fi wrote:
> Quoting Satoshi Nakamoto <satoshin@gmx.com>:
>
>> That would be great! I added you (dmp1ce) as a dev to the sourceforge
>> project and gave you access to edit the web space and everything.
>
> Oh, that's not me but another guy who wanted to help. I've seen him on
> the Freedomain Radio forum. My name is Martti Malmi and my Sourceforge
> account is sirius-m. No problem!
>
> Thanks for your answered questions, I'll add them to the faq. Here's
> what I've done so far:
>
> ** Bitcoin FAQ **
>
> General Questions
>
> 1 What is bitcoin?
>
> Bitcoin is a peer-to-peer network based anonymous digital
> currency. Peer-to-peer (P2P) means that there is no central
> authority to issue new money or to keep track of the
> transactions. Instead, those tasks are managed collectively by
> the nodes of the network. Anonymity means that the real world
> identity of the parties of a transaction can be kept hidden from
> the public or even from the parties themselves.
>
> 2 How does bitcoin work?
>
> Bitcoin utilizes public/private key cryptography. When a coin is
> transfered from user A to user B, A adds B's public key to the
> coin and signs it with his own private key. Now B owns the coin
> and can transfer it further. To prevent A from transfering the
> already used coin to another user C, a public list of all the
> previous transactions is collectively maintained by the network
> of bitcoin nodes, and before each transaction the coin's
> unusedness will be checked.
>
> For details, see chapter Advanced Questions.
>
> 3 What is bitcoin's value backed by?
>
> Bitcoin is valued for the things it can be exchanged to, just
> like all the traditional paper currencies are.
>
> When the first user publicly announces that he will make a pizza
> for anyone who gives him a hundred bitcoins, then he can use
> bitcoins as payment to some extent - as much as people want pizza
> and trust his announcement. A pizza-eating hairdresser who trusts
> him as a friend might then announce that she starts accepting
> bitcoins as payment for fancy haircuts, and the value of the
> bitcoin would be higher - now you could buy pizzas and haircuts
> with them. When bitcoins have become accepted widely enough, he
> could retire from his pizza business and still be able to use his
> bitcoin-savings.
>
> 4 How are new bitcoins created?
>
> New coins are generated by a network node each time it finds the
> solution to a certain calculational problem. In the first 4 years
> of the bitcoin network, amount X of coins will be created. The
> amount is halved each 4 years, so it will be X/2 after 4 years,
> X/4 after 8 years and so on. Thus the total number of coins will
> approach 2X.
>
> 5 Is bitcoin safe?
>
> Yes, as long as you make backups of your coin keys, protect them
> with strong passwords and keep keyloggers away from your
> computer. If you lose your key or if some unknown attacker
> manages to unlock it, there's no way to get your coins back. If
> you have a large amount of coins, it is recommended to distribute
> them under several keys. You propably wouldn't either keep all
> your dollars or euros as paper in a single wallet and leave it
> unguarded.
>
> 6 Why should I use bitcoin?
>
> • Transfer money easily through the internet, without having to
> trust third parties.
>
> • Third parties can't prevent or control your transactions.
>
> • Be safe from the unfair monetary policies of the monopolistic
> central banks and the other risks of centralized power over a
> money supply. The limited inflation of the bitcoin system's
> money supply is distributed evenly (by CPU power) throughout
> the network, not monopolized to a banking elite.
>
> • Bitcoin's value is likely to increase as the growth of the
> bitcoin economy exceeds the inflation rate - consider bitcoin
> an investment and start running a node today!
>
> 7 Where can I get bitcoins?
>
> Find a bitcoin owner and sell her something - MMORPG equipement,
> IT support, lawn mowing, dollars or whatever you can trade with
> her. You can also generate new bitcoins for yourself by running a
> bitcoin network node.
>
Martii Malmi (AKA Sirius) “COPA trial” email #8
Date: Tue, 05 May 2009 18:39:44 +0100
From: Satoshi Nakamoto <satoshin@gmx.com>
Subject: Re: Bitcoin
To: mmalmi@cc.hut.fi
mmalmi@cc.hut.fi wrote:
>> You can create whatever you want on bitcoin.sourceforge.net. Something
>> to get new users up to speed on what Bitcoin is and how to use it and
>> why, and clean and professional looking would help make it look well
>> established. The site at bitcoin.org was designed in a more
>> professorial style when I was presenting the design paper on the
>> Cryptography list, but we're moving on from that phase.
>
> Ok. Could you set the project MySQL database passwords so that I can set
> up a CMS on the site? I was thinking about WordPress, as it seems simple
> and well maintained. I need a password for the read/write account and
> one database (or the database admin pass to create it myself). This can
> be done somewhere in the project admin pages, I think.
They have Wordpress built in, you might not need to set up any database
stuff manually. I enabled the Wordpress feature and added you as an
admin, account sirius-m, e-mail sirius-m@users.sourceforge.net. I'm not
sure how it works out the password for access, maybe it's just based on
being logged in to sourceforge.
https://apps.sourceforge.net/wordpress/bitcoin/wp-admin/
They also have support for MediaWiki if you want it.
In case you still need it, here's the accounts and passwords for mysql.
# Access this project's databases over the Internet
https://apps.sourceforge.net/admin/Bitcoin
# Documentation: Guide to MySQL Database Services
http://p.sf.net/sourceforge/mysql
# Hostname: mysql-b (exactly as shown, with no domain suffix)
# Database name prefix: b244765_ -- i.e. "CREATE DATABASE b244765_myapp"
as your ADMIN user.
# RO user: b244765ro (SELECT)
# RW user: b244765rw (SELECT, INSERT, DELETE, UPDATE)
# ADMIN user: b244765admin (has RW account privileges, and CREATE, DROP,
ALTER, INDEX, LOCK TABLES)
# web-access URL: https://mysql-b.sourceforge.net/
passwords:
b244765ro EaG3nHLL
b244765rw sNKgyt4W
b244765admin Mz589ZKf
> ...the difference being, though, that not everyone can easily
> transfer their regular bank money into an uncontrollable location. In
> bitcoin anyone can do it.
That's true.
We shouldn't try to use security against identity theft as a selling
point, since it leads into these counter arguments. The current banking
model is already tested and the actual loss percentage is known. Even
if ours is probably better, it's an unknown, so people can imagine
anything. The uncertainty about what the average loss percentage will
be is greater than the likely loss percentage itself.
Martii Malmi (AKA Sirius) “COPA trial” email #11
Date: Thu, 07 May 2009 03:35:50 +0100
From: Satoshi Nakamoto <satoshin@gmx.com>
Subject: Re: Bitcoin
To: mmalmi@cc.hut.fi
It's already an improvement, and like you say, there must be better
themes to choose from.
It would be good to make the download link go directly to the download area:
https://sourceforge.net/project/showfiles.php?group_id=244765
I haven't found any way to gain admin control over the mediawiki
feature. It thinks I'm a different S_nakamoto from the one that has
admin access:
User list
I tried deleting and re-enabling the feature, no help. Oh well.
mmalmi@cc.hut.fi wrote:
> Quoting Satoshi Nakamoto <satoshin@gmx.com>:
>
>> They have Wordpress built in, you might not need to set up any database
>> stuff manually.
>>
>> They also have support for MediaWiki if you want it.
>
> The built-in Wordpress comes with ads, and new plugins and themes need
> to be installed by the Sourceforge staff, so I installed Wordpress at
> http://bitcoin.sourceforge.net/. The admin page is at .../wp-admin/,
> with admin/Wubreches3eS as login. If there's something to add or change,
> feel free to.
>
> The current layout is just a quickly applied free theme, but I'll see if
> I can do something more visual myself.
>
> The MediaWiki might be quite useful for maintaining the FAQ, which could
> be retrieved from there to the main site somehow. The wiki says I need
> to be an editor or admin to create a new page, which is funny, because
> https://apps.sourceforge.net/mediawiki/bitcoin/index.php?title=Special:ListGroupRights
> says that users can create pages.
Martii Malmi (AKA Sirius) “COPA trial” email #15
Date: Sun, 24 May 2009 23:03:38 +0100
From: Satoshi Nakamoto <satoshin@gmx.com>
Subject: Re: Bitcoin
To: mmalmi@cc.hut.fi
You're right, that was it. I went in and granted us access using the
alternate account.
I like your idea of at least moving the FAQ into the wiki. I've seen
other projects that use the wiki for the FAQ or even the whole site. If
you can figure out how to make it so regular users can edit things, then
anyone who wants to can help.
mmalmi@cc.hut.fi wrote:
> Quoting mmalmi@cc.hut.fi:
>
>> Quoting mmalmi@cc.hut.fi:
>>
>>> Quoting Satoshi Nakamoto <satoshin@gmx.com>:
>>>
>>>> I haven't found any way to gain admin control over the mediawiki
>>>> feature. It thinks I'm a different Snakamoto from the one that has_
>>>> admin access:
>>>> User list
>>>> * S nakamoto <- it thinks I'm this one
>>>> * S nakamoto (admin, editor)
>>>> * Sirius-m
>>>>
>>>> I tried deleting and re-enabling the feature, no help. Oh well.
>>>
>>> I think this has something to do with the underscore character in your
>>> username; MediaWiki handles them as spaces. I could ask SF Support
>>> about this.
>>
>> Or could you control the MediaWiki with your account nakamoto2?
>
> Oh, sorry for spamming with emails, but the problem is indeed with the
> underscore character:
> http://apps.sourceforge.net/trac/sourceforge/ticket/300
>
Martii Malmi (AKA Sirius) “COPA trial” email #19
Date: Thu, 11 Jun 2009 22:24:25 +0100
From: Satoshi Nakamoto <satoshin@gmx.com>
Subject: Re: Bitcoin
To: mmalmi@cc.hut.fi
The site layout is looking nicer. More impressive looking.
There are a lot of things you can say on the sourceforge site that I
can't say on my own site. Even so, I'm uncomfortable with explicitly
saying "consider it an investment". That's a dangerous thing to say and
you should delete that bullet point. It's OK if they come to that
conclusion on their own, but we can't pitch it as that.
A few details: the FAQ says "see section 2.3", but the sections aren't
numbered. Also, could you delete the last sentence on the FAQ "They are
planned to be hidden in v0.1.6, since they're just confusing and
annoying and there's no reason for users to have to see them." -- that's
not really something I meant to say publicly.
The links to sites to help set up 8333 port forwarding is great.
favicon is a nice touch.
Someone came up with the word "cryptocurrency"... maybe it's a word we
should use when describing Bitcoin, do you like it?
Sourceforge is so slow right now I can't even get the login page to
load. Maybe due to the site reorg they just did. I'll keep trying and
try to get you that logo stats thing.
mmalmi@cc.hut.fi wrote:
> Now that the project web is up and running, do you think that setting up
> a custom VHOST for the bitcoin.org domain would be a good idea?
> Instructions:
> http://apps.sourceforge.net/trac/sourceforge/wiki/Custom%20VHOSTs
>
> Also, could you please send me a link to a SF Logo for statistics, as
> instructed at:
> http://apps.sourceforge.net/trac/sourceforge/wiki/Use%20of%20sflogo%20for%20statistics%20tracking
>
Martii Malmi (AKA Sirius) “COPA trial” email #21
Date: Sun, 14 Jun 2009 21:30:58 +0100
From: Satoshi Nakamoto <satoshin@gmx.com>
Subject: Re: Bitcoin
To: mmalmi@cc.hut.fi
mmalmi@cc.hut.fi wrote:
> I made the changes. You could also register to the site or use the admin
> account to make necessary changes yourself, since the pages are located
> in the wiki.
Thanks, I've been really busy lately.
I registered username "satoshi". Since there's no SSL login, I want to
mainly use that account with sub-admin powers and use the admin account
as little as possible. I created a "Moderators" group to give my
satoshi account as much editing control as possible without the ability
to overthrow everything.
There's something weird with the download bar on the right covering
things up, like on the new account registration it covers up the entry
fields unless you make the browser really wide, and the homepage it
covers up the screenshots. (with Firefox)
Martii Malmi (AKA Sirius) “COPA trial” email #24
Date: Tue, 21 Jul 2009 04:14:43 +0100
From: Satoshi Nakamoto <satoshin@gmx.com>
Subject: Re: Bitcoin
To: mmalmi@cc.hut.fi
I know this sounds really retarded, but I still haven't been able to get
the sourceforge login page to load, so I haven't been able to read it
either. https://sourceforge.net/account/login.php
Hal isn't currently actively involved. He helped me a lot defending the
design on the Cryptography list, and with initial testing when it was
first released. He carried this torch years ago with his Reusable Proof
Of Work (RPOW).
I'm not going to be much help right now either, pretty busy with work,
and need a break from it after 18 months development.
It would help if there was something for people to use it for. We need
an application to bootstrap it. Any ideas?
There are donors I can tap if we come up with something that needs
funding, but they want to be anonymous, which makes it hard to actually
do anything with it.
mmalmi@cc.hut.fi wrote:
> Hi,
>
> I made a post on the Bitcoin developer's forum at SF about a month ago
> and sent you, David and Hal a notification about it to your
> users.sourceforge.net emails. A few days ago I wondered why no one had
> replied, and tried if the SF mail aliases even work - and they didn't,
> at least in the case of my account. So could you please forward this
> message to the others?
>
> Best regards,
> sirius-m
>
Martii Malmi (AKA Sirius) “COPA trial” email #28
Date: Mon, 24 Aug 2009 23:00:35 +0100
From: Satoshi Nakamoto <satoshin@gmx.com>
Subject: Re: Bitcoin
To: mmalmi@cc.hut.fi
That's a good point that since you know how many coins exist and how
fast new ones are created, you could set a support price based on the
amount of legacy currency you have and be sure you'll have enough to
meet all demands. I had imagined an auction, but it would be far
simpler and more confidence inspiring to back it at a specific exchange
rate.
Offering currency to back bitcoins would attract freebie seekers, with
the benefit of attracting a lot of publicity. At first it would mostly
be seen as a way to get free money for your computer's idle time. Maybe
pitched like help support the future of e-commerce and get a little
money for your computer's spare cycles. As people cash in and actually
get paid, word would spread exponentially.
It might help to keep the minimum transaction size above an amount which
a typical user would be able to accumulate with one computer, so that
users have to trade with each other for someone to collect enough to
cash in. Aggregators would set up shop to buy bitcoins in smaller
increments, which would add confidence in users ability to sell bitcoins
if there are more available buyers than just you.
People would obviously be sceptical at first that the backing will hold
up against an onslaught of people trying to get the free money, but as
the competition raises the proof-of-work difficulty, it should become
clear that bitcoins stay scarce. People will see that they can't just
get all the bitcoins they want. It would establish a minimum value
under bitcoins enabling them to be used for other purposes if,
hopefully, other purposes are waiting for something to use.
>> It would help if there was something for people to use it for. We need
>> an application to bootstrap it. Any ideas?
>
> I've been thinking about a currency exchange service that sells and
> buys bitcoins for euros and other currencies. Direct exchangeability
> to an existing currency would give bitcoin the best possible initial
> liquidity and thus the best adoptability for new users. Everyone
> accepts payment in coins that are easily exchangeable for common
> money, but not everyone accepts payment in coins that are only
> guaranteed to buy a specific kind of a product.
That would be more powerful if there was also some narrow product market
to use it for. Some virtual currencies like Tencent's Q coin have made
headway with virtual goods. It would be sweet if there was some way to
horn in on a market like that as the official virtual currency gets
clamped down on with limitations. Not saying it can't work without
something, but a ready specific transaction need that it fills would
increase the certainty of success.
> At its simplest this exchange service could be a website where
> traders, who can be individual persons, can post their rates, and
> random users can leave trade requests. Some kind of an average rate
> estimate could be shown on the site. Small-scale trading by
> individuals would be outside legal hassle in most countries, and
> putting all the eggs in the same basket would be avoided.
Basically like an eBay site with user reviews to try to establish which
sellers can be trusted. The escrow feature will help but not solve
everything. It would be far more work to set up such a site than just
to set up a single exchange site of your own, and there won't be enough
users to make it go until later. I'm thinking it wouldn't make sense to
make an eBay type site until later.
> Another idea, which could be additional to the previous one, would be
> an automated exchange service. The service would automatically
> calculate the exchange rate and perform the transactions. This would
> be nicer to the user: completion of the transaction request would be
> certain and instantaneous. Making this service might actually be quite
> easy if there was a command line interface to Bitcoin: just take any
> web application framework and use PayPal back-end integration to
> automatically send euros when Bitcoins are received, and vice versa.
> This kind of business would also work great on larger scale if you set
> up a company and take care of all the bureaucracy needed to practice
> currency exchange. (I actually have a registered company that I've
> used for billing of some IT work, I could use that as a base.)
Even if you had automation, you'd probably want to review orders
manually before processing them anyway. It wouldn't be hard to process
orders by hand, especially at first. You could always set a minimum
order size to keep orders more infrequent.
> This exchange business thing is something that I'd be interested in
> doing, and I also have the sufficient technical skills to do it.
> Although, before this can be done, there should be a non-alpha version
> of Bitcoin (and the command line interface / API).
>
> If this gets started, donors / high-risk investors would be very
> welcome to bring capital for the currency's backup.
>
> So, what do you think about the idea? Note that this is not something
> that I'm asking you to do (unless you want to) if you're busy with
> other things. I can do it myself, if I get positive reviews about the
> plan.
That's great, I could probably get a donor to send currency to you which
you convert to euros and pay out through methods that are convenient for
users. I don't want to do an exchange business myself, but it can be
done independently of me. Like you say, there is more software
development to be done first, and also I'd like to keep trying for a
while to think of a bootstrap application to use bitcoins for. I've had
some ideas that could only be done before an exchange exists.
BTW, I tried to buy bitcoin.com before I started but there was no
chance, it's owned by a professional domain speculator. It's normal for
open source projects to have .org so it's not so bad.
Martii Malmi (AKA Sirius) “COPA trial” email #29
Date: Mon, 24 Aug 2009 23:04:25 +0100
From: Satoshi Nakamoto <satoshin@gmx.com>
Subject: Re: Bitcoin
To: mmalmi@cc.hut.fi
Glad that worked, it's a pain that the dependencies are so big and hard
to build. Some of them give little attention to the Windows build.
Next time I update to the latest versions, maybe I'll lay everything out
in one directory tree and bundle the whole thing up into a giant archive.
I'm not sure they had wxPack before. I'm glad they got that so everyone
doesn't have to build wxWidgets themselves. OpenSSL is the harder one
to build.
I reduced the EXE size by running strip.exe on it to take out the debug
symbols. That's with mingw. That's the better compiler, I only used VC
for debugging.
mmalmi@cc.hut.fi wrote:
> I got it compile with MinGW + MSYS when I used wxPack instead of just
> wxWidgets. Maybe wxAdditions was required. The bitcoin.exe filesize was
> 52MB though, I should see how that can be fixed.
>
> Next I'm going to implement the "minimize to tray" feature and the
> option to autostart Bitcoin with Windows, so the number of nodes online
> would stay higher. After that I could see if I can do a Linux port or
> the command line interface needed for web app frameworks.
>
> Drop by at #bitcoin-dev on FreeNode some time if you use IRC.
>
> And again, thanks for the great work you've done with Bitcoin.
>
> Quote mmalmi@cc.hut.fi:
>
>> I've had quite a few errors coming up when trying to build the
>> third-party libraries and adding them to the Bitcoin build. Do you
>> happen to have a ready-to-build package that you could upload to the
>> CVS or somewhere else? I use mingw + msys, but I guess I could try
>> Visual C++ also, if it's easier that way.
>
Martii Malmi (AKA Sirius) “COPA trial” email #31
Date: Sat, 29 Aug 2009 18:31:05 +0100
From: Satoshi Nakamoto <satoshin@gmx.com>
Subject: Re: Bitcoin
To: mmalmi@cc.hut.fi
> Next I'm going to implement the "minimize to tray" feature and the
> option to autostart Bitcoin with Windows, so the number of nodes online
> would stay higher.
Now that I think about it, you've put your finger on the most important
missing feature right now that would make an order of magnitude
difference in the number of nodes. Without auto-run, we'll almost never
retain nodes after an initial tryout interest. Auto-running as a
minimized tray icon by default was the key to success for the early file
sharing networks. It wouldn't have been appropriate for v0.1.0 when
stability wasn't a given yet, but now it's good and stable. This is a
must-have feature for the next release so any users that come back to
try the new version we hopefully retain this time.
I think the most user friendly way of doing auto-run is putting an icon
in the Startup folder. I see OpenOffice.org and a number of other
things on my computer do it that way. The other way, creating a runas
registry entry, is not easily visible or editable by users, I've never
liked that much. I guess what we want is an auto-run option that's on
by default, if the option is changed then it creates or deletes the
startup icon.
While it's tempting to do a Linux port, once we do it we have that extra
work with every release from then on. I'd rather put it off a while
longer. Auto-run might give us 300% more nodes while Linux might give
us 3% more. Linux would help server farms, but actually we'd like to
favour individual users. Someone reported that it works fine in WinE.
Martii Malmi (AKA Sirius) “COPA trial” email #33
Date: Wed, 30 Sep 2009 19:12:29 +0100
From: Satoshi Nakamoto <satoshin@gmx.com>
Subject: Re: Bitcoin
To: mmalmi@cc.hut.fi
That's great, that's a good step forward.
Yes, I worked out the sourceforge login problem, it was some tricky
thing on the login page that exposed a quirky bug in a browser add-in.
mmalmi@cc.hut.fi wrote:
> Just for information: I committed my working copy to the svn/branches.
> There's the minimize to tray feature and some other changes. It's nicer
> to run in the background now, but it's still incomplete and I'm working
> on it. The bugs are listed in bugs.txt.
>
> Did you get your Sourceforge account work yet?
>
Martii Malmi (AKA Sirius) “COPA trial” email #35
Date: Fri, 16 Oct 2009 19:41:40 +0100
From: Satoshi Nakamoto <satoshin@gmx.com>
Subject: Re: Setup, Autorun, v0.1.6
To: mmalmi@cc.hut.fi
Thanks for that. I'm still merging in some changes I had that need to
go in before any next release. Some things based on questions and
feedback I've received that'll reduce confusion. I'll probably enable
multi-proc generating support, and hopefully make it safe to just backup
wallet.dat to backup your money. It's good to be coding again!
I'm going to hide the transaction fee setting, which is completely not
needed and only serves to confuse people. It was only there for testing
and demonstration of a technical detail that can only be needed in the
far away future, if ever, but was necessary to implement at the
beginning to make it possible later.
What was the problem with the shortcut in the startup folder? If you
could send me the code, I'd like to take another look and see if I can
see what the problem was. The first strcat in the registry code should
be strcpy, otherwise it would fail intermittently. If the same code was
in the shortcut one, maybe that was the problem.
It's encouraging to see more people taking an interest such as that
NewLibertyStandard site. I like his approach to estimating the value
based on electricity. It's educational to see what explanations people
adopt. They may help discover a simplified way of understanding it that
makes it more accessible to the masses. Many complex concepts in the
world have a simplistic explanation that satisfies 80% of people, and a
complete explanation that satisfies the other 20% who see the flaws in
the simplistic explanation.
mmalmi@cc.hut.fi wrote:
> I made a Windows installer for the latest version of Bitcoin, which
> includes the autostart and minimize to tray features. The installer
> makes a start menu shortcut and a startup registry entry. I first
> implemented the autostart with a shortcut to the startup folder, but I
> found out that it doesn't always work by default and ended up doing it
> with a registry entry. The registry entry is removed by the uninstaller
> and can be also disabled from the options menu, so I don't think it's
> such a big menace to the user after all.
>
> I made the installer with NSIS, and the nsi script can be found in the SVN.
>
> Could you add the installer to the SF download page? Here's the file:
> http://bitcoin.sourceforge.net/uploads/Bitcoinsetup.exe_
>
> There are some new users registered to the bitcoin.sf.net site. One of
> them just announced that he's trading Bitcoins for dollars. Here's his
> site: http://newlibertystandard.wetpaint.com/. Making an exchange
> service first seemed a bit premature for the time being, but on the
> other hand it's good that people show interest towards the project, and
> this might attract even more interested people (and hopefully more
> developers). I just sent the guy an email.
>
Martii Malmi (AKA Sirius) “COPA trial” email #36
Date: Sun, 18 Oct 2009 18:59:42 +0100
From: Satoshi Nakamoto <satoshin@gmx.com>
Subject: Re: Setup, Autorun, v0.1.6
To: Martti Malmi <mmalmi@cc.hut.fi>
I got it, I see you checked in the startup folder code before changing
it to registry. I don't see any visible problems in the code. I guess
it depends what exactly the problem was with it not always working by
default. Was there a Vista/UAC security problem?
Martii Malmi (AKA Sirius) “COPA trial” email #38
Date: Mon, 19 Oct 2009 00:11:50 +0100
From: Satoshi Nakamoto <satoshin@gmx.com>
Subject: Re: Setup, Autorun, v0.1.6
To: mmalmi@cc.hut.fi
It's possible Bitcoin ran and bailed out because something was wrong.
debug.log should tell something if that was the case. What OS are you
using? I wonder if we need Admin privilege and don't realize it. Stuff
that requires Admin can't start on startup on Vista.
Program shortcuts have multiple tabs of settings with lots of little
details. I'll try the startup folder code and see if I can reproduce
the problem. Every other systray icon on my computer is in the startup
folder, and it makes it easy for users to manage all their autoruns in
one place. The things in the registry key tend to be devious hidden
bloatware.
I implemented the code to flush wallet.dat whenever it's closed so we'll
be able to tell users they only need to backup wallet.dat. You can
restore just wallet.dat and it'll re-download the rest. I'll have to do
another stress test before release.
mmalmi@cc.hut.fi wrote:
> Well, the code worked and made a shortcut in the startup folder. For
> some reason it didn't automatically start when booting, but worked fine
> when you clicked on it in the menu. Now I tried making a shortcut
> manually, and this time it works on autostart, don't know why. I could
> try again with the older code.
>
>> I got it, I see you checked in the startup folder code before changing
>> it to registry. I don't see any visible problems in the code. I guess
>> it depends what exactly the problem was with it not always working by
>> default. Was there a Vista/UAC security problem?
>>
Martii Malmi (AKA Sirius) “COPA trial” email #40
Date: Wed, 21 Oct 2009 18:58:49 +0100
From: Satoshi Nakamoto <satoshin@gmx.com>
Subject: Re: Setup, Autorun, v0.1.6
To: mmalmi@cc.hut.fi
Yeah, I put back your startup folder shortcut code and it started fine
for me too on XP and Vista. For good measure, I changed it to make the
shortcut settings look identical to one I manually created. I set the
working directory to where the EXE is since that's where debug.log is
created, otherwise windows puts it in some weird directory. I didn't
change the setup script yet.
I checked everything in to SVN (thanks for setting that up)
- multi-proc generate
- flush wallet.dat after every change so the DB doesn't leave that stuff
in the transaction logs
- view menu checkbox to hide all generated coins so you can see just
your payment transactions
- disabled transaction fee option
- made the minimize to tray options similar to Firefox's MinimizeToTray
- bunch of other misc changes since the 0.1.5 release
I made it not show non-accepted generated coins. It won't show
generated coins until they have at least one confirmation (one block
linked after it), so usually they'll just never be seen. Occasionally a
generated coin that was displayed might disappear because it became not
accepted later. I don't think anyone would notice the occasional
non-accepteds if we didn't point them out in the UI. People have told
me they find it annoying to have to look at them, as they're permanently
displayed in the transaction record.
I still have more testing to do. I guess we gotta test Windows 7 now.
mmalmi@cc.hut.fi wrote:
>> It's possible Bitcoin ran and bailed out because something was wrong.
>> debug.log should tell something if that was the case. What OS are you
>> using? I wonder if we need Admin privilege and don't realize it.
>> Stuff that requires Admin can't start on startup on Vista.
>
> I'm using XP. I recompiled the older revision and this time the startup
> shortcut works. It also works when testing on Vista (non-admin). Maybe I
> just missed something the previous time.
>
>> Program shortcuts have multiple tabs of settings with lots of little
>> details. I'll try the startup folder code and see if I can reproduce
>> the problem. Every other systray icon on my computer is in the startup
>> folder, and it makes it easy for users to manage all their autoruns in
>> one place. The things in the registry key tend to be devious hidden
>> bloatware.
>
> Here it's the other way around, I have all my startup programs in the
> registry. But maybe the shortcut method is nicer for the user, if it
> works just as well
>
Martii Malmi (AKA Sirius) “COPA trial” email #41
Date: Sat, 24 Oct 2009 00:55:06 +0100
From: Satoshi Nakamoto <satoshin@gmx.com>
Subject: Re: [bitcoin-list] Does Bitcoin Crash in Windows?
To: Liberty Standard <newlibertystandard@gmail.com>
Cc: bitcoin-list@lists.sourceforge.net
Liberty Standard wrote:
> Do you Windows users experience occasional Bitcoin crashes?
> Lately Bitcoin running in wine-1.0.1 has been crashing frequently. I was
> just wondering whether this is a Wine issue or a Bitcoin issue.
I haven't had any reports of crashes in v0.1.5. It's been rock solid
for me on Windows. I think it must be Wine related. If you get another
crash in Wine and it prints anything on the terminal, e-mail me and I
may be able to figure out what happened, maybe something I can work
around. Martti and I have been working on a new version to release soon
and it would be nice to get any Wine fixes in there.
> The following four lines print from the terminal when I start Bitcoin.
> fixme:toolhelp:CreateToolhelp32Snapshot Unimplemented: heap list snapshot
> fixme:toolhelp:Heap32ListFirst : stub
> fixme:toolhelp:CreateToolhelp32Snapshot Unimplemented: heap list snapshot
> fixme:toolhelp:Heap32ListFirst : stub
Those don't look like anything to worry about. Probably functions
unimplemented by Wine that are harmlessly stubbed out.
> I previously wasn't starting Bitcoin from the terminal, so I don't know what
> gets printed out when it crashes, but I'll reply with the results the next
> time it crashes.
>
> While Bitcoin first downloads previously completed blocks, the file
> debug.log grows grows to 17.4 MB and then stops growing. I imagine it will
> continue to grow as more bitcoins are completed.
You can delete debug.log occasionally if you don't want to take the disk
space. It's just status messages that help with debugging.
bitcoin.sourceforge.net looks fine now. Maybe sourceforge was doing
some maintenance.
Satoshi
Martii Malmi (AKA Sirius) “COPA trial” email #42
Date: Mon, 26 Oct 2009 17:50:10 +0000
From: Satoshi Nakamoto <satoshin@gmx.com>
Subject: Fw: bitcoin.sourceforge.net
To: Martti Malmi <mmalmi@cc.hut.fi>
Any idea what's going on with it? Every time I look, it's fine.
Eugen Leitl wrote:
On Sat, Oct 24, 2009 at 12:55:06AM +0100, Satoshi Nakamoto wrote:
> > bitcoin.sourceforge.net looks fine now. Maybe sourceforge was doing
Doesn't work right now.
> > some maintenance.
Liberty Standard wrote:
> In case you weren't aware, the Bitcoin website is down.
>
> http://bitcoin.sourceforge.net/
>
Martii Malmi (AKA Sirius) “COPA trial” email #44
Date: Tue, 27 Oct 2009 04:45:47 +0000
From: Satoshi Nakamoto <satoshin@gmx.com>
Subject: Re: Fw: bitcoin.sourceforge.net
To: mmalmi@cc.hut.fi
Sourceforge is just so darn slow. I don't know what else to do though.
It's such a standard, more often than not any given project has a
projectname.sourceforge.net site. When I see whatever.sourceforge.net
in a google search, I assume that's the official site.
Is there a way to make Bitweaver allow users to edit (and maybe delete)
their own messages in the forum?
Getting antsy to port to Linux? It's not a decision to be taken lightly
because once it's done, it doubles my testing and building workload.
Although I am worried about Liberty's Wine crashes.
I've tried to be as portable as possible and use standard C stuff
instead of Windows calls. The threading is _beginthread which is part
of the standard C library. wxWidgets has wxCriticalSection stuff we can
use. The sockets code is send/recv stuff which I think is the same as
unix because Microsoft ported sockets from BSD. We need direct control
over sockets, it wouldn't be a good idea to get behind an abstraction
layer. wxWidgets is a good place to look for cross-platform support
functions. I want to avoid #ifdefing up the code if we can. Anything
that's used more than once probably becomes a function in util.cpp that
has the #ifdef in it.
BTW, I have a lot of uncommitted changes right now because it includes
some crucial protocol transitions that can't be unleashed on the network
until I've tested the heck out of it. It shouldn't be too much longer.
Can you make the setup uninstall the Startup folder icon? I figure it
should install and uninstall an icon in a regular program group, and
just uninstall the Startup folder one. I guess it doesn't matter that
much whether it installs and uninstalls the Startup folder icon or just
uninstalls it.
Martii Malmi (AKA Sirius) “COPA trial” email #46
Date: Thu, 29 Oct 2009 02:05:30 +0000
From: Satoshi Nakamoto <satoshin@gmx.com>
Subject: Re: Fw: bitcoin.sourceforge.net
To: mmalmi@cc.hut.fi
I'll convert the CriticalSection code to wxCriticalSection and upload it
to SVN (it's a little tricky). I don't know what to do for
TryEnterCriticalSection though. I think I'm almost ready to check
everything in.
You're probably right, it's about time to do a linux build. I've been
working on getting my linux machine set up and building the dependencies.
> Ok. I replaced the Windows thread and socket library includes with their
> POSIX equivalents, and now it only gives a few errors, mostly from the
> CriticalSections. If I make it work, I'll put it into svn/branches, it
> doesn't need to be an official release yet.
Martii Malmi (AKA Sirius) “COPA trial” email #48
Date: Thu, 29 Oct 2009 06:38:30 +0000
From: Satoshi Nakamoto <satoshin@gmx.com>
Subject: Re: Linux build
To: mmalmi@cc.hut.fi
The easy solution I took was to look at the wxWidgets source code and
see how they did it. They just mapped it to wxMutex on non-MSW, which
does have TryEnter, so that mapped in perfectly.
I checked in all my backlog of changes to SVN, including the overhaul of
CCriticalSection in util.h and OpenSSL's mutex callback in util.cpp to
do everything with wxWidgets when not on Windows.
If we get it working on Linux, I'll run my test suite against it here
off-network first, then we can give an unreleased build to
LibertyStandard to test for a while before going public.
Martii Malmi (AKA Sirius) “COPA trial” email #49
Date: Fri, 30 Oct 2009 01:05:45 +0000
From: Satoshi Nakamoto <satoshin@gmx.com>
Subject: Re: Linux build
To: Martti Malmi <mmalmi@cc.hut.fi>
I fixed some non-portable stuff I came across:
QueryPerformanceCounter
%I64d in printf format strings
Sleep
CheckDiskSpace
If there's any other unportable stuff you know of I should fix, let me know.
I think I'll move debug.log and db.log into the same directory as the
data files (%appdata%\Bitcoin), rather than whatever the current
directory happens to be.
Martii Malmi (AKA Sirius) “COPA trial” email #51
Date: Sat, 31 Oct 2009 20:09:58 +0000
From: Satoshi Nakamoto <satoshin@gmx.com>
Subject: Re: Linux build
To: mmalmi@cc.hut.fi
heapchk() is just a MSVCRT debugging thing that's not being used. It
can be a no-op on Linux. OpenSSL automatically uses /dev/urandom to
seed on Linux, so RandAddSeedPerfmon can also be a no-op.
Don't let it connect to the network before we've tested it thoroughly
off-net. If you have two computers, unplug the internet and use
"bitcoin -connect=<ip>" to connect to each other, one windows and one
linux. -connect will allow you to connect to non-routable addresses
like 192.168.x.x. We don't want to reflect badly on the reliability of
the network if it throws off some malformed crud we hadn't thought to
check for yet, or discovers something else anti-social to do on the network.
I have time that I can do some testing when you've got something
buildable to test. I can include it in the stress test I'm currently
running on the changes so far.
mmalmi@cc.hut.fi wrote:
> I made an #ifdef to replace QueryPerformanceCounter with Linux's
> gettimeofday in util.h. Some Unicode/ANSI errors were resolved without
> code changes when I updated to wxWidgets 2.9. The only compile error I'm
> getting in Linux at the moment is from heapchk() in util.h.
>
>> I fixed some non-portable stuff I came across:
>> QueryPerformanceCounter
>> %I64d in printf format strings
>> Sleep
>> CheckDiskSpace
>>
>> If there's any other unportable stuff you know of I should fix, let me
>> know.
>>
>> I think I'll move debug.log and db.log into the same directory as the
>> data files (%appdata%\Bitcoin), rather than whatever the current
>> directory happens to be.
>
Martii Malmi (AKA Sirius) “COPA trial” email #53
Date: Tue, 03 Nov 2009 15:53:25 +0000
From: Satoshi Nakamoto <satoshin@gmx.com>
Subject: Re: Linux build, proxy
To: mmalmi@cc.hut.fi
Great, I've been looking forward to working on the Linux build.
If you connect to Freenode's hidden service, then they tell you they've
also banned TOR from that due to abuse and it kicks you off. There's a
several step procedure you can do to run a password utility on unix and
e-mail request an account that you could login with, but that's getting
pretty complicated. I wonder if we could get away with applying for one
account and then everyone use the same account? I suppose the IRC
server probably limits accounts to one login, or some admin might not
like to see a dozen logins on the same account.
Besides the IRC part, how did your test of proxy go? Since you've been
connected before, your addr.dat contains known node addresses, but
without IRC to know which ones are online, it takes a long time to find
them. There are normally 1 to 3 other nodes besides you that can accept
incoming connections, and existing nodes that already know you would
eventually connect to you. How many connections did you get, and how
long did it take? I guess to know whether it successfully connected
outbound through TOR you'd need to search debug.log for "connected".
To originally connect with TOR without connecting normally once to get
seeded, you'd have to know the address of an existing node that can
accept incoming connections and seed it like this:
bitcoin -proxy=127.0.0.1:9050 -addnode=<ip of a node>
If some nodes that accept incoming connects were willing to have their
IP coded into the program, it could seed automatically. Or some IP seed
addresses posted on a Wiki page with the instructions.
Another option is to search the world again for an IRC server that
doesn't ban TOR nodes. Or if we could get someone to set one up. IRC
servers ban TOR because they have actual text chat on them... if there
was one with just bots and junk then it wouldn't care. Probably should
post a question on the forum or the mailing list and see if anyone knows
one.
Another problem is that TOR users can't accept incoming connections, and
we have so few that can. If everyone goes to TOR, there won't be any
nodes to connect to.
We have a shortage of nodes that can accept incoming connections. It
generally ranges from 2 to 4 lately. We need to emphasize the
importance to people of setting up port forwarding on their router.
Every P2P file sharing program has instructions how to do it. We should
have a paragraph on the bitcoin.sourceforge.net homepage urging people
to set up port forwarding to accept incoming connections, and a link to
a site that describes how to do it for each router.
mmalmi@cc.hut.fi wrote:
> I uploaded what I've ported so far to the svn/branches. Util, script, db
> and the headers compile fully now and net.cpp partially, so there's
> still work to do.
>
_> beginthread doesn't have a direct Linux equivalent, so I used Boost
> threads instead.
>
> I couldn't get connected using the Tor SOCKS proxy. That might be
> because of the Freenode Tor policy which requires connecting to their
> hidden service: http://freenode.net/ircservers.shtml#tor_
>
Martii Malmi (AKA Sirius) “COPA trial” email #54
Date: Wed, 04 Nov 2009 05:38:17 +0000
From: Satoshi Nakamoto <satoshin@gmx.com>
Subject: Re: Linux build
To: mmalmi@cc.hut.fi
It was almost there. I fixed a few things and got it to finish
compiling but I don't know the system libraries to link to so there's
undefined references galore.
I changed the makefile to look for things under /usr/local and in their
default "make install" locations. I wrote what I did and switches I
used in build-unix.txt. I'm currently using wxWidgets 2.8.9 for now
because it's the same version as on Windows and I don't want to wonder
if there's version change issues at the same time as platform change.
2.8.10 or 2.9.0 are probably fine though. I went with the
single-library compile of wxWidgets since we're linking to almost every
library anyway.
I added xpm files, which is what they use everywhere else but Windows
instead of RC files. They're clever C files that define graphics in
static arrays. The bitcoin icon has 5 different versions but I couldn't
figure out how that works in xpm so I only put the biggest one. Maybe
on GTK it scales it for you. I don't know if these are right or what,
but they compile.
mmalmi@cc.hut.fi wrote:
> I uploaded what I've ported so far to the svn/branches. Util, script, db
> and the headers compile fully now and net.cpp partially, so there's
> still work to do.
>
_> beginthread doesn't have a direct Linux equivalent, so I used Boost
> threads instead.
>
Martii Malmi (AKA Sirius) “COPA trial” email #55
Date: Wed, 04 Nov 2009 20:38:03 +0000
From: Satoshi Nakamoto <satoshin@gmx.com>
Subject: Re: Linux build
To: mmalmi@cc.hut.fi
Just letting you know I'm still working on the Linux build so we don't
duplicate work. I got it linked and ran it and working through runtime
issues like getting it switched to load bitmaps from xpm instead of
resources.
There are debian packages available for some of the dependencies instead
of having to compile them ourselves:
apt-get install build-essential
apt-get install libgtk2.0-dev
apt-get install libssl-dev
I need to see if Berkeley DB or Boost have packages.
We'll shared-link OpenSSL, I'm pretty sure it's always preinstalled on
Linux. GTK has to be shared linked. I'm not completely sure if it's
preinstalled by default.