diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index b9978517..325c9304 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -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}`, }, ], }, diff --git a/docs/.vitepress/sidebar.ts b/docs/.vitepress/sidebar.ts index 2a3297d0..ce04f3dc 100644 --- a/docs/.vitepress/sidebar.ts +++ b/docs/.vitepress/sidebar.ts @@ -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" }, ], }, ]; @@ -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" }, ], }, ]; diff --git a/docs/.vitepress/style/main.css b/docs/.vitepress/style/main.css index ed8a87f2..043598a0 100644 --- a/docs/.vitepress/style/main.css +++ b/docs/.vitepress/style/main.css @@ -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; } @@ -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 */ } diff --git a/docs/README.md b/docs/README.md index 837af0b3..2f77c301 100644 --- a/docs/README.md +++ b/docs/README.md @@ -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}`, }, ], }, diff --git a/docs/config/chopsticks.md b/docs/config/chopsticks.md index e69de29b..1585cf1f 100644 --- a/docs/config/chopsticks.md +++ b/docs/config/chopsticks.md @@ -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) diff --git a/docs/config/dev.md b/docs/config/dev.md index e69de29b..1585cf1f 100644 --- a/docs/config/dev.md +++ b/docs/config/dev.md @@ -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) diff --git a/docs/config/environment.md b/docs/config/environment.md index e69de29b..1585cf1f 100644 --- a/docs/config/environment.md +++ b/docs/config/environment.md @@ -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) diff --git a/docs/config/moonwall-config.md b/docs/config/moonwall-config.md index d64c1e54..f1213144 100644 --- a/docs/config/moonwall-config.md +++ b/docs/config/moonwall-config.md @@ -1,12 +1,12 @@ ---- + # Global Config File ## Description diff --git a/docs/config/read-only.md b/docs/config/read-only.md index e69de29b..1585cf1f 100644 --- a/docs/config/read-only.md +++ b/docs/config/read-only.md @@ -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) diff --git a/docs/config/zombie.md b/docs/config/zombie.md index e69de29b..1585cf1f 100644 --- a/docs/config/zombie.md +++ b/docs/config/zombie.md @@ -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) diff --git a/docs/guide/api-examples.md b/docs/guide/api-examples.md deleted file mode 100644 index 6bd8bb5c..00000000 --- a/docs/guide/api-examples.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -outline: deep ---- - -# Runtime API Examples - -This page demonstrates usage of some of the runtime APIs provided by VitePress. - -The main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files: - -```md - - -## Results - -### Theme Data -
{{ theme }}- -### Page Data -
{{ page }}- -### Page Frontmatter -
{{ frontmatter }}-``` - - - -## Results - -### Theme Data -
{{ theme }}- -### Page Data -
{{ page }}- -### Page Frontmatter -
{{ frontmatter }}- -## More - -Check out the documentation for the [full list of runtime APIs](https://vitepress.dev/reference/runtime-api#usedata). diff --git a/docs/guide/cmd/cli.md b/docs/guide/cmd/cli.md index e69de29b..1585cf1f 100644 --- a/docs/guide/cmd/cli.md +++ b/docs/guide/cmd/cli.md @@ -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) diff --git a/docs/guide/cmd/download.md b/docs/guide/cmd/download.md index e69de29b..1585cf1f 100644 --- a/docs/guide/cmd/download.md +++ b/docs/guide/cmd/download.md @@ -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) diff --git a/docs/guide/cmd/init.md b/docs/guide/cmd/init.md index e69de29b..1585cf1f 100644 --- a/docs/guide/cmd/init.md +++ b/docs/guide/cmd/init.md @@ -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) diff --git a/docs/guide/cmd/intro.md b/docs/guide/cmd/intro.md index e69de29b..1585cf1f 100644 --- a/docs/guide/cmd/intro.md +++ b/docs/guide/cmd/intro.md @@ -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) diff --git a/docs/guide/cmd/run.md b/docs/guide/cmd/run.md index e69de29b..1585cf1f 100644 --- a/docs/guide/cmd/run.md +++ b/docs/guide/cmd/run.md @@ -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) diff --git a/docs/guide/cmd/test.md b/docs/guide/cmd/test.md index e69de29b..1585cf1f 100644 --- a/docs/guide/cmd/test.md +++ b/docs/guide/cmd/test.md @@ -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) diff --git a/docs/guide/intro/foundations.md b/docs/guide/intro/foundations.md index e69de29b..1585cf1f 100644 --- a/docs/guide/intro/foundations.md +++ b/docs/guide/intro/foundations.md @@ -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) diff --git a/docs/guide/intro/networks.md b/docs/guide/intro/networks.md index e69de29b..1585cf1f 100644 --- a/docs/guide/intro/networks.md +++ b/docs/guide/intro/networks.md @@ -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) diff --git a/docs/guide/intro/providers.md b/docs/guide/intro/providers.md index e69de29b..1585cf1f 100644 --- a/docs/guide/intro/providers.md +++ b/docs/guide/intro/providers.md @@ -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) diff --git a/docs/guide/intro/what-is-a-moonwall.md b/docs/guide/intro/what-is-a-moonwall.md index 7a195b99..6dbc8513 100644 --- a/docs/guide/intro/what-is-a-moonwall.md +++ b/docs/guide/intro/what-is-a-moonwall.md @@ -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! diff --git a/docs/guide/test/ci.md b/docs/guide/test/ci.md index e69de29b..1585cf1f 100644 --- a/docs/guide/test/ci.md +++ b/docs/guide/test/ci.md @@ -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) diff --git a/docs/guide/test/debug.md b/docs/guide/test/debug.md index e69de29b..1585cf1f 100644 --- a/docs/guide/test/debug.md +++ b/docs/guide/test/debug.md @@ -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) diff --git a/docs/guide/test/quick-start.md b/docs/guide/test/quick-start.md index e69de29b..1585cf1f 100644 --- a/docs/guide/test/quick-start.md +++ b/docs/guide/test/quick-start.md @@ -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) diff --git a/docs/guide/test/reporting.md b/docs/guide/test/reporting.md index e69de29b..1585cf1f 100644 --- a/docs/guide/test/reporting.md +++ b/docs/guide/test/reporting.md @@ -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) diff --git a/docs/guide/troubleshooting/errors.md b/docs/guide/troubleshooting/errors.md index e69de29b..1585cf1f 100644 --- a/docs/guide/troubleshooting/errors.md +++ b/docs/guide/troubleshooting/errors.md @@ -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) diff --git a/docs/guide/troubleshooting/faq.md b/docs/guide/troubleshooting/faq.md index e69de29b..1585cf1f 100644 --- a/docs/guide/troubleshooting/faq.md +++ b/docs/guide/troubleshooting/faq.md @@ -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) diff --git a/docs/guide/util/common.md b/docs/guide/util/common.md index e69de29b..1585cf1f 100644 --- a/docs/guide/util/common.md +++ b/docs/guide/util/common.md @@ -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) diff --git a/docs/guide/util/moonbeam.md b/docs/guide/util/moonbeam.md index e69de29b..1585cf1f 100644 --- a/docs/guide/util/moonbeam.md +++ b/docs/guide/util/moonbeam.md @@ -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) diff --git a/docs/guide/write/context-functions.md b/docs/guide/write/context-functions.md index e69de29b..1585cf1f 100644 --- a/docs/guide/write/context-functions.md +++ b/docs/guide/write/context-functions.md @@ -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) diff --git a/docs/guide/write/quick-start.md b/docs/guide/write/quick-start.md index e69de29b..1585cf1f 100644 --- a/docs/guide/write/quick-start.md +++ b/docs/guide/write/quick-start.md @@ -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) diff --git a/docs/index.md b/docs/index.md index f8b99284..2c9371a5 100644 --- a/docs/index.md +++ b/docs/index.md @@ -3,12 +3,12 @@ layout: home sidebar: false title: Moonwall -titleTemplate: Define, run and test substrate networks; with least fuss possible. +titleTemplate: Test Substrate with low fuss hero: name: "Moonwall" - text: "Low Fuss Substrate Test Framework" - tagline: An all-in-one test Typescript framework for substrate based networks + text: "All-in-one Substrate Test Framework ๐งช" + tagline: The one-stop-shop Typescript test framework for Substrate based chain builders. image: src: astromoon.png alt: MoonsongLabs diff --git a/docs/public/under-construction.png b/docs/public/under-construction.png new file mode 100644 index 00000000..6014a27f Binary files /dev/null and b/docs/public/under-construction.png differ