Merge branch 'pharpend/develop' of github.com:aeternity/Vanillae into pharpend/develop

This commit is contained in:
2023-07-08 19:28:55 -06:00
+30 -43
View File
@@ -14,59 +14,46 @@ ecosystem, you want the [Aeternity JavaScript
SDK](https://github.com/aeternity/aepp-sdk-js). The SDK is a Swiss Army Knife. SDK](https://github.com/aeternity/aepp-sdk-js). The SDK is a Swiss Army Knife.
Vanillae is just a knife. Vanillae is just a knife.
## Flagship Tools Vanillae grew out of [Aegora.jp](https://aegora.jp). We made a simple
e-commerce store using Aeternity as the payment system. We encountered a lot
of rough edges in Aeternity's tooling, and so developed our own, and
open-sourced it. That became this project
Our tooling is grouped according to the project that spawned it
- [Sidekick](./sidekick/) - [Sidekick](./sidekick/)
A library to talk to a browser wallet extension from the perspective of a We needed the ability to talk to Superhero (the standard Aeternity browser
page script. wallet extension) from our page script. Sidekick is a simple library to do
just that.
- Bindings - [Sidekick Examples](./sidekick_examples/) illustrate how to use sidekick
These are language-specific libraries that expose the most common functions you - [AWCP](./libs/awcp/): the aepp/waellet communication protocol
need in a backend application that uses Aeternity.
These intentionally do not cover obscure or esoteric Aeternity features This is the definition of the messaging protocol between the page
(e.g. hyperchains). script and the wallet. Sidekick implements one half of this protocol.
- [Erlang](./bindings/erlang/) - [jex](./utils/jex/)
We encountered packaging as an obvious problem to solve, and NPM is
simply a terrible way to solve it. Jex is a TypeScript/JavaScript
package manager that avoids most of the NPM-related security issues.
## Libraries - [Vanillae Erlang Bindings](./bindings/erlang)
These are libraries that were developed incidentally which made sense to factor Our server backend is written in Erlang. We needed to talk to the
out. blockchain from our server backend. Vanillae.erl is an Erlang application
that does that.
- [AWCP](./libs/awcp/) It is designed in such a way that you could write say a Vanillae Go
library with an identical API but totally different internals. Ultimately
the idea here is to create a language-agnostic API for talking to the
Aeternity blockchain from the
Aepp/waellet communication protocol - [Jaeck Russell](./jrx/): this is a (work-in-progress) simpler wallet than
Superhero
This is just type definitions and constants (error codes). Type definitions - [Vanillae Files](./docs/): any time where we encountered some weird thing
consist of what data the waellet expects from the aepp, and what data the that is like 1 hour of information but takes 15 hours to understand because
aepp expects from the waellet. it's poorly documented, we tried to document it here.
## Utilities
These are applications that were developed incidentally during the course of
this project.
- [jex](./utils/jex/)
A TypeScript/JavaScript package manager that avoids a large class of
NPM-related security issues.
- [vlogd](./utils/vlogd/)
**NOT FOR PRODUCTION USAGE**
Simple HTTP server that just logs requests it gets. Used in example code
for demonstrating sidekick's logging capabilities.
## Documentation
- [base64 versus base58 explainer](./docs/baseN/)
These are two numerical notations used in the Aeternity project.
- [NPM guide](./docs/npm-misc/)