Damn, that machine would probably be worth ripping off.. it looks like it can hold a lot of gold.
|
|
|
Thanks for the replies. I have it working somewhat but it's really inefficient at the moment. I will try to get a windows and linux version built this weekend so other people can play with it.
|
|
|
Maybe someone with a little background in this statistics/math stuff can shed some light on this..
The way this thing works is it takes a (basically random) block of data and alters a 32 bit field inside it by starting at 1 and incrementing. The block of data also contains a timestamp and that's incremented occasionally just to keep mixing it up (but the incrementing field isn't restarted when the timestamp is update). If you get a new block from the network you sort of end up having to start over with the incrementing field at 1 again.. however all the other data changed too so it's not the same thing you're hashing anyway.
The way I understand it, since the data that's being hashed is pretty much random and because the hashing algorithm exhibits the 'avalanche effect' it probably doesn't matter if you keep starting with 1 and incrementing it or if you use pseudo random values instead, but I was wondering if anyone could support this or disprove it.
Can you increase your likelihood of finding a low numerical value hash by doing something other than just sequentially incrementing that piece of data in the input? Or is this equivalent to trying to increase your chances of rolling a 6 (with dice) by using your other hand?
|
|
|
I added a little fix after I made the binary.. It will try to leave one core unused so that it doesn't bog down. I have a MacBook with a 9400M as well and since the GPU is so slow (only about 500k/sec) it doesn't really lose that much if there's 2 CPU threads running. But on my desktop with an 8800 (about 3500k/sec) it drops dramatically if I don't leave one of the cores free. So really on the MacBook it might be better to just run 2 CPU threads anyway, maybe I'll add an option for tweaking.. this is all just a prototype right now.
I'm getting about 950k/sec total with 9400M + one CPU thread on the MacBook I have. It seemed like i was getting about 1000-1100k/sec with 2 CPU threads + 9400M. About 700-800k/sec with just the CPUs.
|
|
|
I have a working prototype of Bitcoin generation with OpenCL. OpenCL is similar to OpenGL but it's for doing computation, not graphics. Other similar technologies are CUDA (NVIDIA) and DirectCompute (Microsoft). OpenCL is Apple's version of it but it is available for Linux and Windows as well. I posted a Mac OS X binary package in my other thread. I will create a patch and write up instructions for each platform this week as I have time but I wanted to find out who if anyone is interested in this even. Please reply if you're interested and what OS/Video card you have. Supported video cards: NVIDIA: http://www.nvidia.com/object/cuda_gpus.htmlAMD (ATI): http://developer.amd.com/gpu/ATIStreamSDK/Pages/default.aspx#twoJust to give people an idea of the benefit.. In my development computer I have an Intel E8600 CPU which runs at 3.3ghz normally.. I have it clocked at 4.1ghz With 2 threads running the normal way I get about 1800k iterations per second in the bitcoin miner. With an NVIDIA 8800 GTS (G80 GPU) video card I get around 3300-3800k iterations per second (varies with tuning of the code). I find the best total performance comes from running one CPU thread and one OpenCL thread for the GPU (which does a bunch of work in parallel). I get about 5000k/sec total that way on my development machine. If I use 2 CPU threads it slows down the overall results to about 3600k/sec because the CPU is tied up computing and not pumping data to the GPU fast enough.
|
|
|
Updated Mac OS X binary which uses OpenCL It will use your GPU to generate bitcoins. This works really well if you have a good GPU like an NVIDIA 8800 or something like that. So far I only have it for Mac OS and only for 10.6+. 10.5 didn't have OpenCL yet so if you're using 10.5 stay with the previous release. Mac OS X Intel 10.6 package http://heliacal.net/~solar/bitcoin/Bitcoin-MacOSX-Intel-svn-75-opencl-2010-05-10.dmgPlease let me know if you have a chance to test this. To see how your performance is, run this in Terminal.app tail -f ~/Library/Application\ Support/Bitcoin/debug.log
You will see messages like this after it spools up. Wait about 2-3 minutes after it starts generating for it to even out.. it will spike low or high at first. Example messages: **Perf - thread 1 : 3386k iter/sec **Perf - thread 2 : 787k iter/sec **Perf - total : 4173k iter/sec (2 threads) **Perf - thread 1 : 3445k iter/sec **Perf - thread 2 : 799k iter/sec **Perf - total : 4244k iter/sec (2 threads)
I will try to get this working for Linux and Windows as well, as time allows. Let me know what you guys think.
|
|
|
Really from a purist stance, people should audit the code and build it themselves.
However this would exclude most people except dorks like us.. so you just have to trust that you got it from a reputable source. I distribute a Mac OS X binary version but if you don't trust me you shouldn't be using it. Similarly, I can make a password manager tool or a PayPal assistant tool and I can make it send your passwords and money to me. You have to trust someone I guess unless you are willing to audit the code yourself. The network itself has some protections from non-cooperative nodes but the users are obviously targets for scamming. Kind of reminds me of the card skimmers people install on ATMs too.. they think they're using a trustworthy machine but it's been modified to capture their information.
|
|
|
If you guys are interested in ipv6, there are a lot of transition mechanisms available. Windows comes with teredo which is kind of complicated for what it does.. I like 6to4, basically every ipv4 node has an ipv6 prefix which is 2002:<ipv4 addr> /48. It is very easy to set up 6to4 on a linux box. Here is my setup as an example: echo 0 > /proc/sys/net/ipv6/conf/all/autoconf echo 0 > /proc/sys/net/ipv6/conf/all/accept_ra echo 0 > /proc/sys/net/ipv6/conf/all/accept_redirects echo 0 > /proc/sys/net/ipv6/conf/all/router_solicitations echo 1 > /proc/sys/net/ipv6/conf/all/forwarding ip tunnel add 6to4tunnel mode sit ttl 200 remote any local 76.122.46.187 ip link set dev 6to4tunnel up # listen for 6to4 traffic to me ip -6 addr add 2002:4c7a:2ebb::1/16 dev 6to4tunnel # route to non 6to4 ipv6 hosts ip -6 route add 2000::/3 via ::192.88.99.1 dev 6to4tunnel metric 1 # add address to lan0 ip addr add 2002:4c7a:2ebb:0001::1/64 dev lan0 # add address to lan1 ip addr add 2002:4c7a:2ebb:0002::1/64 dev lan1 echo "Starting radvd..." /opt/radvd/sbin/radvd
That is literally all it takes. This is for my linux box which is acting as a router. You just convert your ipv4 address to hex. For instance mine, 76.122.46.187 == 4c 7a 2e bb The v4 address 192.88.99.1 is an anycast address.. There are routers that pick up the 6to4 traffic and bridge it over into the native v6 land. Because of how routing works you will just get to the closest (network wise) bridge router when you transmit to v6 addresses. Setting up radvd allows the client machines on your lans (I have lan0 and lan1) to receive an automatic ipv6 address. With this set up you can hit ipv6.google.com and see the letters bouncing to know it works. If you're planning to try this, google up some info on 6to4 first so you understand how it works. Also be aware that your machines which are NAT'd with ipv4 are globally accessible with this set up and are not filtered unless you set that up separately (windows firewall, ip6tables, etc)
|
|
|
It took a little while to figure this out.. I have created a document and a little patch file to make it painless to build this on Mac OS. Intel only, PPC doesn't work right now unless someone wants to make a patch for it. The daemon mode isn't working yet, I will take a look at that eventually, but others are welcome to help out with a patch too ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) Instructions and files are all here http://heliacal.net/~solar/bitcoin/mac-build/Here is an updated binary with the menus and stuff fixed to work like other Mac apps.. http://heliacal.net/~solar/bitcoin/Bitcoin-MacOSX-intel-svn-75-20100501.dmgYour wallet and debug.log and such are stored in ~/Library/Application Support/Bitcoin so back this up regularly. Currently I'm working on adding OpenCL support to increase the yield so expect to see more updates soon. Thanks for checking it out, let me know how it works out for you!
|
|
|
The problem is with the way you (or whoever built your binary package) built wxWidgets.. if you use --with-stl when you configure it, the std::string<> thing won't be a problem. If you read that post you linked to it's just someone not using it correctly; it's just an option in wxWidgets.
|
|
|
I think it would be nice to have a technical discussion (not just tech support) forum.. I wasn't sure where to put my Mac OS stuff so I just put it in the one that wasn't tech support ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif)
|
|
|
I think it is a lot like gambling.. you could get lucky and generate one every few minutes on your old computer, but overall the faster computers will probably generate more.. though, maybe not, depending on luck and such.
You probably already checked but just in case.. did you turn on the generate coins option? It is off by default when you first install.
By the way, what is your address?
Laszlo
|
|
|
Glad to hear someone besides me is interested in using Bitcoin on Mac OS ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) I made a mistake with the PPC version that's in the binary - it's flagged for G5 only. I didn't have a way to test it.. I have an iBook G4 but I'm happy with 10.4 on it but it was easier to just build wxWidgets for 10.5/10.6 without support for 10.4. If I can get the iBook to boot off an external drive somehow I can install 10.5 to test with.. maybe a firewire drive would work. I use 10.6 Intel primarily and that is what I built with but I would like to figure out how to make it work on PPC as well. The way Satoshi wrote this, he is using a library called wxWidgets to make it a cross-platform application. It allows the programmer to create kind of a lowest-common-denominator generic user interface and the library takes care of the native implementation like windows, GTK or Cocoa. I'm not sure if it's possible to get rid of the 'Bitcoin' (leftmost) menu in a Cocoa app, but it bothers me too since it doesn't 'fit in' right like a real native Cocoa app. I'll look into it though. Laszlo
|
|
|
Do you think you can send me a screen shot with the menu problem? Command-Shift-3 will put a screen dump .png file on your desktop Also it might help to post your system info.. In /Applications/Utilities run Terminal.app and enter this command to dump the system info into a file: system_profiler > ~/Desktop/system_profiler.txt That makes a text file on your desktop. You can attach the file to the forum or just email it to me: solar@heliacal.netThanks, Laszlo
|
|
|
Screen shot: ![](https://ip.bitcointalk.org/?u=http%3A%2F%2Fheliacal.net%2F%7Esolar%2Fbitcoin%2FScreen%2520shot%25202010-04-19%2520at%25207.18.24%2520AM.jpg&t=665&c=fRnqqHoGywlZbQ) Disk image: http://heliacal.net/~solar/bitcoin/Bitcoin-MacOSX-universal-svn-75-20100419.dmgInstallation: Run directly from disk image or drag to Applications folder I have not tested ppc so it probably doesn't work. I got it to run on 10.5 and 10.6 64-bit Intel though. This is based on svn but the daemon/commandline mode isn't working yet, only the GUI. Please post any problems. If it crashes I'll try to help but screen shots, logs or crash dumps might be needed to figure it out. Thanks Laszlo
|
|
|
Hi all, I'm a new Bitcoin user and I'm starting to generate some of my own coins. I have a few friends who are also using it now.
I am a programmer by trade and have a fair amount of experience with different platforms like linux, Mac OS, iPhone, etc.
I am interested in running Bitcoin on other platforms like iPhone and I'm wondering if there is any interest in this or if anyone has a problem with this. I'm also wondering if someone has already done this so I don't waste my time. Thanks!
My Bitcoin address is 1XPTgDRhN8RFnzniWCddobD9iKZatrvH4
-Laszlo
|
|
|
|