Vanillae Project

Vanillae Project

1. tl;dr

This is a set of libraries, applications, and utilities which make it easy to for developers to use the Æternity payment network.

2. Downloads

Package Name Version Mindist Docs Description
awcp 0.2.2 Download Docs ÆPP-WÆLLET COMMUNICATION PROTOCOL: type definitions for messages passed between page scripts and browser wallets
sidekick 0.2.2 Download Docs SIDEKICK: simple library for talking to a browser wallet extension from a page script. Implements the "Æpp" side of AWCP.

3. Contents

  1. tl;dr
  2. Downloads
  3. Contents
  4. Motivation/History
  5. Vanillae.erl
  6. Sidekick

4. Motivation/History

The two developers on this project are Craig Everett and Peter Harpending. Craig is an Erlang graybeard. Peter is a recovering mathematician who reluctantly programs because food is kind of expensive. For the most part, Craig handles the Erlang stuff, and Peter handles the TypeScript stuff (hurray).

Vanillae started as our own internal toolset that we developed in the process of making Aegora.jp. Aegora is a normal, vanilla, e-commerce site. We just happen to use Æternity as the payment backend. In particular, Craig developed Vanillae.erl because talking to the blockchain from the server backend was needlessly annoying, and Peter developed Sidekick because the Æternity JavaScript SDK was (is) impossible to use. We then open-sourced our "talk to Æternity" tooling, and the Æternity Foundation decided to pay us to continue to develop it and expand it.

Aegora is the first normal e-commerce platform that utilizes any form of cryptocurrency. We would like if Aegora made us billionaires, but really Aegora is a proof-of-concept; that concept being "cryptocurrency could actually be useful."

Our hope is that you (yes, you) will be inspired by Aegora, and go off and use Æternity for your own commercial projects. The point of the Vanillae project is to make it easy for you to do that. Craig and I are also working on a number of other projects to make Æternity useful to ordinary people, not just developers.

Cryptocurrency has thus far failed to penetrate the economy of ordinary goods and services. Cryptocurrency has been used on the dark web for buying babies and cocaine, and for various scams such as NFTs, fraudulent crypto exchanges, and pump-and-dump schemes. One has to ask: why?

Our hypothesis is that most cryptocurrencies (i.e. every coin except Æternity) are technically deficient to the point that they are totally useless in The Space Of Things That Actually Have To Work (e.g. non-scam commerce). To test this hypothesis, our goal is to make Æternity easily usable and see if people start using it in The Space Of Things That Actually Have To Work.

As of July 2023, Æternity is still in the same usability class as Arch Linux. Our goal with this project to get to like Debian.

From our personal experience building Aegora, once you understand how to use it, Æternity is by far the easiest electronic payment system to use in a commercial application. It is the genuine manifestation of Satoshi's dream.

4. Vanillae.erl

This is an Erlang application that smooths over the rough edges involved in talking to Æternity nodes from an Erlang program.

Vanillae.erl is also a standard that is meant to be mimicked in other languages. The idea is to have a "library" (Erlangers: it's an Erlang application) of Erlang function calls that return natural Erlang data structures. The API is designed in such a way that the API should generalize to other languages. We would like there to be a Vanillae.py for instance (Python 2 of course), which would maybe require startup or something, maybe the natural idiom would be whatever you do to make `with` syntax work, whatever. The point is, there should be a

5. Sidekick

Sidekick is a simple, transparent, and self-contained library for talking to an Æternity browser wallet extension (e.g. Superhero [hence the name] or Jack Russell) from your page script.