Wiki.Glenux.Net

TwitBank

PagePrincipale :: PlanDuSite :: DerniersChangements :: ParametresUtilisateur :: Vous êtes 38.107.191.101
  TwitBank TwitBankSetup >>



TwitBank specification


About


It scans twitter timeline, looking for transactions between users, for your currency.

Licenced under Affero GPL v3


  TwitBank TwitBankSetup >>


TwitBank Setup


Preparing your system


Install the following packages on your system
  • subversion (to download the sources)
  • graphviz (to generate graphs)
  • apache2 (the web server)
  • php5 (the scripting language to make TwitBank run)
  • sqlite3 (the database system needed by TwitBank)
  • php5-sqlite3 and php5-sqlite (to make sqlite3 run into php5)

Configure your apache server properly.

Getting the sources


First, download it:


Make sure that your apache installation points to the directory where twitbank was downloaded.

Managing your currency


Then, configure your currency manager :
Lets say your currency is called karma .

First create an empty database :

  • ./new-currency.sh

Modify the file common/config.php and adapt it to your needs (change currency name, database name, etc...)

  • $config['currency'] = 'karma';
  • $config['initial_balance'] = 200;
  • $config['database'] = 'sqlite:twitbank.sqlite3';

Regulary call the "update.php" page (either by running a cron job on your server or by adding a javascript call to this page on every visit of the TwitBank instance).

  TwitBank TwitBankSetup >>


TwitBank Language


Overview

Currency transaction grammar should be very simple


  • EXPR :=
    • | SEND_ACTION USER AMOUNT CURRENCY TEXT
    • | SEND_ACTION AMOUNT CURRENCY USER TEXT
    • | REQUEST_ACTION USER AMOUNT CURRENCY TEXT
    • | REQUEST_ACTION AMOUNT CURRENCY USER TEXT
    • | REQUEST_ACTION AMOUNT CURRENCY TEXT
    • | DROP_ACTION AMOUNT CURRENCY TEXT
    • | JOIN_ACTION AMOUNT CURRENCY

where AMOUNT, CURRENCY and USER are defined as follow.

  • AMOUNT := a non-null positive integer value (1, 2, 3, ..., 5, ...)

  • CURRENCY := currency name, prefixed by # or $

  • USER := a twitter user name, prefixed by @

TwitBank should also support multiple languages.


Actions


Giving money


  • SEND_ACTION :=
    • | "->"
    • | "give" | "gives" | "gave" | "send" | "sent"
    • | "donne" | "A donné "| "Envoie"
    • | "δίνω" | "δίνει" | "έδωσε" | "έδωσα" | "έστειλα"
    • | ...

Dropping money


DROP_ACTION is an action to randomly give money to the system.

  • DROP_ACTION :=
    • | "-!"
    • | "Drop" | "Dropped" | "Drops" | "Lose" | "Lost"
    • | "Perd" | "Fait tomber" | "Fais tomber"
    • | "Lâche" | "Libère"
    • | ...

Joining the game


An amount of money is required.

  • JOIN_ACTION := not yet defined)


Examples


In other words, twitbank language should look like real sentences :

  • Give 5 #karma @xtof_fr for his great ideas
  • Gave @mathieucoste 10 $karma for ...
  • Donne 3 $karma @glenux to buy him a new server

  TwitBank TwitBankSetup >>

TwitBank Roadmap


Current version is 0.1

Release 0.1 (CURRENT)


Fixes

  • code cleanup & factorization (re-usable templates, etc)
  • register user at transaction import

Features

  • store all messages related to currency (backup purpose)
  • reimport all transactions from currency related messages (backup purpose)
  • command line setup (create db, fill initial values)


Release 0.2 (WORK IN PROGRESS)


Fixes

  • fix image cache update
  • only display/compute transactions between real/existing users

Features


  • import/export bank data for backup
  • add a command to join/register the community
  • only take in account registered users (config option)
  • (?) add a debug mode (with log)
  • shellscript installer (& mirror mode)


Release 0.3


Fixes


