Bitcoin Roadmap for Drupal

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
DarrellDuane's picture

Hi Bitcoin enthusiasts who use Drupal!

I'm so glad to see that people are interested in using Drupal with Bitcoin. I've already created two sites using Drupal for Bitcoin related stuff: https://bitcoinbonus.com and http://bitcoinbasics.com.

I wanted to open up a conversation about the best way to bring Bitcoin to the Drupal community and lay out a roadmap for various development efforts in the hopes of reducing duplicated effort and enhancing the time that more people can start using Bitcoin with Drupal.

I'm aware of three modules --

uc_bitcoin -- created by MIke Gogulski (named Bitcoin) for using Ubercart to accept payments in bitcoin http://bit.ly/eaKyjH
btc_address -- created by me (DarrellDuane) uses bitcoin-php. I'm thinking of changing the name of this to be bitcoin_address https://github.com/DarrellDuane/btc_address
bitcoin -- a module that Bind Drupal accounts to Bitcoin accounts in bitcoind, maintain user's address book, make payments. Created by m0ray (Dimitri ) available in the bitcoin.org forums or at http://drupal.org/node/1030762

also relevant to consider is:
* bitcoin-php (a PHP library for Bitcoin created and maintained by Mike Gogulski) https://github.com/mikegogulski/bitcoin-php
* the Bitcoin PHP classes/library included in m0ray's module, which I've suggested should be separated from his module.

What else is out there for Drupal or PHP that I'm missing?

I'd like to hear a list of "nice to haves" at the high level, for bitcoin on Drupal -- what would be good tools for you to have to support your btc/drupal ideas?

Some of the ideas & concerns I've got:

--I'd like to have just one bitcoin related module that is the base module used for including the bitcoin-php library, and then other modules that needed to use this library would by default make the original module a dependency for any other module that wanted to communicate with one or more bitcoind instances.

-- I'd like to do is replicate the bitcoin client/user interface in Drupal, but make it able to quickly switch between multiple bitcoind daemons.

--What should be in the module named "bitcoin" ? When someone downloads bitcoin, what do they get? I'm thinking it should be what I describe above

What are you looking for? How can we best create a modular framework of modules to make it easy for each of us to contribute to Bitcoin for Drupal, and also make Drupal easy to use with Bitcoin

p.s. Anyone thinking about Drupal 7 yet?

Comments

Thanks

tedstein's picture

We need these modules and this conversation. I am interested in helping out.

I think we need a standard library for the API, that we can stick in /sites/all/libraries/bicoin. With any luck, this would become the standard PHP library for interacting with bitcoin.

Given that two people wrote APIs, I am not sure how to resolve this. But it is important, as I would think that a lot of the new features we roll out would go into the API, so that all the modules built on top of the API could use it.

Multiple classes is not so bad

m0Ray's picture

Generally we need only one standard library: the sane JSON-RPC implementation.

BTW, I don't think that Sergio Vaccaro's class I used in my module is perfect. I want to refactor it. The main problem is using fopen wrappers.

Other libraries implement business logic. Uebercart module is useful for uebercart, my module is useful for online wallets etc. Wide range of logic classes is a good thing, IMHO.

So, how to resolve this?

tedstein's picture

Thanks m0Ray.

If there end up being several APIs that is OK, so long as we avoid name space collisions and each APIs does not do the same thing.

In my perfect world we would have:

/sites/all/libraries/bitcoin (has the json)

And maybe things like:

/sites/all/libraries/bitcoin_wallet
/sites/all/libraries/bitcoin_ubercart (though it would seem as if this might better be inside of the bc/uc module)
/sites/all/libraries/bitcoin_mtgox
/sites/all/libraries/bitcoin_address

But the point being, it seems to me, that generic interactions with bitcoind, the bitcoin network, bitcoin sites, etc. should be in libraries as opposed to modules.

That way multiple modules could be built on the libraries. I haven't looked at the other bitcoin modules, but your 'includes' folder really looks (to me) like it belongs in /sites/all/libraries/. I am happy to help with this re-factoring if you and Darrell (and others?) agree.

Does this make sense to you?

Agreed.

m0Ray's picture

