Skip to content
This repository has been archived by the owner on Aug 17, 2023. It is now read-only.

Commit

Permalink
Merge branch 'robcohen/docs' of github.com:input-output-hk/adrestia i…
Browse files Browse the repository at this point in the history
…nto robcohen/docs
  • Loading branch information
robcohen committed Jul 8, 2020
2 parents 6641a59 + 2653687 commit ace7a11
Show file tree
Hide file tree
Showing 7 changed files with 157 additions and 148 deletions.
67 changes: 0 additions & 67 deletions README.md

This file was deleted.

115 changes: 115 additions & 0 deletions README.rst
@@ -0,0 +1,115 @@
Adrestia is a collection of products which makes it easier to integrate
with Cardano. It comes in different flavours: SDK or high-level APIs.
Depending on the use-cases you have and the control that you seek, you
may use any of the components below.

Components
==========

APIs
----

+--------------------+--------------+--------------+--------------+----------------+
| name / link | description | Byron | Jörmungandr | Shelley |
+====================+==============+==============+==============+================+
| `cardano-wallet`_ | JSON/REST | **COMPLETE** | **COMPLETE** | **IN PROGESS** |
| | API for | | | |
| | managing | | | |
| | UTxOs in HD | | | |
| | wallets | | | |
+--------------------+--------------+--------------+--------------+----------------+
| `cardano-rest`_ | JSON/HTTP | **COMPLETE** | **X** | **IN PROGESS** |
| | API for | | | |
| | browsing | | | |
| | on-chain | | | |
| | data | | | |
+--------------------+--------------+--------------+--------------+----------------+
| `cardano-graphql`_ | | **COMPLETE** | **X** | **IN PROGESS** |
| | GraphQL/HTTP | | | |
| | API for | | | |
| | browsing | | | |
| | on-chain | | | |
| | data | | | |
+--------------------+--------------+--------------+--------------+----------------+

SDK
---

+------------------------------+----------------+----------------+---------------------+
| Name / Link | Description | Haskell | JavaScript |
+==============================+================+================+=====================+
| `bech32`_ | Human-friendly | **COMPLETE** | `bitcoinjs bech32`_ |
| | Bech32 address | | |
| | encoding | | |
+------------------------------+----------------+----------------+---------------------+
| `cardano-addresses`_ | Addresses and | **COMPLETE** | **IN PROGESS** |
| | mnemonic | | |
| | manipulation & | | |
| | derivations | | |
+------------------------------+----------------+----------------+---------------------+
| `cardano-coin-selection`_ | Coin selection | **COMPLETE** | **IN PROGESS** |
| | and fee | | |
| | balancing | | |
| | algorithms | | |
+------------------------------+----------------+----------------+---------------------+
| `cardano-launcher`_ | Shelley | **X** | **COMPLETE** |
| | cardano-node | | |
| | and | | |
| | cardano-wallet | | |
| | launcher for | | |
| | NodeJS | | |
| | applications | | |
+------------------------------+----------------+----------------+---------------------+
| `cardano-serialization-lib`_ | Binary | **IN PROGESS** | **IN PROGESS** |
| | serialization | | |
| | of on-chain | | |
| | data types | | |
+------------------------------+----------------+----------------+---------------------+
| `cardano-transactions`_ | Transaction | **COMPLETE** | **IN PROGESS** |
| | construction | | |
| | and signing | | |
+------------------------------+----------------+----------------+---------------------+

Formal Specifications
---------------------

+------------------------------+-------------------------------------------------+
| Name / Link | Description |
+==============================+=================================================+
| `utxo-wallet-specification`_ | Formal specification for a UTxO wallet encoding |
+------------------------------+-------------------------------------------------+

Internal
--------

.. warning::
Here be dragons. These tools are used internally by other tools and does not benefit from the same care in documentation thanother tools above.


+-------------------+--------------------------------------------------+
| name / link | description |
+===================+==================================================+
| `cardano-js`_ | (experimental) Cardano primitives for ECMAScript |
| | applications |
+-------------------+--------------------------------------------------+
| `cardano-js-sdk`_ | (experimental) Cardano SDK for ECMAScript |
| | applications |
+-------------------+--------------------------------------------------+
| `persistent`_ | Fork of the persistent Haskell library |
| | maintained for cardano-wallet |
+-------------------+--------------------------------------------------+

.. _cardano-wallet: https://github.com/input-output-hk/cardano-wallet
.. _cardano-rest: https://github.com/input-output-hk/cardano-rest
.. _cardano-graphql: https://github.com/input-output-hk/cardano-graphql
.. _bech32: https://github.com/input-output-hk/bech32
.. _bitcoinjs bech32: https://github.com/bitcoinjs/bech32
.. _cardano-addresses: https://github.com/input-output-hk/cardano-addresses
.. _cardano-coin-selection: https://github.com/input-output-hk/cardano-coin-selection
.. _cardano-launcher: https://github.com/input-output-hk/cardano-launcher
.. _cardano-serialization-lib: https://github.com/input-output-hk/cardano-serialization-lib
.. _cardano-transactions: https://github.com/input-output-hk/cardano-transactions
.. _utxo-wallet-specification: https://github.com/input-output-hk/utxo-wallet-specification
.. _cardano-js: https://github.com/input-output-hk/cardano-js
.. _cardano-js-sdk: https://github.com/input-output-hk/cardano-js-sdk
.. _persistent: https://github.com/input-output-hk/persistent
33 changes: 12 additions & 21 deletions doc/api-references.md
Expand Up @@ -4,15 +4,10 @@ API References
## Components


