Bitcoin Forum
May 19, 2019, 04:02:09 PM *
News: Latest Bitcoin Core release: 0.18.0 [Torrent] (New!)
  Home Help Search Login Register More  
  Show Posts
Pages: [1]
1  Bitcoin / Development & Technical Discussion / Re: Working Android App on: February 16, 2011, 10:30:20 PM
It is open source.
2  Bitcoin / Development & Technical Discussion / Re: HTTPS support for bitcoin JSON-RPC on: September 10, 2010, 09:51:19 PM
I've been using stunnel for SSL with self-signed certificates. My init script is posted here:
3  Bitcoin / Development & Technical Discussion / Re: Scalability and transaction rate on: July 28, 2010, 06:25:58 PM
Was the original question ever answered? Can the clients handle 35000 transactions per block? What about 100000? What is the bytesize of a transaction in the block? How much bandwidth is needed for the network to push these around in 10 minutes?
4  Bitcoin / Bitcoin Discussion / Re: Post your static IP on: July 27, 2010, 03:30:18 PM
5  Bitcoin / Bitcoin Discussion / Re: Pros and cons of using new Bitcoin addresses for each transaction? on: July 27, 2010, 03:28:21 PM
You could always pregenerate all the keypairs (addresses) you'd ever need and keep them in your wallet. Then you just pull new ones off as needed, reuse old ones as you like, etc. E.g. with every transaction you get to pick the addresses that participate in that transaction. From the network's point of view, this is is indistinguishable from the curent behaviour of generating new addresses every time, but you can backup your wallet once in some really robust fashion and never worry about backups again. You can in fact patch your client to do that right now without affecting anyone else or breaking anything. So, that's a PRO; having to back up after every transaction is silly.

The negative side of pregenerating all the keypairs is that if I steal your wallet, and you don't know about it, I can just sit around for years waiting for a big transaction involving one of your addresses and then burn you. This theft is more insidious than just spending your wallet immediately, because nobody can ever be 100% certain than someone hasn't already done it. It would undermine trust in the network.
6  Bitcoin / Development & Technical Discussion / Re: bitcoind without wxWidgets on: July 26, 2010, 06:42:25 PM
notice the -l boost_thread comes after a -Bstatic
it's trying to link libboost_thread statically and can't find libboost_thread.a

D'oh. Thanks.
7  Bitcoin / Development & Technical Discussion / Re: bitcoind without wxWidgets on: July 26, 2010, 06:22:51 PM
Anyone else tried building on Ubuntu? I get a weird linker error with the boost_threads library. It has nothing to do with Bitcoin per se, except that the client now uses boost threads and my boost installation is being weird. Can anyone else reproduce while I sit here feeling like an idiot?

g++ -O2 -Wno-invalid-offsetof -Wformat -g -D__WXDEBUG__ -D__WXGTK__ -DNOPCH -I"/usr/include" -I"/usr/local/include/wx-2.9" -I"/usr/local/lib/wx/include/gtk2-unicode-debug-static-2.9" -o bitcoind -L"/usr/lib" -L"/usr/local/lib" obj/nogui/util.o obj/nogui/script.o obj/nogui/db.o obj/nogui/net.o obj/nogui/irc.o obj/nogui/main.o obj/nogui/rpc.o obj/nogui/init.o obj/sha.o -Wl,-Bstatic -l boost_system -l boost_filesystem -l boost_program_options -l boost_thread -l db_cxx -l crypto -Wl,-Bdynamic -l gthread-2.0
/usr/bin/ld: cannot find -lboost_thread
collect2: ld returned 1 exit status
make: *** [bitcoind] Error 1

It looks like libboostthread is missing. But:

~/dev/bitcoin/trunk$ locate libboost_thread
8  Economy / Marketplace / Re: Use your BTC to buy any item on E-bay under $33.11 USD **sold** on: July 24, 2010, 09:54:14 PM
Curious what the exchange rate was :-)
9  Economy / Marketplace / Re: Use your BTC to buy any item on E-bay under $33.11 USD on: July 22, 2010, 07:01:58 PM
Hmm, nothing I want to buy right now. I wish it were transferable...
Maybe someone can post some bitcoins up for sale and you can buy them with your certificate? That would be one way to turn it into real money, though you take a hit in the paypal transfer and insertion fees.
10  Bitcoin / Development & Technical Discussion / Re: Working Android App on: July 22, 2010, 04:47:19 PM
Ha! My next-door neighbor works at Bump. I'll talk to him about it. However, even if you didn't "integrate" with the Bump client, you can still include a BC address in your contact info, or even make a blank contact that only has the BC address and nothing else. Then bump that, and the other person copy-pastes into the BC app and sends the money. Another slick idea: steg you BC address into your contact photo, according to a known scheme that all BC users know. Then you just send your photo around with your contact info, and your address is always there, but only BC users know about it.

Regarding a full client on the Android: since it's still mainly a mobile platform, and device batteries barely last a day as it is, I doubt that people would want the hashing to happen on their handset (and these new CPUs heat up a lot when cranking). Would it make sense to run a non-generating client on your phone? If you don't want to open the headless client to the whole world, that may be your only option.
The next thing I plan on doing is to rewrite Satoshi's code into a barebones library using straight ANSI C. That will open up lots of doors for porting, and developers would be able to directly compile for Android or iPhone or whatever, using the native toolchains, and put up whatever GUI they wanted. With a rooted phone, you can run a native bitcoind at startup, and continue to use a thin client to turn generation on/off, etc, if you really wanted that.

