Skip to content

Commit

Permalink
Merge pull request #336 from twilson63/jfrain99/add-legacy-page
Browse files Browse the repository at this point in the history
chore(cookbook): create legacy, community section
  • Loading branch information
twilson63 authored Sep 14, 2024
2 parents 1236a9e + 205a0da commit 7c27557
Show file tree
Hide file tree
Showing 16 changed files with 183 additions and 102 deletions.
174 changes: 100 additions & 74 deletions docs/src/.vuepress/sidebar.js
Original file line number Diff line number Diff line change
Expand Up @@ -106,25 +106,6 @@ const getI18NSidebar = (langCode) => [
},
],
},
{
text: "SmartWeave",
link: get_i18n_link(langCode, "/concepts/smartweave.html"),
collapsible: false,
children: [
{
text: "Arweave Name System (ArNS)",
link: get_i18n_link(langCode, "/concepts/arns.html"),
},
{
text: "Profit Sharing Tokens (PSTs)",
link: get_i18n_link(langCode, "/concepts/psts.html"),
},
{
text: get_i18n_str(langCode, "concepts-vouch"),
link: get_i18n_link(langCode, "/concepts/vouch.html"),
},
],
},
{
text: "Arweave File System (ArFS)",
link: get_i18n_link(langCode, "/concepts/arfs/arfs.html"),
Expand Down Expand Up @@ -155,6 +136,10 @@ const getI18NSidebar = (langCode) => [
},
],
},
{
text: get_i18n_str(langCode, "concepts-vouch", "Vouch"),
link: get_i18n_link(langCode, "/concepts/vouch.html"),
}
],
},
{
Expand Down Expand Up @@ -281,61 +266,6 @@ const getI18NSidebar = (langCode) => [
},
],
},
{
text: "SmartWeave",
collapsible: true,
children: [
{
text: get_i18n_str(langCode, "guides-atomic-asset"),
link: get_i18n_link(langCode, "/guides/smartweave/atomic-assets/index.html"),
collapsible: false,
children: [
{
text: "using Akord",
link: get_i18n_link(langCode, "/guides/smartweave/atomic-assets/akord.html"),
},
{
text: "using ArDrive CLI",
link: get_i18n_link(langCode, "/guides/smartweave/atomic-assets/ardrive-cli.html"),
}
],
},
{
text: get_i18n_str(langCode, "guides-atomic-token"),
link: get_i18n_link(langCode, "/guides/atomic-tokens/intro.html"),
},
{
text: "Vouch",
link: get_i18n_link(langCode, "/guides/vouch.html"),
},
{
text: "Warp",
collapsible: false,
children: [
{
text: get_i18n_str(langCode, "guides-intro"),
link: get_i18n_link(langCode, "/guides/smartweave/warp/intro.html"),
},
{
text: get_i18n_str(langCode, "guides-warp-deploying-contracts"),
link: get_i18n_link(langCode, "/guides/smartweave/warp/deploying-contracts.html"),
},
{
text: get_i18n_str(langCode, "guides-warp-read-state"),
link: get_i18n_link(langCode, "/guides/smartweave/warp/readstate.html"),
},
{
text: get_i18n_str(langCode, "guides-warp-write-interactions"),
link: get_i18n_link(langCode, "/guides/smartweave/warp/write-interactions.html"),
},
{
text: get_i18n_str(langCode, "guides-warp-evolve"),
link: get_i18n_link(langCode, "/guides/smartweave/warp/evolve.html"),
},
],
},
],
},
{
text: get_i18n_str(langCode, "guides-testing"),
collapsible: true,
Expand All @@ -347,6 +277,10 @@ const getI18NSidebar = (langCode) => [
},
],
},
{
text: "Vouch",
link: get_i18n_link(langCode, "/guides/vouch.html"),
},
],
},
{
Expand Down Expand Up @@ -390,6 +324,98 @@ const getI18NSidebar = (langCode) => [
},
],
},
{
text: get_i18n_str(langCode, "community", "Community"),
link: get_i18n_link(langCode, "/community/index.html"),
collapsible: true,
children: [
{
text: "Arweave Name System (ArNS)",
link: get_i18n_link(langCode, "/concepts/arns.html"),
},
{
text: get_i18n_str(langCode, "guides-atomic-asset"),
link: get_i18n_link(langCode, "/guides/smartweave/atomic-assets/index.html"),
collapsible: true,
children: [
{
text: "using Akord",
link: get_i18n_link(langCode, "/guides/smartweave/atomic-assets/akord.html"),
},
{
text: "using ArDrive CLI",
link: get_i18n_link(langCode, "/guides/smartweave/atomic-assets/ardrive-cli.html"),
}
],
},
]
},
{
text: "Legacy",
link: get_i18n_link(langCode, "/legacy/index.html"),
collapsible: true,
children: [
{
text: "Concepts",
collapsible: true,
children: [
{
text: "SmartWeave",
link: get_i18n_link(langCode, "/concepts/smartweave.html"),
collapsible: false,
children: [
{
text: "Profit Sharing Tokens (PSTs)",
link: get_i18n_link(langCode, "/concepts/psts.html"),
},
],
},
]
},
{
text: "Guides",
collapsible: true,
children: [
{
text: "SmartWeave",
collapsible: true,
children: [
{
text: get_i18n_str(langCode, "guides-atomic-token"),
link: get_i18n_link(langCode, "/guides/atomic-tokens/intro.html"),
},
{
text: "Warp",
collapsible: false,
children: [
{
text: get_i18n_str(langCode, "guides-intro"),
link: get_i18n_link(langCode, "/guides/smartweave/warp/intro.html"),
},
{
text: get_i18n_str(langCode, "guides-warp-deploying-contracts"),
link: get_i18n_link(langCode, "/guides/smartweave/warp/deploying-contracts.html"),
},
{
text: get_i18n_str(langCode, "guides-warp-read-state"),
link: get_i18n_link(langCode, "/guides/smartweave/warp/readstate.html"),
},
{
text: get_i18n_str(langCode, "guides-warp-write-interactions"),
link: get_i18n_link(langCode, "/guides/smartweave/warp/write-interactions.html"),
},
{
text: get_i18n_str(langCode, "guides-warp-evolve"),
link: get_i18n_link(langCode, "/guides/smartweave/warp/evolve.html"),
},
],
},
],
},
],
},
],
},
];