The general purpose bitcoin class library (I'll call it GPBCL here) is now named bitcoin_account, 'cause it focuses on bitcoin account API.
I created git repo for GPBCL here: https://github.com/m0Ray/bitcoin_account
Today I fixed most issues with fopen() - now the class user can see bitcoind error messages even when 500 happens. It works fine with PHP versions >= 5.2.10.
These classes will go to /sites/all/libraries/bitcoin_account.

Now I'll work on drupal module. I will remove some redudant things and add caching to some routines along with GPBCL improvement (they miss some methods like address labels etc).

payment system in drupal

matslats's picture

My module, mutual_credit is all about running one or many currencies within a community.
I would be interested in some kind of Drupal integration.
Mutual credit keeps accounts between users on the system, and provides flexible payment forms. It wouldn't be necessary to move the bitcoins between actual users, but to hold them somewhere and trade virtual bitcoins between users.
I don't know anything about the wallets.

I'm still new to bitcoin, but

patcon's picture

I'm still new to bitcoin, but isn't the point that it's no-friction to transfer bitcoins? Why is there a need for virtual bitcoins that are tracked on the system alone, when it's supposedly just as simple and free to exchanged them between bitcoin accounts?

good question

matslats's picture

Bitcoins cost money/energy to aquire, but if you just need a medium of exchange / measure of value you don't actually need the actual bitcoin.
Like in the conventional economy. The actual money, M1 is issued by the govt in form of coins and notes. The whole of the rest of the money is virtual, leveraged fiction. But it works, mostly. Banks have the right to do this leveraging, which they do by marking the money as 'in' your account while they have actually lent it out!
In the same way you can trade in virtual chickens. where each token represents a chicken This is called commodity money. We could measure our whole economy in chickens without having to create a million billion chickens.
See what I mean?

haha yeah, I think I'm just

patcon's picture

haha yeah, I think I'm just missing some knowledge of bitcoin...

I get the analogies to real-world-vs-virtual things, but bitcoins are... already virtual, right? And there's no cost to transfer them. So why not just fulfill actual transfers at no cost, instead of creating a virtual virtual currency. Where is the need to abstract something that already totally abstracted to the same degree? :)

bitcoins are digital, not virtual!

matslats's picture

Bitcoins already have a real monetary value and a physical location - they are not virtual. When I talk about virtualising a currency consider this. I can measure exchanges in my community in dollars without having any dollars. only for imports and exports do I need a hard currency, but I only need one bank account for the whole community and I only need the balance of trade in that account.
So a community can measure the value of its goods an services using any yardstick it likes without investing in acquiring large numbers of state-sanctioned yardsticks.
Anyway the important thing is that the bicoin payment method for ecommerce is on its way. And if a community wants to use bitcoin as a measure of value, they can use my module, mutual_credit, without everyone having to get a wallet and without Drupal having to instruct the wallets.

bitcoin support

AlexDusty's picture

Thanks for these projects, very interesting and very useful to help bitcoin so became more useful and accepted!

Bitcoin next task

DarrellDuane's picture

I am working on getting Bitcoin as another payment method using the Payments API. Please be in touch if you want to help.

BitCoin needs

Satori42's picture

Darrell, I've directed a number of BitCoin users to you via this page.

A couple of days ago PayPal disallowed CoinPal, a site designed to allow users to purchase BitCoins via PayPal. Much of the BitCoin community is now left without a means to exchange Federal Reserve Notes for BitCoins. This has put something of a damper on things.

What the community will probably need will be a module that can use Drupal to connect BitCoin transactions to the various other payment forms. That would allow the creation of sites where users could, say, purchase BitCoins from the system via credit card, and vice-versa.

Presumably the system would also need to be able to queue transactions from users who'd paid to buy BitCoins, and buy them from other users on their behalf as BitCoins became available.

At any rate, I've directed users here from this thread, with the suggestion that they collaboratively fund the development of such a Drupal module.

Bitcoin Needs

DarrellDuane's picture

HI Satori!
Thanks for letting people know, I do hope we can collaborate as best as possible.

I've built http://BitcoinBonus.com in drupal and have made the one module available for storing bitcoin addresses

I'd be interested to hear from others about what specific needs are. I think Drupal and the Drupal Community has a lot to synergize with Bitcoin and the Bitcoin Community.

Missing settings.php

banghouse's picture

Hey Darrel,

Looks like your settings.php might be missing in that drupal install.

New Modules

DarrellDuane's picture

OK, I've just registered bitcoin and uc_bitcoin as Drupal modules. Bitcoin is meant to be a drupal based interface to one or more bitcoin daemons, uc_bitcoin is an ubercart payment method that accepts bitcoin, based on Mike Gogulski's work. Now I need to get both far enough along that they can be checked in.

Bitcoin and Drupal Exchange

webbroidrupal's picture

Interesting in working on this project. Specifically with Devcoins if possible.

interested

lonroth's picture

How is this work progressing at the moment?

I think that if drupal will get bitcon support as payment, it will be a big thing.

I might help out.

I want a module that can

banghouse's picture

I want a module that can accept exchange api data and allow me to manipulate the display of the various exchange's output. I'm not skilled enough to build it at the moment but I'm looking into it. Any help is greatly appreciated.

I know i've seen one

dgtlmoon's picture

I know i've seen one somewhere hmm

I've been searching but

banghouse's picture

I've been searching but haven't found anything relative yet. Let me know if you find something. Thanks!

exchange API

Interesting but I don't see

banghouse's picture

Interesting but I don't see how this is relevant to my want for a module that pulls in bitcoin exchange api data. Maybe I'm missing something? I'm not trying to trade chickens or backrubs. I want to see bitcoin spot prices from various bitcoin exchanges in a Drupal view.

now that's a clearer requirement

matslats's picture

It wasn't clear to me what you meant by 'exchange API'
Mutual credit would give you an API to connect between bitcoin wallets and Drupal.

Blockchain (Bitcoin & Beyond)

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

Hot content this week