| Component | Link |
|--------------------------------------|--------------------------------------------------------------|
| [cardano-wallet][cardano-wallet] | https://input-output-hk.github.io/cardano-wallet/api/edge |
| [cardano-submit-api][cardano-rest] | https://input-output-hk.github.io/cardano-rest/submit-api/ |
| [cardano-explorer-api][cardano-rest] | https://input-output-hk.github.io/cardano-rest/explorer-api/ |
| [cardano-graphql][cardano-graphql] | _Soon available._ |

Component | Link

* [cardano-wallet](https://input-output-hk.github.io/cardano-wallet/api/edge)
* [cardano-submit-api](https://input-output-hk.github.io/cardano-rest/submit-api/)
* [cardano-explorer-api](https://input-output-hk.github.io/cardano-rest/explorer-api/)
* [cardano-graphql](https://input-output-hk.github.io/cardano-graphql/)

> **HINT**: _About cardano-wallet_
Expand All @@ -29,23 +24,19 @@ The command line also provides some useful helpers like a command to generate mn

## Libraries

| Library | Haskell | JavaScript |
|--------------------------------------------------|-------------------------------------------------------------------|-----------------------------------------|
| [cardano-addresses][cardano-addresses] | https://input-output-hk.github.io/cardano-addresses/haddock/ | _Soon available._ |
| [cardano-transactions][cardano-transactions] | https://input-output-hk.github.io/cardano-transactions/haddock/ | _Soon available._ |
| [cardano-coin-selection][cardano-coin-selection] | https://input-output-hk.github.io/cardano-coin-selection/haddock/ | _Soon available._ |
| [bech32][bech32] | https://input-output-hk.github.io/bech32/haddock/ | See https://github.com/bitcoinjs/bech32 |
| Library | Haskell | JavaScript |
|-------------------------------------------------------------------------------------|-------------------------------------------------------------------|-----------------------------------------|
| [cardano-addresses](https://github.com/input-output-hk/cardano-addresses) | <https://input-output-hk.github.io/cardano-addresses/haddock/> | _Soon available._ |
| [cardano-transactions](https://github.com/input-output-hk/cardano-transactions) | <https://input-output-hk.github.io/cardano-transactions/haddock/> | _Soon available._ |
| [cardano-coin-selection](https://github.com/input-output-hk/cardano-coin-selection) | <https://input-output-hk.github.io/cardano-coin-selection/haddock/> | _Soon available._ |
| [bech32](https://github.com/input-output-hk/bech32) | <https://input-output-hk.github.io/bech32/haddock/> | See <https://github.com/bitcoinjs/bech32> |

> **HINT**: _About cardano-transactions_
About cardano-transactions
--------------------------

In addition to the low-level library, cardano-transactions also provides a command-line interface (`cardano-tx`) to construct transactions directly in the terminal.
Check out the repository's documentation and examples to see example usage.

[cardano-wallet]: https://github.com/input-output-hk/cardano-wallet
[cardano-rest]: https://github.com/input-output-hk/cardano-rest
[cardano-graphql]: https://github.com/input-output-hk/cardano-graphql

[cardano-coin-selection]: https://github.com/input-output-hk/cardano-coin-selection
[cardano-addresses]: https://github.com/input-output-hk/cardano-addresses
[cardano-transactions]: https://github.com/input-output-hk/cardano-transactions
[bech32]: https://github.com/input-output-hk/bech32
8 changes: 4 additions & 4 deletions doc/common-use-cases/how-to-create-addresses.md
Expand Up @@ -10,7 +10,7 @@ Once you have a wallet you can manage your funds. In order to receive a transact

## Random wallets (Legacy Byron)

Address creation is only allowed for wallets using random derivation. These are the legacy wallets from _cardano-sl_.
Address creation is only allowed for wallets using random derivation. These are the legacy wallets from _cardano-sl_.

For `random` wallets user needs to invoke the following wallet endpoint to create new addresses:

Expand All @@ -21,21 +21,21 @@ In order to list existing addresses another endpoint can be used.
[`GET /byron-wallets/{walletId}/addresses`](https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/listByronAddresses)


> **INFO**:
> **INFO**:
Alternatively, these endpoints can also be reached from the command-line:

```
$ cardano-wallet address create WALLET_ID
$ cardano-wallet address list WALLET_ID
```

## Sequential wallets (Icarus & Shelley) {#listing-addresses-in-sequential-wallets}
## Sequential wallets (Icarus & Shelley)

Since Icarus, wallets use sequential derivation which must satisfy very specific rules: a wallet is not allowed to use addresses beyond a certain limit before previously generated addresses have been used. This means that, at a given point in a time, a wallet has both a minimum and a maximum number of possible unused addresses. By default, the maximum number of consecutive unused addresses is set to `20`.

Therefore, address management is entirely done by the server and users aren't allowed to fiddle with them. The list of available addresses can be fetched from the server at any time via:

[`GET /byron-wallets/{walletId}/addresses`](https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/listByronAddresses)
[`GET /byron-wallets/{walletId}/addresses`](https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/listByronAddresses)

This list automatically expands when new addresses become available so that there's always `address_pool_gap` consecutive unused addresses available (where `address_pool_gap` can be configured when a wallet is first restored / created).

Expand Down
5 changes: 3 additions & 2 deletions doc/index.rst
@@ -1,12 +1,13 @@
========
Adrestia
adrestia
========

.. include:: ../README.rst

.. toctree::
:maxdepth: 3
:titlesonly:

../README
architecture
installation
common-use-cases/index
Expand Down

0 comments on commit ace7a11

Please sign in to comment.