Anyway, a thin client is great if you're willing to run a server, which just about anyone can do. Just get yourself a dynamic hostname (e.g. from, open up a port in your firewall, and you're good to go.

PM me if you'd like to get an APK to play with. I should have something ready to go by the weekend. And keep those ideas going.

11  Bitcoin / Development & Technical Discussion / Working Android App on: July 22, 2010, 08:56:59 AM
App is now available on the Android Market. Look for Bitcoin.
Now that we have RPC passwords, I am tunneling bitcoind over SSL, and can query the daemon from anywhere. So, I whipped together an Android app that provides access to the API. At this point, I am just calling "getinfo" and parsing the output, which I think demonstrates the basic functionality needed for a complete app. I'm attaching a fresh screenshot, straight from my Nexus One. I'll be hacking more features in over the next few days.

If you
  • are running the headless client on a server somewhere,
  • have an Android device,
  • want to help with beta testing,
  • and will have lots of patience with my schedule...
Then I would love three or four volunteers to help with testing and to suggest fixes and improvements.


For reference, here's how I've set up my Ubuntu server:

1. I created a startup script, /etc/init.d/bitcoind-ssl. It looks like this:

#!/bin/sh -e

# /etc/init.d/bitcoind-ssl

[ -x /usr/local/bin/bitcoind ] || exit 0
. /lib/lsb/init-functions
. /etc/default/rcS

#The port on which the SSL tunnel will run
#Run as this user.

case "$1" in
   log_begin_msg "Starting bitcoind..."
   su $USER -c ~$USER/bin/bcstart
        /usr/bin/stunnel -d $PORT -r 8332
   log_begin_msg "Stopping bitcoind..."
   su $USER -c ~$USER/bin/bcstop
   echo Waiting for server to shutdown cleanly...
   sleep 2
   fuser -n tcp $PORT -k
   su $USER -c ~$USER/bin/bcstop
   echo Waiting for server to shutdown cleanly...
   sleep 2
   fuser -n tcp $PORT -k
   su $USER -c ~$USER/bin/bcstart
        /usr/bin/stunnel -d $PORT -r 8332
   su $USER -c ~$USER/bin/bcstatus
   echo "Usage: /etc/init.d/bitcoind-ssl {start|stop|restart|force-reload}"
   exit 1

exit 0

2. I made three scripts in ~/bin, bcstart, bcstop, and bcstatus. The names are pretty descriptive. These scripts contain my password but are only readable by me and root, so that's relatively safe (esp. since I'm root).

3. I scheduled the init script to start at boot-time. You can do something like sudo update-rc.d bitcoind-ssl defaults.

And, just for completeness, I use logrotate to simultaneously rotate my bitcoin logs and do staggered backups of my wallet:

# logrotate.conf
# Schedule me to run in crontab:
# 0 1 * * * /usr/sbin/logrotate --state /home/rodin/.bitcoin/logrotate.state /home/rodin/.bitcoin/logrotate.conf

      rotate 5
         sleep 3
         cp ~/.bitcoin/wallet.dat.4 ~/.bitcoin/wallet.dat.5
         cp ~/.bitcoin/wallet.dat.3 ~/.bitcoin/wallet.dat.4
         cp ~/.bitcoin/wallet.dat.2 ~/.bitcoin/wallet.dat.3
         cp ~/.bitcoin/wallet.dat.1 ~/.bitcoin/wallet.dat.2
         cp ~/.bitcoin/wallet.dat ~/.bitcoin/wallet.dat.1

Hope this is all useful to somebody.
12  Economy / Marketplace / Re: Use your BTC to buy any item on E-bay under $33.11 USD on: July 20, 2010, 04:52:47 PM

That's a great idea!
It would inspire confidence to see some proof that you have the certificate. Maybe a screenshot with some of the important numbers blacked out?

13  Bitcoin / Bitcoin Discussion / Re: Why another surge in interest? on: July 16, 2010, 05:55:20 PM
It references by IP, so someone need only use a bunch of extra ones (or Tor), Bit Coin lets you generate new receive addresses all day, so they need only send to those, then funnel the BC back to their main account.

If someone is actually doing that I mean.  Wink

The difficulty is 181.5 right now (it's nice to see some real dynamics in the market), which means more CPUs are joining the network.
So the increase in faucet requests and the increase in CPUs are well-correlated, which suggests that the faucet requests are legitimate.
14  Bitcoin / Bitcoin Technical Support / Re: How long to start generating BC's? on: July 14, 2010, 08:11:21 AM
No, actually, in the current source code it never gets lowered:
1     // Retarget
2     CBigNum bnNew;
3     bnNew.SetCompact(pindexLast->nBits);
4     bnNew *= nActualTimespan;
5     bnNew /= nTargetTimespan;
7     if (bnNew > bnProofOfWorkLimit)
8        bnNew = bnProofOfWorkLimit;
10    /// debug print
11    printf("GetNextWorkRequired RETARGET\n");
There's no "else if (bnNew < ...something)"

The actual adjustment happens on lines 4 and 5.
bnNew = bnNew * actual/target
This will scale the required work up or down, depending on how long it actually takes to produce a block.

Lines 7 and 8 are just clipping.

Pages: [1]
Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!