Drupal and the Blockchain

by Eva Shon & Thorsten Krug


  • What is a Blockchain?
  • What is Ethereum?
  • How it might affect our business on the long term
  • Why we like it and how it might change the world

  • Current state of Blockchain applications
  • What role Drupal might play in blockchain tech
  • Drupal Ethereum Module Roadmap

In 2010 the first commercial bitcoin transaction was made to buy a pizza. 


The pizza guy accepting the 10.000 BTC for payment was an early adopter. 


The value of "the pizza" today is 7 000 000 euros.


Why I like it?

  • Remove the Middle man we require for trust
    (Music Industry, Airbnb, Ueber, Western Union, Banks, corrupt money systems... )
  • Get everyone in the World a bank account
  • Regain control / own your data
  • Trust layer for cooperative business models (DAO's)
  • Reinvent democracy
  • Don Tapscott: "How the Blockchain is changing money and business"

Who cares?

  • Banks trying to improve their interbank trade
  • Governments research how to digitalize ledger
  • Healthcare Sector (e.g. validated recipes)
  • Lawyers think about implementation between "smart contracts" and the implementation in law systems
  • Energy companies how to optimize energy efficiency and trading

3. What role could Drupal play?

Is it a nerds-only thing?

  • Blockchains currently require more
    than 60GB of disc space
  • Hard to set up and use for non-developers
  • I am:
  • Chrome Plugin
  • No full Blockchain (API)
  • Sign transactions in Chrome
  • Metamask works on porting to other browsers
  • Coming soon: JS developer library


"Transaction signers"

Ethereum wallets, Identity providers ... there are different scopes and naming

  • Mist browser   (Full Blockchain)
  • Metamask   (Browser extension)
  • uPort   (Identity provider)
  • MyEthereumWallet   (Online or Offline browser)
  • Jaxx (Mobile App & Browser extension)

Semi- decentralization

current web

ideal decentralisation

How to connect Drupal and Ethereum?


Verify and Sign Locally


Clients use
JavaScript- based signing tools

Server just pulls data

(no private key on Server)

Submit already-signed Tx's

to a central Server

Workflows for decentralization

  • Most data does not have to be fully trusted
  • Drupal can provide editorial workflows and presentation layers to blockchain apps 
  • Ledger
    Signing official documents requires a lot of back and forward, sending emails, revisiting, revisioning, user management, roles, permissions, views ... 
  • Asset tracking
    • Quality control signed digitally
    • Supply chain tracking and visualization

Drupal Ethereum Module Ideas 

  • Frontend side
    • Pluggable Transaction signer libraries
      e.g Metamask
  • Backend side 
    • Guzzle JSON-RPC calls to any Ethereum Node
    • Pull data

pull data


push signed data


Drupal has Identity

  • Drupal user accounts
  • Limited number of known participants
  • Connect:
            Drupal UID ↔ Blockchain ID
  • Optionally charge sign up fees
  • Optionally create a validity period
    • No Auto-renewal (sorry marketers)

Login Smart Contract

  1. User adds their Ethereum address
  2. Drupal generates a hash
    • Store it with address
    • Generates a transaction, which will store the hash to a registry in a smart contract
  3. User Signs transactions with their private key (uPort, Metamask ... ) → Hash will actually be stored
  4. Drupal verifies that the hash was stored and takes some action e.g. assigning a role to the user

Ethereum Module

Roadmap for Drupal Ethereum Module

  • Connect Drupal/Ethereum on API level
    • Pluggable Transaction signers
    • Drupal Backend Data pulling
  • Identity for Drupal (connect accounts)
  • Field based voting system
    • Store Hashes of the voting issues and let user vote
  • Pull Blockchain Data to Drupal to make it searchable
  • Integrate IPFS Field (decentralized file storage)

Ethereum based voting with Drupal

Ethereum based voting with Drupal 

  • Target Group NGO's "trusted organisations"
  • Drupal-Based User management with Etherum-Drupal account connection 
  • Creating custom smart contracts

    • Goal: UI to create Smart Contract and deploy them from Drupal admin-backend

  • "Freeze a set of fields" to provide a time consistent content users vote on. Revisioning integration=

    • Store a hash of the content in Blockchain

  • Provide a UI to sign a vote using a transaction signer

See my Blog post: http://bit.ly/drupalvoting

Looking at the future

  • Editorial workflows integrating Smart Contract deployment
  • Integrate smart contract libraries for digital autonomous organisations, DAO distribution
  • Signed files, Signed Software releases
  • Trusted peer to peer reviews
  • Evaluate, mirror and search Blockchain content
    • Pull Data from Blockchain
    • categorize, search display, make accessible
  • Trusted authors:
    Connect Posts and Blockchain Identity

Why Drupal should care about Ethereum?

  • Blockchain technology will change how things work
  • We are experienced in open source sharing culture: we can help connecting Ethereum technology to end-users, our customers, startups, DIY nerds ...
  • Drupal can provide Identity in the context of limited user groups
  • We have the technology and experience to provide enterprise level workflows which might include signing transactions for "official publishing"


Eva Shon

Thorsten Krug



By Thorsten Krug

Loading comments...

More from Thorsten Krug