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
+29 -42
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/)
## Libraries
These are libraries that were developed incidentally which made sense to factor
out.
- [AWCP](./libs/awcp/)
Aepp/waellet communication protocol
This is just type definitions and constants (error codes). Type definitions
consist of what data the waellet expects from the aepp, and what data the
aepp expects from the waellet.
## Utilities
These are applications that were developed incidentally during the course of
this project.
- [jex](./utils/jex/) - [jex](./utils/jex/)
A TypeScript/JavaScript package manager that avoids a large class of We encountered packaging as an obvious problem to solve, and NPM is
NPM-related security issues. simply a terrible way to solve it. Jex is a TypeScript/JavaScript
package manager that avoids most of the NPM-related security issues.
- [vlogd](./utils/vlogd/) - [Vanillae Erlang Bindings](./bindings/erlang)
**NOT FOR PRODUCTION USAGE** Our server backend is written in Erlang. We needed to talk to the
blockchain from our server backend. Vanillae.erl is an Erlang application
that does that.
Simple HTTP server that just logs requests it gets. Used in example code It is designed in such a way that you could write say a Vanillae Go
for demonstrating sidekick's logging capabilities. 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
## Documentation - [Jaeck Russell](./jrx/): this is a (work-in-progress) simpler wallet than
Superhero
- [base64 versus base58 explainer](./docs/baseN/) - [Vanillae Files](./docs/): any time where we encountered some weird thing
that is like 1 hour of information but takes 15 hours to understand because
These are two numerical notations used in the Aeternity project. it's poorly documented, we tried to document it here.
- [NPM guide](./docs/npm-misc/)