Features

  • statistical module
  • add a web transaction page (with authentication?)
  • bank actions (inflation, etc?)
  • twitbank installer


openmoney/joytopia/demurrage


other features

  • the graphs should display only registered users (config option)
  • display X transactions starting at offset O (template)
  • generosity ranking
    • @Galuel, le terme me semble inaproprié, il me semble plus juste de parler de "transaction ranking" si on veut classer les membres par quantité de monnaie reçue - donnée, ou sur le bilan...
  • graph node color change depending on generosity
    • @Galuel même remarque, "generosity" est un terme trop chargé de sens pour être lié à une monnaie, la monnaie n'est pas ce qu'on veut qu'elle soit, c'est simplement une quantité d'échanges, chacun y met l'émotion qu'il veut

openmoney

  • requesting moneys transaction (appel d'offre)
    • @Galuel, à mon sens ce n'est pas l'objet de la monnaie, c'est autre chose, un marché d'échange n'est pas lié à une monnaie, je pense que c'est hors projet, c'est éventuellement un autre projet. Chacun peut offrir des offres et services, ou des propositions d'achat indépendamment d'un lieu unique de transactions
  • drop money
    • @Galuel : ? dangereux !
  • inject money (transaction with the bank that adds credits into user's account)
    • @Galuel : ? dangereux !

Graph


Templates

  • stats: top 10 / bottom 10 (balance, generosity, etc.)
  • administrative page (managing euro<=>currency conversions, etc.)

Importing/Exporting data

  • add more input sources (for intranets)
  • download transactions graph
  • download transactions list (CSV, TXT, XLS, etC.)

Usability & IHM

  • internationalisation for transaction words (give, donne, etc.)
  • simpler syntaxes/grammars
  • better syntax/grammar analyzer (lex, yacc, etc.)
  • easy interactive setup (test environment, create db, fill initial values)
  • add a option for defining currency logo

Interesting suggestions/questions


@Glenux : Few of my friends don't want to play. Can #twitbank manage an exception list of ppl who don't want to receive #exploracoeur ?

@glenux je voudrais donner un #exploracoeur à tous les participants, possible de faire un envoi groupé ? lol

@glenux On dirait que les personnes populaires finissent par draîner les #exploracoeurs. Des stats nb followers/activité exploracoeur?

@Galuel : Ouvrir un compte TwitBank sur #exploracoeur , devrait se faire uniquement sur ouverture d'un compte valide, avec e-mail, adresse, et au moins la validation de quelques membres existants. Il faut éviter la création de multi identités, au moins la décourager, sinon la confiance dans la monnaie pourrait être ébranlée... Difficile de ne pas proposer une ouverture de compte via une page html twitbank au lieu de twitter...

@Galuel : Une interface d'administration permettant de choisir le système monétaire de la monnaie, et le modifier en cours d'utilisation ? (ex passer d'un crédit mutuel positif à un dividende monétaire, passer d'un dividende monétaire à 5%/an à un dividende monétaire à 8%/an, choisir la période où le dividende monétaire est versé, changer la période de valorisation du dividende (ex : 0,01% / 7 jours).

  TwitBank TwitBankSetup >>

TwitBank References


Books, People

  TwitBank TwitBankSetup >>


Frequently Asked Questions


How to participate


Joining the experiment is easy! Simply twit a specific message (see TwitBankLanguage).

Open a twitbank account


How to send money ?


How to request money ?


Il n'y a pas de commentaire sur cette page. [Afficher commentaires/formulaire]

Tout contenu publié sur ce site est couvert par la licence GNU FDL. L'acceptation de ce contrat par les contributeurs est préalable à toute publication sur ce site.

La licence GNU FDL (GNU Free Documentation License) sous laquelle sont distribués tous les articles de ce site permet à tous de les réutiliser librement et gratuitement comme il le souhaite, y compris pour des usages commerciaux. L'utilisateur du contenu s'engage à respecter les engagements de la GNU GFDL tant dans les copies conformes que dans les versions modifiées et doivent créditer ce site ainsi que les auteurs respectifs des pages concernées comme source.