const createSidebars = () => {
Expand Down
13 changes: 13 additions & 0 deletions docs/src/community/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
title: Permaweb Cookbook - Community
---

# Community

If you've created something on the Permaweb, and would like to add documentation to this cookbook, consider [contributing](../getting-started/contributing.md)!

## Community Contributions
- [Arweave Name System (ArNS)](../concepts/arns.md)
- [Atomic Assets](../guides/smartweave/atomic-assets/index.md)
- [using Akord](../guides/smartweave/atomic-assets/akord.md)
- [using ArDrive CLI](../guides/smartweave/atomic-assets/ardrive-cli.md)
7 changes: 1 addition & 6 deletions docs/src/concepts/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,16 +18,11 @@ Foundations of Arweave and the Permaweb.
- [Permaweb Applications](permawebApplications.md)
- [Gateway Services](gateways.md)
- [Bundling Services](bundlers.md)
- [SmartWeave](smartweave.md)
- [Arweave Name System (ArNS)](arns.md)
- [Atomic Tokens](atomic-tokens.md)
- [Profit Sharing Tokens (PSTs)](psts.md)
- [Arweave File System (ArFS)](arfs/arfs.md)
- [Data model](arfs/data-model.md)
- [Entity Types](arfs/entity-types.md)
- [Content Types](arfs/content-types.md)
- [Privacy](arfs/privacy.md)
- [Schema Diagrams](arfs/schema-diagrams.md)

> Do you think a permaweb core concept is missing? Create a issue at [Github](https://github.com/twilson63/permaweb-cookbook/issues) or consider [contributing](../getting-started/contributing.md)
> Do you think a permaweb core concept is missing? Create a issue at [Github](https://github.com/twilson63/permaweb-cookbook/issues) or consider [contributing](../getting-started/contributing.md)
13 changes: 7 additions & 6 deletions docs/src/concepts/arns.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
# ArNS - Arweave Name System

## Overview
The Arweave Name System (ArNS) is the Smartweave-powered phonebook of the PermaWeb.
The Arweave Name System (ArNS) is the phonebook of the PermaWeb.

It is a decentralized and censorship-resistant naming system that is enabled by AR.IO Gateways and used to connect friendly names to PermaWeb apps, pages and data.

This system works similarly to traditional DNS, where a user can purchase a name in a registry and DNS Name servers resolve these names to IP addresses.

With ArNS, the registry is decentralized, permanent and stored on Arweave (with Smartweave) and each AR.IO gateway acts as both cache and name resolver. Users can register a name within the ArNS Registry, like "my-name" and set a pointer to any Arweave Transaction ID. AR.IO Gateways will resolve that name as one of their own subdomains, eg. https://laserilla.arweave.net and proxy all requests to the associated Arweave Transaction ID. Each registered name can also have under names associated with it that each point to an Arweave Transaction ID, like https://v1_laserilla.arweave.net, giving even more flexibility and control to its owner.
With ArNS, the registry is decentralized, permanent and stored on Arweave and each AR.IO gateway acts as both cache and name resolver. Users can register a name within the ArNS Registry, like "my-name" and set a pointer to any Arweave Transaction ID. AR.IO Gateways will resolve that name as one of their own subdomains, eg. https://laserilla.arweave.net and proxy all requests to the associated Arweave Transaction ID. Each registered name can also have under names associated with it that each point to an Arweave Transaction ID, like https://v1_laserilla.arweave.net, giving even more flexibility and control to its owner.

## The ArNS Registry
<!-- // TODO: link to smartweave concept // -->

ArNS uses the Smartweave protocol manage its name records. Each record, or name, is leased by a user and tied to an ANT token. You can register multiple ArNS names to a single ANT, but you cannot register multiple ANTs to a single ArNS name - the gateways would'nt know where to point the routing ID.
ArNS uses the Smartweave protocol manage its name records. Each record, or name, is leased by a user and tied to an ANT token. You can register multiple ArNS names to a single ANT, but you cannot register multiple ANTs to a single ArNS name - the gateways wouldn't know where to point the routing ID.

ArNS names can be up to 32 characters, including numbers [0-9], letters [a-z], and dashes [-]. The dashes cannot be trailing dashes, e.g. -myname.

Expand Down Expand Up @@ -55,5 +55,6 @@ if you tried to access undername1_my-name.arweave.net, you would get 'undername1

ANT's, in theory, have an UNLIMITED number of undernames. However, how many will be served depends on which tier is used with your ArNS name.



## Resources
# [ArNS App](https://arns.app/)
# [ArNS Docs](https://docs.ar.io/arns/)
3 changes: 3 additions & 0 deletions docs/src/concepts/psts.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
# Overview

---
> **⚠️ Deprecation Notice**
>
> This document is deprecated and may contain outdated information.
Profit Sharing Tokens (PSTs) are a type of SmartWeaveToken which include the following structure:

Expand Down
4 changes: 4 additions & 0 deletions docs/src/concepts/smartweave.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# SmartWeave

> **⚠️ Deprecation Notice**
>
> This document is deprecated and may contain outdated information.
## What is SmartWeave?

SmartWeave is the name given to the dominant SmartContract paradigm on Arweave. A unique property of SmartWeave contracts is that the current state of the contract is provided by a process of "lazy evaluation". This means that instead of Arweave mining nodes constantly evaluating the current state of all contracts, a client reading a contract evaluates the state for themselves.
Expand Down
9 changes: 7 additions & 2 deletions docs/src/concepts/vouch.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,20 @@
# Vouch

## Overview

#### Motivation

Vouching provides a decentralized approach to Sybil resistance. A Sybil attack is when an attacker subverts the network by creating a large number of pseudonymous identities to gain a disproportionately large influence.

#### Vouch Protocol

Arweave introduced the concept of the ANS-109 Vouch (Assertion of Identity). It is a standard that uses a specific transaction format along with some tags to allows anyone on the permaweb to "vouch" for the identity and humanity of any Arweave address.

Adding a standard such as the ANS-109 to the permaweb will help minimize Sybil attacks and bad actors, making it a safer experience for permaweb users.

#### VouchDAO
VouchDAO is a community led, decentralized verification layer built on top of the Vouch standard. Developers create vouch services and members of the VouchDAO community vote on which of these verification services are deemed trustworthy.

Once a new service is created, the address for it will be put to vote on the [VouchDAO community.xyz](https://community.xyz/#_z0ch80z_daDUFqC9jHjfOL8nekJcok4ZRkE_UesYsk) interface. If that vote passes, it is then added as a verified Voucher.

<img src="https://arweave.net/7W9krszlEXdR38LB7uXgJ_EPXGj-woXljsA5h5GpGzk" />

## How It Works
Expand Down
11 changes: 0 additions & 11 deletions docs/src/guides/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,17 +22,6 @@ Snack-sized guides for the building blocks of the Permaweb
- [ArDB](querying-arweave/ardb.md)
- [ar-gql](querying-arweave/ar-gql.md)
- [Search Service](querying-arweave/search-indexing-service.md)
- SmartWeave
- [Atomic Assets](smartweave/atomic-assets/index.md)
- [using Akord](smartweave/atomic-assets/akord.md)
- [using ArDrive CLI](smartweave/atomic-assets/ardrive-cli.md)
- [Vouch](vouch.md)
- Warp Contracts
- [Intro](smartweave/warp/intro.md)
- [Deploying Contracts](smartweave/warp/deploying-contracts.md)
- [Read Contract State](smartweave/warp/readstate.md)
- [Write Contract Interactions](smartweave/warp//write-interactions.md)
- [Evolve Contract](smartweave/warp//evolve.md)
- [Testing](testing/arlocal.md)

> Do you think a permaweb guide is missing? Create a issue at [Github](https://github.com/twilson63/permaweb-cookbook/issues) or consider [contributing](../getting-started/contributing.md)
4 changes: 4 additions & 0 deletions docs/src/guides/atomic-tokens/intro.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Atomic Tokens

> **⚠️ Deprecation Notice**
>
> This document is deprecated and may contain outdated information.
## What is an Atomic Token?

[Check out the concept](../../concepts/atomic-tokens.md)
Expand Down
4 changes: 4 additions & 0 deletions docs/src/guides/smartweave/warp/deploying-contracts.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Warp (SmartWeave) SDK - Deploying Contracts

> **⚠️ Deprecation Notice**
>
> This document is deprecated and may contain outdated information.
SmartWeave Contracts are created by posting two transactions to the network, a Source Transaction and a Initial State Transaction, the source transaction contains the source code the contract will use to determine the current state. The initial state transaction provides a contract identifer to reference as well as the initial seed data the contract should use as the starting point to evaluate the current state. The current state is calculated by accessing actions that are transactions written to the network that contain input parameters to execute using the evaluated and instantiated source code. Warp Contracts can be created using many different languages and can be evaluated using the Warp SDK. This guide will show the many different ways you can deploy a Warp Contract.

::: tip
Expand Down
4 changes: 4 additions & 0 deletions docs/src/guides/smartweave/warp/evolve.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Warp (SmartWeave) SDK - Evolve

> **⚠️ Deprecation Notice**
>
> This document is deprecated and may contain outdated information.
Evolve is a feature that allows developers to update the source code of a smart contract without deploying a new contract. To use this feature, you must first submit the new source code using the save function. Once the updated code has been confirmed on the Permaweb, you can use the evolve function to point the contract to the new source code ID. This allows you to update the contract's behavior without creating a new contract instance.

## Why?
Expand Down
4 changes: 4 additions & 0 deletions docs/src/guides/smartweave/warp/intro.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Warp (SmartWeave) SDK Intro

> **⚠️ Deprecation Notice**
>
> This document is deprecated and may contain outdated information.
Warp is a popular SmartWeave Protocol SDK. With Warp and Irys your SmartWeave deployments and interactions can be extremely fast.

## Introduction
Expand Down
4 changes: 4 additions & 0 deletions docs/src/guides/smartweave/warp/readstate.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Warp (SmartWeave) SDK - ReadState

> **⚠️ Deprecation Notice**
>
> This document is deprecated and may contain outdated information.
SmartWeave Contract state is calculated via lazy evaluation, which means, the state evaluation occurs on reads not writes. When reading contracts, the SDK gathers all state interactions, sorts them, and executes them against the source contract using a reduce or fold pattern.

## Basic Readstate
Expand Down
4 changes: 4 additions & 0 deletions docs/src/guides/smartweave/warp/write-interactions.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Warp WriteInteractions

> **⚠️ Deprecation Notice**
>
> This document is deprecated and may contain outdated information.
To call a function on a SmartWeave contract, you can create a transaction known as a SmartWeave action. This action includes the function name and the necessary input parameters for the function on the SmartWeave contract. You can create a SmartWeave action using the contract.writeInteraction function.

## Code
Expand Down
Loading

0 comments on commit 7c27557

Please sign in to comment.