Skip to content

Commit

Permalink
docs updates
Browse files Browse the repository at this point in the history
  • Loading branch information
timbrinded committed Sep 6, 2023
1 parent d25ba81 commit 728a45c
Show file tree
Hide file tree
Showing 33 changed files with 304 additions and 77 deletions.
2 changes: 1 addition & 1 deletion docs/.vitepress/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ export default defineConfig({
items: [
{
text: "Release Notes ",
link: "releases link here",
link: `https://github.com/Moonsong-Labs/moonwall/releases?q=${version}`,
},
],
},
Expand Down
2 changes: 0 additions & 2 deletions docs/.vitepress/sidebar.ts
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,6 @@ export function sidebarGuide(): DefaultTheme.SidebarItem[] {
base: "/guide/",
items: [
{ text: "Markdown Examples", link: "markdown-examples" },
{ text: "Runtime API Examples", link: "api-examples" },
],
},
];
Expand All @@ -91,7 +90,6 @@ export function sidebarConfig(): DefaultTheme.SidebarItem[] {
{ text: "Read-only Networks", link: "read-only" },
{ text: "Chopsticks Networks", link: "chopsticks" },
{ text: "Zombienet Networks", link: "zombie" },
{ text: "Runtime API Examples", link: "api-examples" },
],
},
];
Expand Down
41 changes: 27 additions & 14 deletions docs/.vitepress/style/main.css
Original file line number Diff line number Diff line change
Expand Up @@ -3,33 +3,46 @@
--vp-home-hero-name-background: -webkit-linear-gradient(120deg, #b14f3c 20%, #2e8e59);
--vp-home-hero-image-background-image: linear-gradient(-45deg, #2e8e59 40%, #b14f3c);
--vp-home-hero-image-filter: blur(200px);

--vp-font-family-base: 'Exo', sans-serif;
--vp-font-family-mono: 'Exo', monospace;
--vp-font-family-base: "Exo", sans-serif;
--vp-font-family-mono: "Exo", monospace;
}

@keyframes animateGradient {
@keyframes animateShadowGradient {
0% {
background-position: 0% 50%;
}
100% {
50% {
background-position: 100% 50%;
}
100% {
background-position: 0% 50%;
}
}

.clip {
/* background: var(--vp-home-hero-name-background); */
background: -webkit-linear-gradient(120deg, #b14f3c 20%, #2e8e59);
background-size: 200% 100%; /* Adjust this value to make the strobe effect more or less pronounced */
animation: animateHeroNameGradient 3s infinite; /* Adjust the time to make the strobe faster or slower */
}

.VPImage {
position: relative;
border-radius: 15px;
padding: 1px;
background: linear-gradient(270deg,
#ff00f0,
#00ffff,
#00ff00,
#ffaa00,
#ff00ff,
#00ffff); /* Neon gradient */
background: linear-gradient(
270deg,
#ff00f0,
#00ffff,
#00ff00,
#ffaa00,
#ff00ff,
#00ffff,
#00ff00,
#ffaa00
);
background-size: 300% 300%;
animation: animateGradient 5s infinite;
animation: animateShadowGradient 10s infinite;
background-clip: padding-box;
}

Expand All @@ -43,5 +56,5 @@
z-index: -1;
background: inherit;
border-radius: inherit;
box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2); /* Drop shadow */
box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2); /* Drop shadow */
}
2 changes: 1 addition & 1 deletion docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ import { sidebarGuide, sidebarConfig /* your new export function here */} from "
items: [
{
text: "Release Notes ",
link: "releases link here",
link: `https://github.com/Moonsong-Labs/moonwall/releases?q=${version}`,
},
],
},
Expand Down
9 changes: 9 additions & 0 deletions docs/config/chopsticks.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Coming Soon

::: info
This page is Under Construction 🏗️, whilst Moonwall has been built - the docs have not.

Please Stay tuned for more details of this feature!
:::

![underconstruction](/under-construction.png)
9 changes: 9 additions & 0 deletions docs/config/dev.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Coming Soon

::: info
This page is Under Construction 🏗️, whilst Moonwall has been built - the docs have not.

Please Stay tuned for more details of this feature!
:::

![underconstruction](/under-construction.png)
9 changes: 9 additions & 0 deletions docs/config/environment.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Coming Soon

::: info
This page is Under Construction 🏗️, whilst Moonwall has been built - the docs have not.

Please Stay tuned for more details of this feature!
:::

![underconstruction](/under-construction.png)
6 changes: 3 additions & 3 deletions docs/config/moonwall-config.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
---
<!-- ---
head:
- - meta
- name: global-config
content: Description of the Moonwall Global Config
outline: deep
title: Global COnfig
---
title: Global Config
--- -->
# Global Config File

## Description
Expand Down
9 changes: 9 additions & 0 deletions docs/config/read-only.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Coming Soon

::: info
This page is Under Construction 🏗️, whilst Moonwall has been built - the docs have not.

Please Stay tuned for more details of this feature!
:::

![underconstruction](/under-construction.png)
9 changes: 9 additions & 0 deletions docs/config/zombie.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Coming Soon

::: info
This page is Under Construction 🏗️, whilst Moonwall has been built - the docs have not.

Please Stay tuned for more details of this feature!
:::

![underconstruction](/under-construction.png)
49 changes: 0 additions & 49 deletions docs/guide/api-examples.md

This file was deleted.

9 changes: 9 additions & 0 deletions docs/guide/cmd/cli.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Coming Soon

::: info
This page is Under Construction 🏗️, whilst Moonwall has been built - the docs have not.

Please Stay tuned for more details of this feature!
:::

![underconstruction](/under-construction.png)
9 changes: 9 additions & 0 deletions docs/guide/cmd/download.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Coming Soon

::: info
This page is Under Construction 🏗️, whilst Moonwall has been built - the docs have not.

Please Stay tuned for more details of this feature!
:::

![underconstruction](/under-construction.png)
9 changes: 9 additions & 0 deletions docs/guide/cmd/init.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Coming Soon

::: info
This page is Under Construction 🏗️, whilst Moonwall has been built - the docs have not.

Please Stay tuned for more details of this feature!
:::

![underconstruction](/under-construction.png)
9 changes: 9 additions & 0 deletions docs/guide/cmd/intro.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Coming Soon

::: info
This page is Under Construction 🏗️, whilst Moonwall has been built - the docs have not.

Please Stay tuned for more details of this feature!
:::

![underconstruction](/under-construction.png)
9 changes: 9 additions & 0 deletions docs/guide/cmd/run.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Coming Soon

::: info
This page is Under Construction 🏗️, whilst Moonwall has been built - the docs have not.

Please Stay tuned for more details of this feature!
:::

![underconstruction](/under-construction.png)
9 changes: 9 additions & 0 deletions docs/guide/cmd/test.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Coming Soon

::: info
This page is Under Construction 🏗️, whilst Moonwall has been built - the docs have not.

Please Stay tuned for more details of this feature!
:::

![underconstruction](/under-construction.png)
9 changes: 9 additions & 0 deletions docs/guide/intro/foundations.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Coming Soon

::: info
This page is Under Construction 🏗️, whilst Moonwall has been built - the docs have not.

Please Stay tuned for more details of this feature!
:::

![underconstruction](/under-construction.png)
9 changes: 9 additions & 0 deletions docs/guide/intro/networks.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Coming Soon

::: info
This page is Under Construction 🏗️, whilst Moonwall has been built - the docs have not.

Please Stay tuned for more details of this feature!
:::

![underconstruction](/under-construction.png)
9 changes: 9 additions & 0 deletions docs/guide/intro/providers.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Coming Soon

::: info
This page is Under Construction 🏗️, whilst Moonwall has been built - the docs have not.

Please Stay tuned for more details of this feature!
:::

![underconstruction](/under-construction.png)
57 changes: 53 additions & 4 deletions docs/guide/intro/what-is-a-moonwall.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,62 @@

## Why did we build this?

There are many, probably too many, Javascript libraries in the world.
There are a very many, probably too many, Javascript libraries in the world.
Why would we need yet another one, except with the niche usecase of blockchains?
It is a good question, one which this page will hopefully try to answer.

## Multiple Types of Testing Required

## What use cases are we trying to accomodate
For anyone who is familiar with the best Software Development practises, there is [no single type](https://martinfowler.com/articles/practical-test-pyramid.html)
of software testing that finds all bugs. Instead the approach to use is to have multiple types of testing
in a variety of environment configurations, for as many scenarios as supportable, to produce a
multi-tiered defence against software defects creeping into your code.

## The Problem with existing Libraries
This is all standard software dev practise but the problems creep in because of the *web-centric tech stack that blockchain projects often employ.*

## What is the future of Moonwall?
## The Problem with existing products

At their core, blockchains are a consensus system that share state - which is typically produced by node binaries, based on transactions they receive.
Depending on the functionality you are looking to verify (be that: networking between nodes, state transition logic, RPC endpoitns), you will execute tests localized
to that particular area.

*The problem is that ubitquitous tooling to support this, doesn't yet exist.*

### Blockchain Test Frameworks

Very popular libraries like foundry, hardhat, truffle, brownie; are all written from a smart contract developer point of view.
They purposefully hide information about the underlying workings (in this case the EVM), to make it easier for smart contract developers - which is not helpful for teams
looking to test their node software

### Web Test Frameworks

Of the available web test frameworks, to name but a few: `vitest`, `mocha`, `ava`, `playwright`, `jest`; they are written either for the browser or for interacting with webservers.
The assumptions made about state are fundamentally incompatible with blockchain testing, so are inappropriate for off-the-shelf use.

## What are we trying to accomodate?

### Combined Config

The goal is to have dramatically help withenvironment configuration, to reduce friction in reproducing an error or tracking down a defect. Given that blockchains are so
idiosyncratic and complex - configuring these networks are a great source of pain. Moonwall attempts to allievate this as much as possible by providing a single venue to
look how environments are configured - without having to search the code for esoteric flags, options or environment variables.

### User-chosen Clients

Depending on the nature of your blockchain, some clients might make more sense than others. For example, for a non-EVM compatible chain you would have no need for `Ethers.js`.
As new and better clients come out, we wish to be able to support them without large amounts of refactors or breaking changes.

### Reduced boilerplate

When developing a brand new chain, you will want to start with the basic interactions and iteratively add to your coverage as and when more complex functions become available.
By providing wrappers and functions to house those fundamental interactions (deploying contracts, creating blocks, performing queries), as and when refactors happen you will have far less code to rewrite.

Refactoring is important and it should never be disincentivised, especially on blockchains where security is **the** most important factor. Reducing test boilerplate goes a
long way to reducing pain when interfaces change

## Parting Remarks

As you can hopefully see, given there are no obvious candidates for a single test framework to use, it would make sense to create Moonwall. Where possible, we would wrap other frameworks
but with the ability to pick and choose the parts we needed and to arrange them in such a way they would be appropriate for deep blockchain testing.

🧪 If this is something that interests you, please navigate to the next page to find out more!
9 changes: 9 additions & 0 deletions docs/guide/test/ci.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Coming Soon

::: info
This page is Under Construction 🏗️, whilst Moonwall has been built - the docs have not.

Please Stay tuned for more details of this feature!
:::

![underconstruction](/under-construction.png)
9 changes: 9 additions & 0 deletions docs/guide/test/debug.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Coming Soon

::: info
This page is Under Construction 🏗️, whilst Moonwall has been built - the docs have not.

Please Stay tuned for more details of this feature!
:::

![underconstruction](/under-construction.png)
Loading

0 comments on commit 728a45c

Please sign in to comment.