

Embeddable Bitcoin Miner for Websites - dnadolny
http://www.bitcoinplus.com/miner/embeddable

======
adrianwaj
I'd show some stats on the website, like how much mined in previous 24hrs, how
much the individual pc is contributing, other sites that run the widget.

Make the user feel appreciated.

Give them the option to turn it off, or throttle down. Check out the Wibiya
toolbar and how that can be switched off. Build a network.

Also, consider making the mining as part of a captcha mechanism.

~~~
dnadolny
I've made an option to add controls, which shows the current hashrate and a
start/stop button. Right now it's up to the websites using it to enable that
if they want to.

I like the captcha idea, I've actually been planning something like that. I've
got some changes I need to make to my infrastructure before I can do that, but
I'm hoping to do it (or let other people do it with the API I'm going to
offer).

Thanks for the advice about making the user feel appreciated, I think that's
quite important.

~~~
adrianwaj
You've got to keep your eye out on how to access the full power of the
client's GPU. I just saw how IE9 and FF4 offer GPU acceleration
<http://www.youtube.com/watch?v=r7VLB4DcXhg>

Also, when the user is scrolling the page can you throttle down, so basically
the idea is not detract from the user experience. On-demand throttling down
somehow. Maybe when a tab is not visible.

~~~
dnadolny
Yeah, I'd really like to use the GPU, it would be a huge speed boost.

Was it lagging when you were scrolling down? I try to play nice with the CPU
and run it at low priority, so it shouldn't interfere. What OS/browser/java
version combo has trouble?

~~~
adrianwaj
I don't have Java installed and don't want to install it. I wonder if internet
cafes and kiosks would be interested in something like this. You could create
a url shortener that place their homepage in a frame or something.

~~~
dnadolny
We really think alike - the captcha idea, and the URL shortener with a miner
at the top were two of my first ideas for uses of an API.

I didn't think of marketing it to internet cafes/kiosks though.

------
orangecat
Wow. I'd like a list of sites that use this, so that I know to never do
business with them.

~~~
dnadolny
Can I ask why?

The way I see it, websites with advertisements use your mind (by grabbing your
attention). This only uses your computer. Which would you rather have a
website try to take over?

~~~
rudiger
You really think you'll get effective monetization out of a Bitcoin miner
that's written in JavaScript and only run on people's short one-minute visits
to a website?

Bitcoin mining is orders of magnitude more efficient on a GPU than on a CPU,
and that's compared to the fastest C++ clients, not something running in a
JavaScript interpreter. _Maybe_ a popular installable game that's played for
hours at a time _and_ uses people's excess GPU to mine Bitcoin could be
profitable. But this is just a waste of everyone's time.

~~~
dnadolny
This one isn't javascript, it's based on my browser bitcoin miner[1] which is
written in Java. It's about 2000 times faster than the javascript bitcoin
miner that I know of.

It's around 30-40% slower than one of the optimized C CPU miners, and of
course it's a a lot slower than a GPU miner, but it mines at a reasonable rate
(and it starts up quickly)

As for effective monetization, this is something you can run in addition to
regular ads if you wanted, since it doesn't take up any screen space.

[1] - <http://www.bitcoinplus.com/generate>

~~~
orangecat
Oh good. So not only does it spike my CPU and kill my battery, I also get the
resource overhead of the JVM. This is a reverse DDOS.

Sorry if I'm being too hostile, but I like the idea of bitcoin, and don't want
to see it become associated with hijacking people's computers.

~~~
dnadolny
No need to apologize for how you feel - some people love the idea (of
supporting a website with their computer power), some people hate it.

As for the resource overhead of the JVM, it's infeasible to have a bitcoin
miner that uses javascript - that was how I did it initially, as a proof of
concept, but it was so slow I abandoned it.

