Skip to content

Commit

Permalink
Merge pull request #77 from geniusyield/68-latest-atlas
Browse files Browse the repository at this point in the history
Feat #68: Updating docs
  • Loading branch information
ajuggler authored Mar 12, 2024
2 parents bb77af3 + 07c38aa commit 3cd7dc4
Show file tree
Hide file tree
Showing 5 changed files with 30 additions and 5 deletions.
2 changes: 1 addition & 1 deletion src/components/Footer/Footer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import {
const socials = [
{ id: 1, icon: <TwitterIcon />, href: "https://twitter.com/GeniusyieldO" },
{ id: 2, icon: <MediumIcon />, href: "https://geniusyield.medium.com/" },
{ id: 3, icon: <DiscordIcon />, href: "https://discord.com/invite/D8HNJ3zhwH" },
{ id: 3, icon: <DiscordIcon />, href: "https://discord.gg/TNHf4fs626" },
{ id: 5, icon: <TelegramIcon />, href: "https://t.me/geniusyield_official" },
{ id: 6, icon: <YoutubeIcon />, href: "https://www.youtube.com/channel/UC0Lw_flS1WokWYH9ZHIQv2g/featured" },
];
Expand Down
3 changes: 2 additions & 1 deletion src/pages/getting-started/_meta.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
{
"how-to-build": "How to build Atlas?",
"smart-contract-intro": "Smart Contract",
"operations": "Operations over Contract",
"unit-tests": "Unit Tests",
"integration-tests": "Integration Tests",
"endpoints": "Creating Endpoints",
"browser-integration": "Browser Integration"
}
}
16 changes: 16 additions & 0 deletions src/pages/getting-started/how-to-build.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# How to build Atlas?

We currently support GHC version 9.2.8 and compilation is tested with cabal version 3.10.2.0.

Besides basic Haskell tooling (GHC and cabal), since we depend upon libraries used in [`cardano-node`](https://github.com/IntersectMBO/cardano-node), one would need to have additional dependencies as described in [this](https://github.com/input-output-hk/cardano-node-wiki/blob/0e31e6805407ea7059bcf1afccdd84fb275c12e6/docs/getting-started/install.md) guide related to building node from source. When referring to that guide, for our purposes, section on _"Installing the Haskell environment"_ and sections following (& including) _"Downloading the source code for cardano-node"_ are irrelevant.

Additionally one would need `libpq-dev` or `postgresql` installed in their environment otherwise an error suggesting missing `pg_config` can occur.

We build Atlas in our Github CI using environment described [here](https://github.com/geniusyield/atlas/blob/main/.github/workflows/haskell.yml) which one can also refer if they encounter a build failure.

To verify if environment is configured properly, one can clone Atlas repository from [here](https://github.com/geniusyield/atlas/tree/main) and run `cabal build all` to see if build is successful.


## Building with Nix

Alternatively, we provide a nix shell with all dependencies baked in. Please refer to [this](https://github.com/input-output-hk/iogx/blob/main/doc/nix-setup-guide.md) guide on how to configure nix and later one can enter development shell via `nix develop`.
2 changes: 1 addition & 1 deletion src/pages/getting-started/smart-contract-intro.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { Callout } from 'nextra-theme-docs'

# Smart Contract

Let's start by writing a smart contract that we will convey the framework's most important features.
Let's now start by writing a smart contract that we will use to convey framework's important features.

<Callout type="warning">

Expand Down
12 changes: 10 additions & 2 deletions src/pages/introduction.mdx
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import { Callout } from 'nextra-theme-docs'

# Introduction

Atlas is an all-in-one, Haskell-native application backend for writing off-chain code for on-chain Plutus smart contracts. Atlas has been designed by [Genius Yield](https://www.geniusyield.co/?lng=en), in collaboration with [MLabs](https://mlabs.city/), [Well-Typed](https://well-typed.com/) and [Plank](https://www.joinplank.com/).
Expand All @@ -11,13 +13,19 @@ Use an intuitive API to abstract away the complexity around building transaction
Avoid code duplication between on-chain and off-chain code, interoperate with advanced functionalities offered by IOG's Cardano/Plutus libraries, and easily convert between Atlas and Cardano/Plutus types.

### Utilize modular data providers
Query ledger state information from [Maestro](https://www.gomaestro.org/dapp-platform), a local node or [Cardano DB Sync](https://github.com/input-output-hk/cardano-db-sync). You can also build and contribute your own data provider!
Query ledger state information from remote provider such as [Maestro](https://www.gomaestro.org/dapp-platform) or from your own node with the help of [Kupo](https://cardanosolutions.github.io/kupo/). You can also build and contribute your own data provider!

### Test extensively
Use Atlas' test harness to write realistic [unit tests](./getting-started/unit-tests) that correspond to on-chain behavior, and execute [integration tests](./getting-started/integration-tests) against cardano node in a private network.

### Stay up to date
Benefit from Cardano's latest innovations such as **Reference Inputs**, **Inline Datums** and **Reference Scripts**.
Benefit from Cardano's latest innovations such as **Reference Inputs**, **Inline Datums** and **Reference Scripts**. Conway we are looking at you 👀.

## Where to next?
Work through an end-to-end example here: [Getting Started](./getting-started).

<Callout>

This guide tracks the latest commit of Atlas. We bring changes into Atlas, only when corresponding updates have been made into the documentation as well.

</Callout>

0 comments on commit 3cd7dc4

Please sign in to comment.