From 5d41e3ed1b917a32ffe2e9209e26ef8db6176c41 Mon Sep 17 00:00:00 2001 From: Peerchemist Date: Fri, 4 Feb 2022 12:09:15 +0100 Subject: [PATCH] more cleanup --- scripts/crawl/sitemap.json | 6 +- src/__configuration__/design/index.ts | 1 - src/__configuration__/design/resources.tsx | 22 - .../navigationMenu/navigation.tsx | 5 - src/database/index-database.json | 6026 +++++++---------- src/database/sitemap-database.json | 111 +- 6 files changed, 2482 insertions(+), 3689 deletions(-) delete mode 100644 src/__configuration__/design/index.ts delete mode 100644 src/__configuration__/design/resources.tsx diff --git a/scripts/crawl/sitemap.json b/scripts/crawl/sitemap.json index 930affd1e..069225d19 100644 --- a/scripts/crawl/sitemap.json +++ b/scripts/crawl/sitemap.json @@ -75,10 +75,6 @@ "title": "Environment Setup", "url": "/environment" }, - { - "title": "Brightlayer UI CLI", - "url": "/cli" - }, { "title": "Testing", "url": "/testing" @@ -88,7 +84,7 @@ { "title": "Workflows", "url": "/workflows", - "hidden": true, + "hidden": true }, { "title": "Tools", diff --git a/src/__configuration__/design/index.ts b/src/__configuration__/design/index.ts deleted file mode 100644 index 00e67e02e..000000000 --- a/src/__configuration__/design/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './resources'; diff --git a/src/__configuration__/design/resources.tsx b/src/__configuration__/design/resources.tsx deleted file mode 100644 index cb6838637..000000000 --- a/src/__configuration__/design/resources.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import style from '../../../src/app/assets/card-images/style.png'; -import patterns from '../../../src/app/assets/card-images/patterns.svg'; -import designPatternLibrary from '../../../src/app/assets/card-images/design-pattern-library.svg'; -import variantSwitcher from '../../../src/app/assets/card-images/variant-switcher-plugin.svg'; - -export const patternLinks = [ - { - title: 'Style Guides', - url: '/style', - description: 'Brightlayer UI style guidelines, including colors, themes, icons, typography, and more.', - image: style, - background: { position: 'center' }, - }, - { - title: 'Design Patterns', - url: '/patterns', - description: 'Common interactions and designs found in Brightlayer UI applications.', - image: patterns, - background: { position: 'right' }, - }, -]; - diff --git a/src/__configuration__/navigationMenu/navigation.tsx b/src/__configuration__/navigationMenu/navigation.tsx index 2bcac0d8a..01280a4ff 100644 --- a/src/__configuration__/navigationMenu/navigation.tsx +++ b/src/__configuration__/navigationMenu/navigation.tsx @@ -124,11 +124,6 @@ export const pageDefinitions: SimpleNavItem[] = [ ), }, - { - title: 'Brightlayer UI CLI', - url: '/cli', - component: , - }, { title: 'Testing', url: '/testing', diff --git a/src/database/index-database.json b/src/database/index-database.json index 11b3bada7..23f1c5373 100644 --- a/src/database/index-database.json +++ b/src/database/index-database.json @@ -1,3880 +1,2744 @@ { "title": { - "brightlayer": [{ "": 1 }, { "/overview": 1 }, { "/development/cli": 1 }], - "ui": [{ "": 1 }, { "/overview": 1 }, { "/development/cli": 1 }], - "powering": [{ "": 1 }], - "teams": [{ "": 1 }], - "to": [{ "": 1 }, { "/get-started/new-project": 1 }], - "make": [{ "": 1 }], - "what": [{ "": 1 }, { "/overview": 1 }], - "matters": [{ "": 1 }], + "v": [ + { "": 1 }, + { "/overview": 1 }, + { "/get-started/vsys-stack": 1 }, + { "/get-started/smart-contracts/v-swap": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 }, + { "/get-started/smart-contracts/v-stable-swap": 1 }, + { "/get-started/smart-contracts/v-option": 1 }, + { "/get-started/smart-contracts/v-escrow": 1 } + ], + "systems": [{ "": 1 }, { "/overview": 1 }, { "/get-started/vsys-stack": 1 }], + "blockchain": [{ "": 2 }], + "for": [{ "": 1 }], + "real": [{ "": 1 }], + "world": [{ "": 1 }], + "applications": [{ "": 1 }], + "what": [{ "/overview": 1 }], "is": [{ "/overview": 1 }], - "where": [{ "/get-started/new-project": 1 }], - "begin": [{ "/get-started/new-project": 1 }], - "web": [{ "/get-started/web": 1 }], - "apps": [{ "/get-started/web": 1 }, { "/get-started/mobile": 1 }], - "mobile": [{ "/get-started/mobile": 1 }], + "stack": [{ "/get-started/vsys-stack": 1 }], + "where": [{ "/get-started/where-to-begin": 1 }], + "to": [{ "/get-started/where-to-begin": 1 }], + "begin": [{ "/get-started/where-to-begin": 1 }], + "quick": [{ "/get-started/quick-tutorials": 1 }], + "tutorials": [{ "/get-started/quick-tutorials": 1 }], + "token": [{ "/get-started/smart-contracts/token-contract": 1 }], + "contract": [ + { "/get-started/smart-contracts/token-contract": 1 }, + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/get-started/smart-contracts/nft-contract": 1 }, + { "/get-started/smart-contracts/payment-contract": 1 }, + { "/get-started/smart-contracts/v-swap": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 }, + { "/get-started/smart-contracts/v-stable-swap": 1 }, + { "/get-started/smart-contracts/v-option": 1 }, + { "/get-started/smart-contracts/v-escrow": 1 } + ], + "lock": [{ "/get-started/smart-contracts/lock-contract": 1 }], + "nft": [{ "/get-started/smart-contracts/nft-contract": 1 }], + "payment": [{ "/get-started/smart-contracts/payment-contract": 1 }], + "swap": [ + { "/get-started/smart-contracts/v-swap": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 }, + { "/get-started/smart-contracts/v-stable-swap": 1 } + ], + "atomic": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "stable": [{ "/get-started/smart-contracts/v-stable-swap": 1 }], + "option": [{ "/get-started/smart-contracts/v-option": 1 }], + "escrow": [{ "/get-started/smart-contracts/v-escrow": 1 }], "environment": [{ "/development/environment": 1 }], "setup": [{ "/development/environment": 1 }], - "cli": [{ "/development/cli": 1 }], - "introduction": [ - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/design/intro": 1 } - ], - "angular": [{ "/development/frameworks-web/angular": 1 }], - "guide": [ - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 }, - { "/style": 1 } - ], - "react": [{ "/development/frameworks-web/react": 1 }, { "/development/frameworks-mobile/react-native": 1 }], - "ionic": [{ "/development/frameworks-mobile/ionic": 1 }], - "native": [{ "/development/frameworks-mobile/react-native": 1 }], "testing": [{ "/development/testing": 1 }], - "design": [{ "/design/anatomy": 1 }, { "/patterns": 1 }], - "system": [{ "/design/anatomy": 1 }], - "anatomy": [{ "/design/anatomy": 1 }], - "accessibility": [{ "/design/accessibility": 1 }], - "websites": [{ "/design/websites": 1 }], - "project": [{ "/design/project-identity": 1 }], - "identity": [{ "/design/project-identity": 1 }], - "patterns": [{ "/patterns": 1 }], - "account": [{ "/patterns/account-menu": 1 }], - "menu": [{ "/patterns/account-menu": 1 }], - "app": [{ "/patterns/appbar": 1 }], - "bars": [{ "/patterns/appbar": 1 }], - "empty": [{ "/patterns/empty-states": 1 }], - "states": [{ "/patterns/empty-states": 1 }], - "forms": [{ "/patterns/forms": 1 }], - "and": [{ "/patterns/forms": 1 }], - "validation": [{ "/patterns/forms": 1 }], - "internationalization": [{ "/patterns/internationalization": 1 }], - "lists": [{ "/patterns/lists": 1 }], - "tables": [{ "/patterns/lists": 1 }], - "loading": [{ "/patterns/loading": 1 }], - "waiting": [{ "/patterns/loading": 1 }], - "navigation": [{ "/patterns/navigation": 1 }], - "overlays": [{ "/patterns/overlay": 1 }], - "steppers": [{ "/patterns/steppers": 1 }], - "user": [{ "/patterns/user-auth": 1 }], - "authentication": [{ "/patterns/user-auth": 1 }], - "visualizations": [{ "/patterns/visualizations": 1 }], - "style": [{ "/style": 1 }], - "color": [{ "/style/color": 1 }], - "palette": [{ "/style/color": 1 }], - "iconography": [{ "/style/iconography": 1 }], - "illustrations": [{ "/style/illustrations": 1 }], - "typography": [{ "/style/typography": 1 }], - "themes": [{ "/style/themes": 1 }], - "community": [{ "/community": 1 }], - "licensing": [{ "/community/license": 1 }], - "innersourcing": [{ "/community/innersourcing": 1 }], - "report": [{ "/community/bugs": 1 }], - "bugs": [{ "/community/bugs": 1 }], - "request": [{ "/community/features": 1 }], - "features": [{ "/community/features": 1 }], - "faq": [{ "/community/faq": 1 }], "developer": [{ "/resources/developer": 1 }], - "resources": [{ "/resources/developer": 1 }, { "/resources/designer": 1 }], - "designer": [{ "/resources/designer": 1 }], - "roadmap": [{ "/roadmap": 1 }], - "release": [{ "/release-notes": 1 }], - "notes": [{ "/release-notes": 1 }], - "attributions": [{ "/attributions": 1 }] + "resources": [{ "/resources/developer": 1 }] }, "text": { - "0": [{ "/development/frameworks-mobile/ionic": 1 }], - "1": [{ "/overview": 1 }], - "5": [{ "/development/environment": 1 }], - "6": [{ "/development/environment": 1 }], - "11": [{ "/development/frameworks-web/angular": 1 }, { "/development/frameworks-web/react": 1 }], - "16": [{ "/development/frameworks-web/react": 1 }], - "2021": [{ "/development/frameworks-web/angular": 1 }, { "/development/frameworks-web/react": 1 }], - "8100": [{ "/development/frameworks-mobile/ionic": 1 }], + "0": [ + { "/get-started/where-to-begin": 11 }, + { "/get-started/smart-contracts/token-contract": 10 }, + { "/get-started/smart-contracts/v-atomic-swap": 3 }, + { "/get-started/smart-contracts/lock-contract": 1 } + ], + "1": [ + { "/get-started/smart-contracts/token-contract": 20 }, + { "/get-started/smart-contracts/v-atomic-swap": 15 }, + { "/get-started/where-to-begin": 11 }, + { "/get-started/smart-contracts/lock-contract": 8 }, + { "/overview": 1 }, + { "/get-started/vsys-stack": 1 } + ], + "2": [ + { "/get-started/smart-contracts/v-atomic-swap": 9 }, + { "/get-started/where-to-begin": 6 }, + { "/get-started/smart-contracts/token-contract": 4 }, + { "/get-started/smart-contracts/lock-contract": 3 } + ], + "3": [ + { "/get-started/smart-contracts/v-atomic-swap": 10 }, + { "/get-started/smart-contracts/token-contract": 6 }, + { "/get-started/where-to-begin": 3 }, + { "/get-started/smart-contracts/lock-contract": 1 } + ], + "4": [ + { "/get-started/smart-contracts/token-contract": 4 }, + { "/get-started/smart-contracts/v-atomic-swap": 2 }, + { "/get-started/where-to-begin": 1 } + ], + "5": [ + { "/get-started/smart-contracts/token-contract": 5 }, + { "/get-started/smart-contracts/lock-contract": 2 }, + { "/get-started/smart-contracts/nft-contract": 2 }, + { "/get-started/smart-contracts/v-atomic-swap": 2 }, + { "/development/environment": 1 } + ], + "6": [ + { "/get-started/smart-contracts/token-contract": 3 }, + { "/get-started/where-to-begin": 1 }, + { "/development/environment": 1 } + ], + "7": [{ "/get-started/smart-contracts/token-contract": 4 }], + "8": [{ "/get-started/smart-contracts/token-contract": 3 }], + "9": [{ "/get-started/smart-contracts/token-contract": 3 }], + "10": [{ "/get-started/where-to-begin": 3 }, { "/get-started/smart-contracts/token-contract": 2 }], + "11": [{ "/get-started/smart-contracts/token-contract": 1 }], + "12": [{ "/get-started/where-to-begin": 1 }], + "18": [{ "/get-started/where-to-begin": 1 }], + "20": [{ "/get-started/smart-contracts/token-contract": 1 }], + "24": [{ "/get-started/where-to-begin": 1 }], + "30": [{ "/get-started/where-to-begin": 1 }], + "36": [{ "/get-started/where-to-begin": 1 }], + "42": [{ "/get-started/where-to-begin": 1 }], + "48": [{ "/get-started/where-to-begin": 1 }], + "54": [{ "/get-started/where-to-begin": 1 }], + "60": [{ "/get-started/where-to-begin": 2 }], + "100": [{ "/get-started/smart-contracts/token-contract": 7 }], + "127": [{ "/get-started/where-to-begin": 4 }], + "150": [{ "/get-started/smart-contracts/token-contract": 1 }], + "300": [{ "/get-started/smart-contracts/token-contract": 7 }], + "500": [{ "/get-started/smart-contracts/token-contract": 2 }], + "800": [{ "/get-started/smart-contracts/token-contract": 1 }], + "1000": [{ "/get-started/smart-contracts/v-atomic-swap": 3 }], + "1900": [{ "/get-started/smart-contracts/token-contract": 2 }], + "2200": [{ "/get-started/smart-contracts/token-contract": 3 }], + "2500": [{ "/get-started/smart-contracts/token-contract": 1 }], + "3000": [{ "/get-started/smart-contracts/token-contract": 3 }], + "5000": [{ "/get-started/smart-contracts/token-contract": 5 }], + "8000": [{ "/get-started/where-to-begin": 4 }], + "8080": [{ "/get-started/where-to-begin": 6 }], + "9928": [{ "/get-started/smart-contracts/token-contract": 2 }, { "/get-started/where-to-begin": 1 }], + "19923": [{ "/get-started/where-to-begin": 3 }], + "19924": [{ "/get-started/where-to-begin": 3 }], + "301588": [{ "/get-started/smart-contracts/token-contract": 2 }], + "301675": [{ "/get-started/smart-contracts/token-contract": 1 }], + "301778": [{ "/get-started/smart-contracts/token-contract": 1 }], + "301781": [{ "/get-started/smart-contracts/token-contract": 1 }], + "301791": [{ "/get-started/smart-contracts/token-contract": 1 }], + "301795": [{ "/get-started/smart-contracts/token-contract": 1 }], + "301809": [{ "/get-started/smart-contracts/token-contract": 1 }], + "301836": [{ "/get-started/smart-contracts/token-contract": 1 }], + "301863": [{ "/get-started/smart-contracts/token-contract": 1 }], + "301883": [{ "/get-started/smart-contracts/token-contract": 1 }], + "301887": [{ "/get-started/smart-contracts/token-contract": 1 }], + "1000000000": [{ "/get-started/smart-contracts/token-contract": 4 }], "keywords": [ { "/overview": 1 }, - { "/get-started/new-project": 1 }, - { "/get-started/mobile": 1 }, + { "/get-started/vsys-stack": 1 }, + { "/get-started/where-to-begin": 1 }, + { "/get-started/quick-tutorials": 1 }, + { "/get-started/smart-contracts/token-contract": 1 }, + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/get-started/smart-contracts/nft-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 }, + { "/get-started/smart-contracts/v-stable-swap": 1 }, + { "/get-started/smart-contracts/v-option": 1 }, + { "/get-started/smart-contracts/v-escrow": 1 }, { "/development/environment": 1 }, - { "/development/cli": 1 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 }, - { "/development/testing": 1 }, - { "/community/bugs": 1 }, - { "/community/faq": 1 } - ], - "overview": [{ "/overview": 1 }, { "/community/faq": 1 }], + { "/development/testing": 1 } + ], + "overview": [{ "/overview": 1 }], "of": [ - { "/development/cli": 37 }, - { "/community/faq": 18 }, + { "/get-started/smart-contracts/token-contract": 33 }, + { "/get-started/smart-contracts/v-atomic-swap": 15 }, + { "/get-started/smart-contracts/lock-contract": 12 }, { "/development/environment": 9 }, - { "/development/frameworks-mobile/react-native": 9 }, - { "/development/frameworks-mobile/intro": 8 }, + { "/get-started/vsys-stack": 8 }, + { "/get-started/where-to-begin": 8 }, { "/overview": 7 }, - { "/get-started/new-project": 7 }, - { "/development/frameworks-web/angular": 7 }, - { "/development/frameworks-web/react": 7 }, - { "/community/bugs": 7 }, - { "/development/frameworks-web/intro": 6 }, - { "/get-started/mobile": 4 }, - { "/development/frameworks-mobile/ionic": 4 } - ], - "v": [{ "/overview": 9 }, { "/development/testing": 3 }, { "/development/environment": 1 }], + { "/get-started/smart-contracts/nft-contract": 5 }, + { "/get-started/quick-tutorials": 1 } + ], + "v": [ + { "/overview": 9 }, + { "/get-started/where-to-begin": 9 }, + { "/get-started/vsys-stack": 5 }, + { "/get-started/smart-contracts/token-contract": 3 }, + { "/get-started/smart-contracts/v-stable-swap": 3 }, + { "/get-started/smart-contracts/v-option": 3 }, + { "/get-started/smart-contracts/v-escrow": 3 }, + { "/development/testing": 3 }, + { "/get-started/smart-contracts/v-atomic-swap": 2 }, + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/development/environment": 1 } + ], "systems": [ { "/overview": 9 }, + { "/get-started/where-to-begin": 7 }, + { "/get-started/vsys-stack": 5 }, + { "/get-started/smart-contracts/token-contract": 4 }, { "/development/testing": 2 }, - { "/get-started/mobile": 1 }, + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 }, { "/development/environment": 1 } ], "documentation": [ - { "/development/cli": 3 }, - { "/development/frameworks-web/angular": 3 }, - { "/development/frameworks-web/react": 3 }, { "/overview": 2 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 }, - { "/community/bugs": 1 }, - { "/community/faq": 1 } + { "/get-started/where-to-begin": 1 }, + { "/get-started/smart-contracts/v-stable-swap": 1 } ], - "welcome": [{ "/overview": 1 }, { "/development/environment": 1 }, { "/community/faq": 1 }], + "welcome": [{ "/overview": 1 }, { "/development/environment": 1 }], "to": [ - { "/community/faq": 59 }, - { "/development/frameworks-mobile/react-native": 53 }, - { "/development/cli": 42 }, + { "/get-started/smart-contracts/token-contract": 68 }, + { "/get-started/smart-contracts/v-atomic-swap": 27 }, { "/development/environment": 26 }, - { "/development/frameworks-mobile/ionic": 24 }, - { "/development/frameworks-web/react": 21 }, - { "/get-started/new-project": 20 }, - { "/development/frameworks-web/angular": 20 }, - { "/development/frameworks-mobile/intro": 17 }, - { "/get-started/mobile": 15 }, - { "/development/frameworks-web/intro": 12 }, + { "/get-started/where-to-begin": 18 }, + { "/get-started/smart-contracts/lock-contract": 16 }, + { "/get-started/vsys-stack": 15 }, { "/overview": 7 }, - { "/community/bugs": 4 } + { "/get-started/smart-contracts/nft-contract": 3 }, + { "/get-started/quick-tutorials": 1 } ], "is": [ - { "/development/cli": 33 }, - { "/community/faq": 11 }, - { "/development/frameworks-mobile/react-native": 9 }, - { "/get-started/new-project": 7 }, + { "/get-started/smart-contracts/token-contract": 45 }, + { "/get-started/smart-contracts/v-atomic-swap": 16 }, + { "/get-started/vsys-stack": 8 }, + { "/get-started/where-to-begin": 6 }, { "/development/environment": 5 }, - { "/development/frameworks-mobile/intro": 5 }, - { "/development/frameworks-mobile/ionic": 5 }, - { "/get-started/mobile": 4 }, + { "/get-started/smart-contracts/lock-contract": 4 }, { "/overview": 3 }, - { "/development/frameworks-web/intro": 3 }, - { "/development/frameworks-web/angular": 2 }, - { "/development/frameworks-web/react": 2 }, - { "/community/bugs": 2 } + { "/get-started/smart-contracts/nft-contract": 1 } ], - "blockchain": [{ "/overview": 3 }], - "platform": [{ "/development/frameworks-mobile/ionic": 4 }, { "/overview": 2 }, { "/community/faq": 2 }], + "blockchain": [ + { "/get-started/vsys-stack": 5 }, + { "/get-started/smart-contracts/token-contract": 5 }, + { "/overview": 3 }, + { "/get-started/where-to-begin": 3 }, + { "/get-started/smart-contracts/v-atomic-swap": 2 }, + { "/get-started/smart-contracts/nft-contract": 1 } + ], + "platform": [{ "/overview": 2 }, { "/get-started/smart-contracts/token-contract": 1 }], "that": [ - { "/development/cli": 22 }, - { "/community/faq": 22 }, - { "/development/frameworks-mobile/react-native": 6 }, + { "/get-started/smart-contracts/token-contract": 14 }, + { "/get-started/smart-contracts/v-atomic-swap": 12 }, + { "/get-started/vsys-stack": 5 }, { "/development/environment": 5 }, - { "/get-started/mobile": 4 }, + { "/get-started/where-to-begin": 4 }, { "/overview": 3 }, - { "/get-started/new-project": 3 }, - { "/development/frameworks-web/angular": 2 }, - { "/development/frameworks-web/react": 2 }, - { "/development/frameworks-mobile/ionic": 2 }, - { "/development/frameworks-web/intro": 1 } - ], - "supports": [ - { "/development/frameworks-mobile/intro": 2 }, - { "/overview": 1 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/community/faq": 1 } + { "/get-started/smart-contracts/nft-contract": 3 }, + { "/get-started/smart-contracts/lock-contract": 1 } ], + "supports": [{ "/overview": 1 }], "efficient": [{ "/overview": 1 }], "and": [ - { "/development/cli": 42 }, - { "/community/faq": 21 }, - { "/development/frameworks-mobile/react-native": 18 }, - { "/development/frameworks-web/angular": 12 }, - { "/development/frameworks-web/react": 12 }, - { "/get-started/mobile": 10 }, + { "/get-started/smart-contracts/token-contract": 27 }, + { "/get-started/smart-contracts/v-atomic-swap": 15 }, + { "/get-started/where-to-begin": 11 }, { "/development/environment": 9 }, - { "/development/frameworks-mobile/intro": 8 }, - { "/development/frameworks-mobile/ionic": 8 }, - { "/get-started/new-project": 6 }, - { "/development/frameworks-web/intro": 6 }, + { "/get-started/vsys-stack": 7 }, { "/overview": 5 }, - { "/community/bugs": 5 }, + { "/get-started/smart-contracts/lock-contract": 3 }, + { "/get-started/smart-contracts/nft-contract": 1 }, { "/development/testing": 1 } ], "agile": [{ "/overview": 1 }], - "development": [ - { "/development/environment": 7 }, - { "/community/faq": 7 }, - { "/overview": 6 }, - { "/get-started/mobile": 5 }, - { "/development/frameworks-mobile/react-native": 5 }, - { "/development/cli": 4 }, - { "/development/frameworks-web/intro": 3 }, - { "/development/frameworks-mobile/intro": 3 }, - { "/development/frameworks-mobile/ionic": 3 }, - { "/community/bugs": 1 } - ], + "development": [{ "/development/environment": 7 }, { "/overview": 6 }, { "/get-started/vsys-stack": 2 }], "decentralized": [{ "/overview": 1 }], "applications": [ - { "/community/faq": 6 }, - { "/get-started/new-project": 5 }, - { "/get-started/mobile": 5 }, { "/overview": 3 }, - { "/development/cli": 3 }, - { "/development/frameworks-mobile/react-native": 2 }, + { "/get-started/vsys-stack": 1 }, { "/development/environment": 1 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, { "/development/testing": 1 } ], - "designed": [ - { "/community/faq": 3 }, - { "/development/frameworks-web/angular": 2 }, - { "/development/frameworks-web/react": 2 }, - { "/development/frameworks-mobile/react-native": 2 }, - { "/overview": 1 } - ], + "designed": [{ "/overview": 1 }], "for": [ - { "/development/frameworks-mobile/react-native": 28 }, - { "/community/faq": 28 }, - { "/development/cli": 22 }, - { "/development/frameworks-web/react": 11 }, - { "/development/frameworks-mobile/ionic": 11 }, + { "/get-started/smart-contracts/token-contract": 18 }, + { "/get-started/smart-contracts/lock-contract": 11 }, + { "/get-started/where-to-begin": 10 }, { "/development/environment": 10 }, - { "/get-started/mobile": 9 }, - { "/development/frameworks-web/angular": 9 }, - { "/development/frameworks-mobile/intro": 8 }, - { "/development/frameworks-web/intro": 6 }, + { "/get-started/smart-contracts/v-atomic-swap": 5 }, { "/overview": 3 }, - { "/community/bugs": 3 }, - { "/get-started/new-project": 1 } + { "/get-started/vsys-stack": 2 }, + { "/get-started/quick-tutorials": 1 } ], - "real": [{ "/overview": 2 }], - "world": [{ "/overview": 2 }], + "real": [{ "/overview": 2 }, { "/get-started/smart-contracts/token-contract": 1 }], + "world": [{ "/overview": 2 }, { "/get-started/smart-contracts/token-contract": 1 }], "use": [ - { "/development/frameworks-mobile/react-native": 14 }, - { "/development/frameworks-web/angular": 7 }, - { "/development/frameworks-web/react": 7 }, - { "/development/cli": 5 }, - { "/development/frameworks-mobile/intro": 5 }, { "/overview": 3 }, + { "/get-started/smart-contracts/v-atomic-swap": 3 }, { "/development/environment": 3 }, - { "/development/frameworks-web/intro": 3 }, - { "/development/frameworks-mobile/ionic": 3 }, - { "/community/faq": 3 }, - { "/get-started/new-project": 1 }, - { "/get-started/mobile": 1 } + { "/get-started/vsys-stack": 1 }, + { "/get-started/where-to-begin": 1 }, + { "/get-started/quick-tutorials": 1 }, + { "/get-started/smart-contracts/token-contract": 1 }, + { "/get-started/smart-contracts/lock-contract": 1 } ], - "cases": [{ "/overview": 2 }, { "/development/cli": 2 }, { "/community/faq": 1 }], + "cases": [{ "/overview": 2 }, { "/get-started/smart-contracts/token-contract": 1 }], "has": [ - { "/development/cli": 4 }, - { "/development/frameworks-mobile/intro": 2 }, + { "/get-started/smart-contracts/token-contract": 9 }, + { "/get-started/where-to-begin": 2 }, + { "/get-started/smart-contracts/v-atomic-swap": 2 }, { "/overview": 1 }, - { "/development/environment": 1 }, - { "/community/faq": 1 } + { "/get-started/vsys-stack": 1 }, + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/development/environment": 1 } + ], + "set": [ + { "/development/environment": 7 }, + { "/get-started/smart-contracts/token-contract": 6 }, + { "/overview": 2 }, + { "/get-started/smart-contracts/lock-contract": 2 } ], - "set": [{ "/development/environment": 7 }, { "/overview": 2 }, { "/community/faq": 2 }], "composable": [{ "/overview": 1 }], "no": [ + { "/get-started/vsys-stack": 5 }, + { "/get-started/smart-contracts/token-contract": 2 }, + { "/get-started/smart-contracts/v-atomic-swap": 2 }, { "/overview": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/development/frameworks-mobile/react-native": 1 } + { "/get-started/smart-contracts/nft-contract": 1 } ], "code": [ - { "/development/cli": 13 }, - { "/development/frameworks-mobile/react-native": 6 }, - { "/get-started/mobile": 5 }, - { "/development/frameworks-web/angular": 4 }, - { "/development/frameworks-web/react": 4 }, + { "/get-started/vsys-stack": 8 }, { "/overview": 3 }, - { "/development/frameworks-mobile/intro": 3 }, - { "/development/frameworks-mobile/ionic": 3 }, { "/development/environment": 2 }, - { "/community/faq": 2 }, - { "/community/bugs": 1 } + { "/get-started/smart-contracts/nft-contract": 1 } + ], + "smart": [ + { "/get-started/vsys-stack": 7 }, + { "/overview": 5 }, + { "/get-started/smart-contracts/token-contract": 1 }, + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/get-started/smart-contracts/nft-contract": 1 }, + { "/get-started/smart-contracts/v-stable-swap": 1 }, + { "/get-started/smart-contracts/v-option": 1 }, + { "/get-started/smart-contracts/v-escrow": 1 } + ], + "contract": [ + { "/get-started/smart-contracts/token-contract": 65 }, + { "/get-started/smart-contracts/lock-contract": 33 }, + { "/get-started/smart-contracts/v-atomic-swap": 26 }, + { "/get-started/smart-contracts/nft-contract": 9 }, + { "/get-started/smart-contracts/v-stable-swap": 3 }, + { "/get-started/smart-contracts/v-option": 3 }, + { "/get-started/smart-contracts/v-escrow": 3 }, + { "/overview": 2 }, + { "/get-started/vsys-stack": 1 } ], - "smart": [{ "/overview": 5 }], - "contract": [{ "/overview": 2 }], - "templates": [{ "/overview": 1 }, { "/community/faq": 1 }], - "cover": [{ "/overview": 1 }, { "/development/cli": 1 }, { "/community/faq": 1 }], + "templates": [{ "/get-started/vsys-stack": 2 }, { "/overview": 1 }], + "cover": [{ "/overview": 1 }], "vast": [{ "/overview": 1 }], "majority": [{ "/overview": 1 }, { "/development/environment": 1 }], - "without": [{ "/overview": 1 }, { "/development/cli": 1 }, { "/community/faq": 1 }], + "without": [ + { "/get-started/smart-contracts/token-contract": 3 }, + { "/overview": 1 }, + { "/get-started/vsys-stack": 1 } + ], "any": [ - { "/development/cli": 8 }, { "/overview": 3 }, - { "/get-started/new-project": 2 }, - { "/development/environment": 1 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/community/faq": 1 } + { "/get-started/vsys-stack": 2 }, + { "/get-started/smart-contracts/token-contract": 2 }, + { "/get-started/smart-contracts/nft-contract": 1 }, + { "/development/environment": 1 } ], "need": [ - { "/community/faq": 9 }, { "/development/environment": 8 }, - { "/development/frameworks-mobile/ionic": 4 }, { "/overview": 3 }, - { "/development/frameworks-mobile/react-native": 3 }, - { "/get-started/new-project": 2 }, - { "/development/frameworks-mobile/intro": 2 }, - { "/development/cli": 1 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-web/angular": 1 } - ], - "security": [{ "/overview": 1 }], - "audits": [{ "/overview": 1 }], - "layer": [{ "/overview": 1 }], - "public": [{ "/overview": 1 }], + { "/get-started/vsys-stack": 3 }, + { "/get-started/where-to-begin": 3 }, + { "/get-started/smart-contracts/token-contract": 2 }, + { "/get-started/smart-contracts/lock-contract": 2 } + ], + "security": [{ "/get-started/vsys-stack": 2 }, { "/overview": 1 }], + "audits": [{ "/get-started/vsys-stack": 2 }, { "/overview": 1 }], + "layer": [{ "/get-started/vsys-stack": 2 }, { "/overview": 1 }], + "public": [ + { "/get-started/where-to-begin": 5 }, + { "/overview": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], "our": [ - { "/community/faq": 17 }, + { "/get-started/vsys-stack": 6 }, { "/overview": 5 }, - { "/development/frameworks-mobile/react-native": 5 }, - { "/get-started/new-project": 2 }, - { "/get-started/mobile": 2 }, + { "/get-started/smart-contracts/token-contract": 5 }, { "/development/environment": 2 }, - { "/development/frameworks-web/angular": 2 }, - { "/development/frameworks-web/react": 2 }, - { "/development/frameworks-mobile/ionic": 2 }, - { "/development/frameworks-web/intro": 1 }, + { "/get-started/where-to-begin": 1 }, + { "/get-started/quick-tutorials": 1 }, { "/development/testing": 1 } ], - "makes": [{ "/overview": 1 }, { "/get-started/mobile": 1 }, { "/development/cli": 1 }], - "technology": [ - { "/overview": 1 }, - { "/get-started/mobile": 1 }, - { "/development/environment": 1 }, - { "/development/frameworks-mobile/intro": 1 } - ], + "makes": [{ "/overview": 1 }, { "/get-started/smart-contracts/token-contract": 1 }], + "technology": [{ "/overview": 1 }, { "/development/environment": 1 }], "as": [ - { "/community/faq": 18 }, - { "/development/cli": 15 }, - { "/development/frameworks-web/angular": 7 }, - { "/development/frameworks-web/react": 6 }, + { "/get-started/smart-contracts/token-contract": 18 }, + { "/get-started/where-to-begin": 6 }, + { "/get-started/smart-contracts/v-atomic-swap": 4 }, { "/development/environment": 3 }, { "/overview": 2 }, - { "/get-started/new-project": 2 }, - { "/get-started/mobile": 1 }, - { "/development/frameworks-mobile/react-native": 1 } + { "/get-started/smart-contracts/lock-contract": 2 }, + { "/get-started/smart-contracts/nft-contract": 2 }, + { "/get-started/vsys-stack": 1 } + ], + "user": [ + { "/get-started/vsys-stack": 2 }, + { "/overview": 1 }, + { "/get-started/smart-contracts/token-contract": 1 } + ], + "friendly": [{ "/overview": 1 }, { "/get-started/smart-contracts/token-contract": 1 }], + "possible": [ + { "/get-started/smart-contracts/token-contract": 3 }, + { "/overview": 1 }, + { "/development/environment": 1 } ], - "user": [{ "/development/cli": 8 }, { "/overview": 1 }, { "/get-started/new-project": 1 }], - "friendly": [{ "/overview": 1 }], - "possible": [{ "/community/faq": 4 }, { "/overview": 1 }, { "/development/environment": 1 }], "greatly": [{ "/overview": 1 }], "ease": [{ "/overview": 1 }], "burden": [{ "/overview": 1 }], - "developers": [ - { "/development/frameworks-web/intro": 3 }, - { "/community/faq": 2 }, - { "/overview": 1 }, - { "/get-started/mobile": 1 } - ], + "developers": [{ "/get-started/vsys-stack": 2 }, { "/overview": 1 }, { "/get-started/quick-tutorials": 1 }], "while": [ - { "/community/faq": 3 }, + { "/get-started/smart-contracts/v-atomic-swap": 2 }, { "/overview": 1 }, - { "/development/cli": 1 }, - { "/development/frameworks-mobile/react-native": 1 } + { "/get-started/where-to-begin": 1 }, + { "/get-started/smart-contracts/token-contract": 1 } ], "exceeding": [{ "/overview": 1 }], - "project": [ - { "/development/frameworks-mobile/react-native": 20 }, - { "/development/frameworks-mobile/ionic": 17 }, - { "/development/cli": 12 }, - { "/development/frameworks-web/angular": 12 }, - { "/development/frameworks-web/react": 12 }, - { "/community/faq": 10 }, - { "/get-started/new-project": 6 }, - { "/overview": 3 }, - { "/community/bugs": 1 } - ], - "requirements": [ - { "/development/environment": 2 }, - { "/development/cli": 2 }, - { "/overview": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "learn": [ - { "/get-started/new-project": 2 }, - { "/development/frameworks-web/intro": 2 }, - { "/development/frameworks-mobile/intro": 2 }, - { "/community/faq": 2 }, - { "/overview": 1 }, - { "/get-started/mobile": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "about": [ - { "/community/faq": 5 }, - { "/get-started/new-project": 4 }, - { "/overview": 2 }, - { "/development/cli": 2 }, - { "/development/frameworks-web/angular": 2 }, - { "/development/frameworks-web/react": 2 }, - { "/development/frameworks-mobile/react-native": 2 }, - { "/community/bugs": 2 }, - { "/get-started/mobile": 1 } - ], + "project": [{ "/get-started/vsys-stack": 4 }, { "/overview": 3 }, { "/get-started/where-to-begin": 1 }], + "requirements": [{ "/development/environment": 2 }, { "/overview": 1 }], + "learn": [{ "/overview": 1 }], + "about": [{ "/overview": 2 }, { "/get-started/vsys-stack": 2 }], "check": [ - { "/development/cli": 4 }, - { "/get-started/new-project": 2 }, + { "/get-started/smart-contracts/token-contract": 4 }, { "/development/environment": 2 }, - { "/community/faq": 2 }, - { "/overview": 1 }, - { "/get-started/mobile": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 } - ], - "out": [ - { "/development/cli": 5 }, - { "/community/faq": 3 }, - { "/get-started/new-project": 2 }, { "/overview": 1 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 } + { "/get-started/smart-contracts/v-atomic-swap": 1 } ], - "main": [{ "/overview": 1 }], - "website": [ - { "/development/environment": 2 }, - { "/development/frameworks-web/intro": 2 }, - { "/development/frameworks-mobile/intro": 2 }, - { "/overview": 1 }, - { "/development/frameworks-mobile/ionic": 1 } + "out": [{ "/get-started/smart-contracts/token-contract": 16 }, { "/overview": 1 }], + "main": [ + { "/get-started/smart-contracts/token-contract": 13 }, + { "/get-started/where-to-begin": 3 }, + { "/overview": 1 } ], + "website": [{ "/development/environment": 2 }, { "/overview": 1 }], "dive": [{ "/overview": 1 }], "straight": [{ "/overview": 1 }], "into": [ - { "/development/cli": 2 }, - { "/community/bugs": 2 }, + { "/get-started/smart-contracts/v-atomic-swap": 11 }, + { "/get-started/smart-contracts/token-contract": 4 }, { "/overview": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/development/frameworks-mobile/react-native": 1 }, - { "/community/faq": 1 } + { "/get-started/vsys-stack": 1 }, + { "/get-started/where-to-begin": 1 }, + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/get-started/smart-contracts/nft-contract": 1 } ], "see": [ - { "/community/faq": 4 }, - { "/get-started/mobile": 2 }, + { "/get-started/smart-contracts/token-contract": 6 }, + { "/get-started/where-to-begin": 3 }, { "/overview": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 } + { "/get-started/smart-contracts/lock-contract": 1 } ], "resources": [ - { "/community/faq": 7 }, + { "/get-started/smart-contracts/token-contract": 2 }, { "/overview": 1 }, - { "/development/environment": 1 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-mobile/react-native": 1 }, - { "/community/bugs": 1 } - ], - "page": [ - { "/community/faq": 5 }, - { "/overview": 2 }, - { "/get-started/mobile": 1 }, - { "/development/cli": 1 }, - { "/community/bugs": 1 } + { "/development/environment": 1 } ], + "page": [{ "/overview": 2 }], "this": [ - { "/development/cli": 10 }, - { "/community/faq": 10 }, - { "/development/frameworks-mobile/react-native": 6 }, - { "/get-started/new-project": 4 }, - { "/get-started/mobile": 3 }, + { "/get-started/smart-contracts/lock-contract": 7 }, + { "/get-started/vsys-stack": 4 }, + { "/get-started/smart-contracts/token-contract": 4 }, + { "/get-started/smart-contracts/nft-contract": 3 }, + { "/get-started/smart-contracts/v-atomic-swap": 3 }, { "/development/environment": 3 }, { "/overview": 2 }, - { "/development/frameworks-mobile/intro": 2 }, - { "/community/bugs": 2 } + { "/get-started/where-to-begin": 1 } ], - "site": [{ "/overview": 2 }, { "/community/bugs": 1 }], + "site": [{ "/overview": 2 }], "will": [ - { "/development/frameworks-mobile/react-native": 13 }, - { "/community/faq": 10 }, - { "/development/frameworks-web/angular": 9 }, + { "/get-started/smart-contracts/v-atomic-swap": 13 }, + { "/get-started/vsys-stack": 8 }, { "/development/environment": 8 }, - { "/development/frameworks-mobile/ionic": 8 }, - { "/get-started/new-project": 7 }, - { "/development/frameworks-web/react": 7 }, - { "/development/cli": 5 }, - { "/development/frameworks-mobile/intro": 5 }, - { "/overview": 2 }, - { "/get-started/mobile": 1 }, - { "/development/frameworks-web/intro": 1 } - ], - "provide": [ - { "/community/faq": 4 }, - { "/development/cli": 3 }, - { "/overview": 1 }, - { "/get-started/new-project": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 } + { "/get-started/smart-contracts/token-contract": 3 }, + { "/overview": 2 } ], + "provide": [{ "/get-started/vsys-stack": 2 }, { "/overview": 1 }], "you": [ - { "/community/faq": 49 }, - { "/development/frameworks-mobile/react-native": 43 }, { "/development/environment": 33 }, - { "/development/frameworks-mobile/ionic": 24 }, - { "/development/cli": 23 }, - { "/development/frameworks-web/react": 22 }, - { "/development/frameworks-web/angular": 21 }, - { "/development/frameworks-mobile/intro": 14 }, - { "/get-started/new-project": 10 }, - { "/community/bugs": 8 }, - { "/development/frameworks-web/intro": 7 }, - { "/get-started/mobile": 6 }, - { "/overview": 4 } + { "/get-started/vsys-stack": 10 }, + { "/get-started/smart-contracts/lock-contract": 10 }, + { "/get-started/where-to-begin": 7 }, + { "/get-started/smart-contracts/token-contract": 7 }, + { "/overview": 4 }, + { "/get-started/smart-contracts/v-atomic-swap": 3 } ], "with": [ - { "/community/faq": 17 }, - { "/development/cli": 13 }, - { "/development/frameworks-web/intro": 12 }, - { "/development/frameworks-mobile/react-native": 10 }, - { "/development/frameworks-web/angular": 6 }, - { "/development/frameworks-web/react": 6 }, - { "/development/frameworks-mobile/intro": 6 }, - { "/development/frameworks-mobile/ionic": 5 }, - { "/get-started/new-project": 4 }, + { "/get-started/smart-contracts/token-contract": 16 }, + { "/get-started/where-to-begin": 7 }, + { "/get-started/smart-contracts/v-atomic-swap": 7 }, { "/overview": 3 }, + { "/get-started/vsys-stack": 3 }, { "/development/environment": 3 }, - { "/community/bugs": 3 }, - { "/get-started/mobile": 1 } + { "/get-started/smart-contracts/lock-contract": 2 }, + { "/get-started/smart-contracts/nft-contract": 1 } ], - "everything": [{ "/community/faq": 2 }, { "/overview": 1 }], - "get": [ - { "/community/faq": 4 }, - { "/development/environment": 2 }, - { "/overview": 1 }, - { "/development/cli": 1 }, - { "/development/frameworks-mobile/ionic": 1 } - ], - "started": [ - { "/development/frameworks-mobile/ionic": 4 }, - { "/development/environment": 3 }, - { "/development/cli": 2 }, - { "/development/frameworks-web/angular": 2 }, - { "/development/frameworks-web/react": 2 }, - { "/development/frameworks-mobile/react-native": 2 }, + "everything": [ + { "/get-started/smart-contracts/token-contract": 12 }, { "/overview": 1 }, - { "/community/faq": 1 } + { "/get-started/where-to-begin": 1 } ], - "writing": [ - { "/overview": 2 }, - { "/development/cli": 2 }, - { "/development/frameworks-mobile/ionic": 2 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/development/frameworks-mobile/react-native": 1 } + "get": [ + { "/get-started/smart-contracts/lock-contract": 4 }, + { "/get-started/where-to-begin": 3 }, + { "/get-started/smart-contracts/v-atomic-swap": 3 }, + { "/get-started/smart-contracts/token-contract": 2 }, + { "/development/environment": 2 }, + { "/overview": 1 } ], + "started": [{ "/development/environment": 3 }, { "/overview": 1 }, { "/get-started/where-to-begin": 1 }], + "writing": [{ "/overview": 2 }], "protocol": [{ "/overview": 1 }], - "pre": [ - { "/development/cli": 2 }, + "pre": [{ "/get-started/smart-contracts/token-contract": 2 }, { "/overview": 1 }], + "requisites": [{ "/overview": 1 }, { "/get-started/smart-contracts/token-contract": 1 }], + "breakdown": [{ "/overview": 1 }], + "stack": [ + { "/get-started/vsys-stack": 3 }, { "/overview": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 } + { "/get-started/smart-contracts/token-contract": 1 } ], - "requisites": [{ "/overview": 1 }], - "breakdown": [{ "/overview": 1 }], - "stack": [{ "/overview": 1 }, { "/development/frameworks-web/intro": 1 }], "before": [ - { "/get-started/new-project": 3 }, - { "/development/frameworks-mobile/react-native": 2 }, + { "/get-started/smart-contracts/v-atomic-swap": 6 }, + { "/get-started/vsys-stack": 3 }, + { "/get-started/smart-contracts/token-contract": 2 }, { "/overview": 1 }, - { "/development/environment": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/community/faq": 1 } - ], - "information": [ - { "/development/frameworks-mobile/react-native": 4 }, - { "/community/faq": 4 }, - { "/community/bugs": 3 }, - { "/overview": 2 }, - { "/development/cli": 2 }, - { "/development/frameworks-web/angular": 2 }, - { "/development/frameworks-web/react": 2 }, - { "/development/frameworks-mobile/ionic": 2 } - ], - "guides": [ - { "/overview": 2 }, - { "/development/environment": 1 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/community/faq": 1 } - ], - "including": [ - { "/overview": 2 }, - { "/get-started/new-project": 2 }, - { "/development/frameworks-mobile/react-native": 2 }, - { "/community/faq": 2 }, - { "/development/cli": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/community/bugs": 1 } + { "/get-started/where-to-begin": 1 }, + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/development/environment": 1 } ], + "information": [{ "/get-started/smart-contracts/lock-contract": 5 }, { "/overview": 2 }], + "guides": [{ "/overview": 2 }, { "/development/environment": 1 }], + "including": [{ "/overview": 2 }, { "/get-started/vsys-stack": 1 }], "on": [ - { "/development/cli": 15 }, - { "/community/faq": 15 }, - { "/development/frameworks-mobile/react-native": 9 }, { "/development/environment": 8 }, - { "/development/frameworks-mobile/ionic": 8 }, - { "/community/bugs": 4 }, - { "/get-started/new-project": 3 }, - { "/get-started/mobile": 3 }, - { "/development/frameworks-web/intro": 2 }, - { "/development/frameworks-mobile/intro": 2 }, + { "/get-started/smart-contracts/token-contract": 6 }, + { "/get-started/where-to-begin": 5 }, + { "/get-started/vsys-stack": 3 }, + { "/get-started/smart-contracts/v-atomic-swap": 3 }, { "/overview": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/get-started/smart-contracts/nft-contract": 1 }, { "/development/testing": 1 } ], - "starting": [ - { "/development/frameworks-mobile/react-native": 2 }, - { "/community/faq": 2 }, - { "/overview": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/ionic": 1 } - ], + "starting": [{ "/overview": 1 }], "new": [ - { "/development/cli": 6 }, - { "/get-started/new-project": 5 }, - { "/development/frameworks-mobile/react-native": 4 }, - { "/development/frameworks-web/angular": 3 }, - { "/development/frameworks-web/react": 3 }, - { "/development/frameworks-mobile/ionic": 3 }, - { "/community/faq": 3 }, + { "/get-started/vsys-stack": 4 }, + { "/get-started/smart-contracts/token-contract": 4 }, { "/overview": 2 }, - { "/development/frameworks-mobile/intro": 2 }, - { "/development/frameworks-web/intro": 1 } + { "/get-started/where-to-begin": 1 }, + { "/get-started/quick-tutorials": 1 } ], "different": [ - { "/get-started/mobile": 5 }, - { "/development/cli": 4 }, + { "/get-started/smart-contracts/v-atomic-swap": 3 }, { "/overview": 2 }, - { "/get-started/new-project": 1 }, - { "/development/environment": 1 }, - { "/community/faq": 1 } + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/development/environment": 1 } ], "types": [ + { "/get-started/smart-contracts/token-contract": 3 }, { "/overview": 1 }, - { "/get-started/new-project": 1 }, - { "/get-started/mobile": 1 }, - { "/development/cli": 1 } + { "/get-started/smart-contracts/lock-contract": 1 } ], "can": [ - { "/community/faq": 14 }, - { "/development/cli": 13 }, - { "/development/frameworks-mobile/react-native": 11 }, - { "/development/frameworks-web/angular": 9 }, - { "/development/frameworks-mobile/ionic": 8 }, - { "/development/frameworks-web/react": 6 }, - { "/get-started/new-project": 4 }, + { "/get-started/smart-contracts/token-contract": 23 }, + { "/get-started/smart-contracts/v-atomic-swap": 16 }, + { "/get-started/smart-contracts/lock-contract": 9 }, + { "/get-started/where-to-begin": 5 }, + { "/get-started/smart-contracts/nft-contract": 4 }, { "/development/environment": 4 }, - { "/get-started/mobile": 3 }, - { "/community/bugs": 3 }, - { "/overview": 1 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-mobile/intro": 1 } + { "/get-started/vsys-stack": 2 }, + { "/overview": 1 } ], "build": [ - { "/community/faq": 6 }, - { "/development/frameworks-mobile/ionic": 4 }, - { "/get-started/new-project": 2 }, - { "/development/frameworks-mobile/react-native": 2 }, + { "/get-started/where-to-begin": 6 }, + { "/get-started/vsys-stack": 2 }, + { "/overview": 1 }, + { "/get-started/smart-contracts/lock-contract": 1 } + ], + "devnet": [ + { "/get-started/smart-contracts/lock-contract": 5 }, { "/overview": 1 }, - { "/get-started/mobile": 1 }, - { "/development/cli": 1 }, - { "/development/frameworks-web/angular": 1 } + { "/get-started/smart-contracts/token-contract": 1 } ], - "devnet": [{ "/overview": 1 }], "how": [ - { "/community/faq": 5 }, { "/overview": 3 }, - { "/get-started/new-project": 2 }, - { "/development/cli": 2 }, - { "/development/frameworks-mobile/react-native": 1 } + { "/get-started/vsys-stack": 2 }, + { "/get-started/smart-contracts/lock-contract": 1 } ], "up": [ { "/development/environment": 7 }, - { "/development/frameworks-mobile/ionic": 5 }, - { "/development/frameworks-mobile/react-native": 5 }, - { "/development/cli": 3 }, - { "/overview": 1 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/community/faq": 1 } + { "/get-started/smart-contracts/token-contract": 3 }, + { "/get-started/where-to-begin": 2 }, + { "/get-started/smart-contracts/lock-contract": 2 }, + { "/overview": 1 } ], "environment": [ { "/development/environment": 4 }, - { "/development/frameworks-mobile/ionic": 4 }, - { "/development/frameworks-mobile/react-native": 4 }, { "/overview": 1 }, - { "/community/bugs": 1 } + { "/get-started/smart-contracts/token-contract": 1 } ], "start": [ - { "/development/frameworks-mobile/react-native": 9 }, - { "/development/frameworks-web/angular": 5 }, - { "/development/frameworks-web/react": 5 }, - { "/development/frameworks-mobile/ionic": 5 }, - { "/community/faq": 4 }, - { "/development/cli": 2 }, { "/overview": 1 }, - { "/get-started/new-project": 1 } + { "/get-started/vsys-stack": 1 }, + { "/get-started/smart-contracts/lock-contract": 1 } ], "in": [ - { "/development/cli": 26 }, - { "/community/faq": 16 }, - { "/development/frameworks-mobile/react-native": 10 }, + { "/get-started/smart-contracts/token-contract": 40 }, + { "/get-started/smart-contracts/lock-contract": 12 }, + { "/get-started/where-to-begin": 8 }, { "/development/environment": 8 }, - { "/development/frameworks-mobile/ionic": 7 }, - { "/get-started/mobile": 5 }, - { "/development/frameworks-web/angular": 5 }, - { "/development/frameworks-web/intro": 4 }, - { "/get-started/new-project": 3 }, - { "/development/frameworks-web/react": 3 }, - { "/development/frameworks-mobile/intro": 2 }, - { "/community/bugs": 2 }, - { "/overview": 1 } - ], - "supported": [{ "/community/faq": 2 }, { "/overview": 1 }, { "/development/cli": 1 }], - "technologies": [ - { "/get-started/mobile": 3 }, + { "/get-started/smart-contracts/v-atomic-swap": 5 }, + { "/get-started/vsys-stack": 4 }, + { "/get-started/smart-contracts/nft-contract": 2 }, { "/overview": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/community/faq": 1 } + { "/get-started/quick-tutorials": 1 } ], - "examples": [ - { "/development/frameworks-mobile/react-native": 2 }, - { "/community/faq": 2 }, + "supported": [ + { "/get-started/smart-contracts/lock-contract": 2 }, { "/overview": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 } + { "/get-started/smart-contracts/token-contract": 1 } ], - "quick": [{ "/development/cli": 2 }, { "/overview": 1 }, { "/development/frameworks-mobile/react-native": 1 }], - "tutorials": [{ "/overview": 1 }, { "/development/cli": 1 }], + "technologies": [{ "/overview": 1 }], + "examples": [{ "/overview": 1 }, { "/get-started/smart-contracts/token-contract": 1 }], + "quick": [{ "/get-started/where-to-begin": 2 }, { "/overview": 1 }, { "/get-started/quick-tutorials": 1 }], + "tutorials": [{ "/get-started/quick-tutorials": 2 }, { "/overview": 1 }], "explaining": [{ "/overview": 1 }], "templated": [{ "/overview": 1 }], - "contracts": [{ "/overview": 3 }], + "contracts": [ + { "/get-started/smart-contracts/v-atomic-swap": 15 }, + { "/get-started/vsys-stack": 6 }, + { "/overview": 3 }, + { "/get-started/smart-contracts/lock-contract": 2 } + ], "describe": [{ "/overview": 1 }], - "all": [ - { "/community/faq": 7 }, - { "/development/cli": 3 }, - { "/development/frameworks-mobile/ionic": 2 }, - { "/overview": 1 }, - { "/get-started/mobile": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/react-native": 1 } + "all": [{ "/get-started/smart-contracts/token-contract": 2 }, { "/overview": 1 }], + "functionality": [{ "/overview": 1 }, { "/get-started/vsys-stack": 1 }], + "vsys": [ + { "/get-started/where-to-begin": 10 }, + { "/get-started/smart-contracts/token-contract": 6 }, + { "/get-started/smart-contracts/lock-contract": 3 }, + { "/get-started/smart-contracts/v-atomic-swap": 3 }, + { "/get-started/vsys-stack": 2 }, + { "/get-started/smart-contracts/nft-contract": 1 } + ], + "guide": [{ "/get-started/vsys-stack": 1 }, { "/development/environment": 1 }], + "building": [ + { "/development/environment": 4 }, + { "/get-started/vsys-stack": 2 }, + { "/get-started/where-to-begin": 2 }, + { "/get-started/smart-contracts/token-contract": 1 } ], - "functionality": [ - { "/development/frameworks-mobile/intro": 2 }, - { "/overview": 1 }, - { "/development/cli": 1 }, - { "/development/frameworks-web/intro": 1 } - ], - "web": [ - { "/get-started/new-project": 10 }, - { "/get-started/mobile": 6 }, - { "/development/frameworks-web/intro": 4 }, - { "/development/frameworks-mobile/ionic": 4 }, - { "/development/frameworks-web/angular": 3 }, - { "/development/frameworks-web/react": 3 }, - { "/development/frameworks-mobile/intro": 3 }, - { "/community/faq": 3 }, - { "/development/cli": 2 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "mobile": [ - { "/get-started/mobile": 15 }, - { "/get-started/new-project": 12 }, - { "/development/frameworks-mobile/intro": 6 }, - { "/development/frameworks-mobile/ionic": 3 }, + "approach": [{ "/get-started/vsys-stack": 1 }], + "application": [ + { "/get-started/vsys-stack": 16 }, { "/development/environment": 2 }, - { "/development/frameworks-mobile/react-native": 2 }, - { "/community/faq": 2 }, - { "/development/cli": 1 } - ], - "compare": [ - { "/get-started/new-project": 1 }, - { "/get-started/mobile": 1 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-mobile/intro": 1 } - ], - "comparison": [ - { "/get-started/new-project": 1 }, - { "/get-started/mobile": 1 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-mobile/intro": 1 } - ], - "guide": [ - { "/development/frameworks-mobile/react-native": 5 }, - { "/development/frameworks-mobile/ionic": 4 }, - { "/get-started/new-project": 3 }, - { "/development/cli": 2 }, - { "/development/frameworks-web/intro": 2 }, - { "/development/frameworks-web/angular": 2 }, - { "/development/frameworks-web/react": 2 }, - { "/development/environment": 1 }, - { "/community/faq": 1 } + { "/get-started/quick-tutorials": 1 }, + { "/get-started/smart-contracts/token-contract": 1 } ], - "when": [ - { "/development/cli": 10 }, - { "/development/frameworks-mobile/react-native": 3 }, - { "/get-started/new-project": 1 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/community/faq": 1 } - ], - "approaching": [{ "/get-started/new-project": 1 }], - "potential": [{ "/get-started/new-project": 1 }], - "it": [ - { "/development/cli": 11 }, - { "/get-started/new-project": 8 }, - { "/development/environment": 7 }, - { "/development/frameworks-mobile/react-native": 5 }, - { "/development/frameworks-mobile/intro": 4 }, - { "/get-started/mobile": 2 }, - { "/development/frameworks-web/react": 2 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-web/angular": 1 } + "dictates": [{ "/get-started/vsys-stack": 1 }], + "should": [ + { "/get-started/vsys-stack": 3 }, + { "/development/environment": 3 }, + { "/get-started/smart-contracts/nft-contract": 2 }, + { "/get-started/smart-contracts/v-atomic-swap": 2 } ], - "be": [ - { "/get-started/new-project": 10 }, - { "/development/cli": 9 }, - { "/development/frameworks-mobile/react-native": 9 }, - { "/community/faq": 9 }, + "not": [ + { "/get-started/smart-contracts/token-contract": 7 }, + { "/get-started/vsys-stack": 4 }, + { "/development/environment": 2 }, + { "/get-started/smart-contracts/lock-contract": 1 } + ], + "write": [{ "/get-started/vsys-stack": 2 }], + "related": [{ "/get-started/vsys-stack": 1 }], + "require": [{ "/get-started/vsys-stack": 2 }], + "third": [{ "/get-started/vsys-stack": 2 }, { "/development/environment": 1 }], + "party": [ + { "/get-started/vsys-stack": 2 }, + { "/get-started/smart-contracts/v-atomic-swap": 2 }, + { "/development/environment": 1 } + ], + "because": [{ "/get-started/vsys-stack": 2 }], + "have": [ + { "/get-started/smart-contracts/token-contract": 10 }, + { "/get-started/where-to-begin": 6 }, { "/development/environment": 6 }, - { "/development/frameworks-mobile/intro": 6 }, - { "/development/frameworks-web/intro": 5 }, - { "/development/frameworks-web/angular": 5 }, - { "/development/frameworks-web/react": 5 }, - { "/development/frameworks-mobile/ionic": 4 }, - { "/get-started/mobile": 2 } - ], - "challenging": [{ "/get-started/new-project": 1 }], - "know": [ - { "/get-started/new-project": 1 }, - { "/development/frameworks-mobile/react-native": 1 }, - { "/community/bugs": 1 } - ], - "where": [{ "/get-started/new-project": 1 }, { "/development/cli": 1 }, { "/community/faq": 1 }], - "first": [ - { "/development/frameworks-mobile/react-native": 4 }, - { "/get-started/new-project": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 } + { "/get-started/vsys-stack": 2 }, + { "/get-started/smart-contracts/lock-contract": 2 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } ], - "step": [{ "/get-started/new-project": 1 }, { "/development/cli": 1 }], - "s": [ - { "/development/cli": 4 }, - { "/community/faq": 3 }, - { "/get-started/new-project": 2 }, - { "/development/environment": 2 }, - { "/get-started/mobile": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/community/bugs": 1 } + "already": [ + { "/get-started/vsys-stack": 2 }, + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/development/environment": 1 } ], - "helpful": [{ "/get-started/new-project": 1 }], - "decide": [{ "/development/frameworks-web/intro": 2 }, { "/get-started/new-project": 1 }], - "if": [ - { "/community/faq": 20 }, - { "/development/environment": 11 }, - { "/development/frameworks-mobile/react-native": 10 }, - { "/development/frameworks-web/angular": 6 }, - { "/development/frameworks-web/react": 6 }, - { "/development/frameworks-mobile/intro": 6 }, - { "/get-started/new-project": 5 }, - { "/development/frameworks-web/intro": 5 }, - { "/development/frameworks-mobile/ionic": 5 }, - { "/community/bugs": 5 }, - { "/development/cli": 3 }, - { "/get-started/mobile": 2 } - ], - "going": [{ "/get-started/new-project": 2 }], - "application": [ - { "/get-started/new-project": 14 }, - { "/development/cli": 14 }, - { "/development/frameworks-mobile/react-native": 13 }, - { "/development/frameworks-mobile/intro": 11 }, - { "/development/frameworks-mobile/ionic": 8 }, - { "/community/faq": 7 }, - { "/development/frameworks-web/angular": 6 }, - { "/development/frameworks-web/intro": 4 }, - { "/development/frameworks-web/react": 4 }, - { "/get-started/mobile": 3 }, - { "/development/environment": 2 } + "been": [{ "/get-started/vsys-stack": 2 }, { "/get-started/smart-contracts/token-contract": 2 }], + "audited": [{ "/get-started/vsys-stack": 2 }], + "four": [{ "/get-started/vsys-stack": 1 }], + "layers": [{ "/get-started/vsys-stack": 1 }], + "knowledge": [{ "/get-started/vsys-stack": 1 }, { "/get-started/smart-contracts/token-contract": 1 }], + "lowest": [{ "/get-started/vsys-stack": 1 }], + "it": [ + { "/get-started/smart-contracts/token-contract": 35 }, + { "/get-started/where-to-begin": 12 }, + { "/get-started/vsys-stack": 9 }, + { "/get-started/smart-contracts/v-atomic-swap": 7 }, + { "/development/environment": 7 }, + { "/get-started/smart-contracts/lock-contract": 4 }, + { "/get-started/smart-contracts/nft-contract": 2 } + ], + "where": [ + { "/get-started/where-to-begin": 6 }, + { "/get-started/vsys-stack": 1 }, + { "/get-started/smart-contracts/token-contract": 1 } + ], + "primary": [{ "/get-started/vsys-stack": 2 }], + "consensus": [{ "/get-started/vsys-stack": 1 }, { "/get-started/where-to-begin": 1 }], + "happens": [{ "/get-started/vsys-stack": 1 }, { "/get-started/where-to-begin": 1 }], + "enables": [{ "/get-started/vsys-stack": 1 }], + "database": [ + { "/get-started/vsys-stack": 5 }, + { "/get-started/smart-contracts/lock-contract": 4 }, + { "/get-started/smart-contracts/token-contract": 1 } + ], + "api": [ + { "/get-started/vsys-stack": 5 }, + { "/get-started/where-to-begin": 5 }, + { "/get-started/smart-contracts/token-contract": 3 }, + { "/get-started/smart-contracts/lock-contract": 3 }, + { "/get-started/smart-contracts/v-atomic-swap": 3 }, + { "/get-started/smart-contracts/nft-contract": 1 } ], - "or": [ - { "/development/cli": 16 }, - { "/development/frameworks-mobile/react-native": 13 }, - { "/community/faq": 9 }, - { "/development/frameworks-web/angular": 5 }, - { "/development/frameworks-web/react": 5 }, - { "/get-started/new-project": 4 }, - { "/development/frameworks-mobile/ionic": 4 }, - { "/development/environment": 3 }, - { "/community/bugs": 3 }, - { "/development/frameworks-mobile/intro": 2 }, - { "/get-started/mobile": 1 }, - { "/development/frameworks-web/intro": 1 } + "specific": [ + { "/get-started/vsys-stack": 2 }, + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/development/environment": 1 } ], - "both": [ - { "/development/cli": 2 }, - { "/development/frameworks-web/intro": 2 }, - { "/get-started/new-project": 1 }, - { "/get-started/mobile": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/intro": 1 } - ], - "here": [{ "/get-started/new-project": 1 }, { "/development/frameworks-mobile/react-native": 1 }], - "run": [ - { "/development/frameworks-mobile/ionic": 11 }, - { "/development/frameworks-mobile/react-native": 7 }, - { "/development/cli": 5 }, + "side": [{ "/get-started/vsys-stack": 2 }, { "/get-started/where-to-begin": 1 }], + "chains": [{ "/get-started/vsys-stack": 3 }], + "stateful": [{ "/get-started/vsys-stack": 1 }], + "provides": [{ "/get-started/vsys-stack": 1 }], + "simple": [ + { "/get-started/smart-contracts/v-atomic-swap": 2 }, + { "/get-started/vsys-stack": 1 }, + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/get-started/smart-contracts/nft-contract": 1 } + ], + "immutable": [{ "/get-started/vsys-stack": 1 }], + "funded": [{ "/get-started/vsys-stack": 1 }], + "way": [{ "/get-started/vsys-stack": 1 }, { "/get-started/smart-contracts/nft-contract": 1 }], + "storing": [{ "/get-started/vsys-stack": 1 }], + "state": [{ "/get-started/vsys-stack": 2 }, { "/development/environment": 1 }], + "optionally": [{ "/get-started/vsys-stack": 1 }], + "app": [{ "/get-started/vsys-stack": 2 }, { "/development/environment": 2 }], + "teams": [{ "/get-started/vsys-stack": 1 }], + "choose": [{ "/get-started/vsys-stack": 1 }], + "fund": [{ "/get-started/vsys-stack": 1 }], + "storage": [{ "/get-started/vsys-stack": 1 }], + "using": [ + { "/get-started/smart-contracts/v-atomic-swap": 5 }, + { "/get-started/smart-contracts/lock-contract": 4 }, { "/development/environment": 3 }, - { "/get-started/new-project": 2 }, - { "/community/bugs": 2 } - ], - "down": [{ "/get-started/new-project": 1 }, { "/get-started/mobile": 1 }, { "/community/bugs": 1 }], - "these": [ - { "/development/cli": 9 }, - { "/development/frameworks-web/angular": 5 }, - { "/development/frameworks-web/react": 5 }, - { "/development/frameworks-mobile/react-native": 5 }, - { "/get-started/new-project": 3 }, - { "/community/faq": 3 }, - { "/development/frameworks-mobile/intro": 2 }, - { "/development/frameworks-mobile/ionic": 2 }, - { "/development/environment": 1 }, - { "/development/frameworks-web/intro": 1 }, - { "/community/bugs": 1 } + { "/get-started/vsys-stack": 1 }, + { "/get-started/where-to-begin": 1 } + ], + "very": [{ "/get-started/vsys-stack": 2 }, { "/get-started/smart-contracts/lock-contract": 1 }], + "flexible": [{ "/get-started/vsys-stack": 1 }], + "enable": [{ "/get-started/vsys-stack": 1 }], + "compose": [{ "/get-started/vsys-stack": 1 }, { "/get-started/where-to-begin": 1 }], + "powerful": [{ "/get-started/smart-contracts/token-contract": 2 }, { "/get-started/vsys-stack": 1 }], + "needing": [{ "/get-started/vsys-stack": 1 }], + "sidechains": [{ "/get-started/vsys-stack": 1 }], + "currently": [{ "/get-started/smart-contracts/token-contract": 4 }, { "/get-started/vsys-stack": 1 }], + "we": [ + { "/get-started/smart-contracts/token-contract": 28 }, + { "/get-started/smart-contracts/v-atomic-swap": 7 }, + { "/get-started/where-to-begin": 4 }, + { "/get-started/smart-contracts/lock-contract": 4 }, + { "/development/environment": 2 }, + { "/get-started/vsys-stack": 1 }, + { "/get-started/quick-tutorials": 1 } ], "are": [ - { "/development/cli": 24 }, - { "/community/faq": 17 }, - { "/development/frameworks-mobile/react-native": 13 }, { "/development/environment": 12 }, - { "/development/frameworks-mobile/intro": 5 }, - { "/get-started/mobile": 4 }, - { "/development/frameworks-web/intro": 4 }, - { "/development/frameworks-web/angular": 4 }, - { "/development/frameworks-web/react": 4 }, - { "/get-started/new-project": 2 }, - { "/development/frameworks-mobile/ionic": 2 }, - { "/community/bugs": 1 } - ], - "accessible": [{ "/development/frameworks-web/intro": 2 }, { "/get-started/new-project": 1 }], - "over": [ - { "/community/faq": 2 }, - { "/get-started/new-project": 1 }, - { "/development/environment": 1 }, - { "/development/cli": 1 }, - { "/development/frameworks-mobile/intro": 1 } + { "/get-started/smart-contracts/token-contract": 11 }, + { "/get-started/where-to-begin": 8 }, + { "/get-started/smart-contracts/v-atomic-swap": 7 }, + { "/get-started/vsys-stack": 1 }, + { "/get-started/quick-tutorials": 1 } + ], + "developing": [{ "/get-started/where-to-begin": 2 }, { "/get-started/vsys-stack": 1 }], + "basically": [{ "/get-started/smart-contracts/token-contract": 2 }, { "/get-started/vsys-stack": 1 }], + "these": [{ "/get-started/vsys-stack": 1 }, { "/development/environment": 1 }], + "combine": [{ "/get-started/vsys-stack": 1 }], + "but": [ + { "/get-started/smart-contracts/token-contract": 3 }, + { "/get-started/vsys-stack": 1 }, + { "/development/environment": 1 } ], - "they": [ - { "/development/cli": 8 }, - { "/community/faq": 3 }, - { "/get-started/new-project": 2 }, - { "/get-started/mobile": 1 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "accessed": [{ "/get-started/new-project": 1 }, { "/get-started/mobile": 1 }], + "their": [ + { "/get-started/vsys-stack": 2 }, + { "/get-started/smart-contracts/lock-contract": 2 }, + { "/get-started/smart-contracts/v-atomic-swap": 2 }, + { "/get-started/smart-contracts/token-contract": 1 } + ], + "own": [ + { "/get-started/smart-contracts/lock-contract": 4 }, + { "/get-started/smart-contracts/token-contract": 2 }, + { "/get-started/vsys-stack": 1 }, + { "/get-started/where-to-begin": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "chain": [ + { "/get-started/smart-contracts/lock-contract": 11 }, + { "/get-started/smart-contracts/v-atomic-swap": 10 }, + { "/get-started/smart-contracts/nft-contract": 6 }, + { "/get-started/smart-contracts/token-contract": 3 }, + { "/get-started/vsys-stack": 1 } + ], + "built": [{ "/get-started/vsys-stack": 2 }, { "/get-started/smart-contracts/token-contract": 2 }], + "manner": [{ "/get-started/vsys-stack": 1 }, { "/get-started/smart-contracts/v-atomic-swap": 1 }], + "gain": [{ "/get-started/vsys-stack": 1 }], + "access": [{ "/get-started/vsys-stack": 3 }], + "instant": [{ "/get-started/vsys-stack": 1 }], + "liquidity": [{ "/get-started/vsys-stack": 1 }], "from": [ - { "/development/frameworks-mobile/react-native": 11 }, - { "/get-started/new-project": 6 }, - { "/community/faq": 5 }, - { "/development/environment": 2 }, - { "/development/cli": 2 }, - { "/development/frameworks-web/angular": 2 }, - { "/development/frameworks-web/react": 2 }, - { "/development/frameworks-mobile/ionic": 2 }, - { "/get-started/mobile": 1 }, - { "/development/frameworks-mobile/intro": 1 } - ], - "device": [ - { "/get-started/new-project": 4 }, - { "/get-started/mobile": 3 }, - { "/development/frameworks-mobile/ionic": 3 }, - { "/development/frameworks-mobile/react-native": 2 }, - { "/development/frameworks-mobile/intro": 1 } - ], - "network": [{ "/get-started/new-project": 1 }, { "/development/testing": 1 }], - "connection": [{ "/get-started/new-project": 1 }], - "browser": [ - { "/development/cli": 4 }, - { "/get-started/new-project": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/community/bugs": 1 } - ], - "personal": [{ "/get-started/new-project": 1 }, { "/development/environment": 1 }], - "computer": [ - { "/get-started/new-project": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "phone": [{ "/get-started/new-project": 1 }], - "more": [ - { "/development/cli": 8 }, - { "/community/faq": 7 }, - { "/development/frameworks-web/intro": 6 }, - { "/development/frameworks-mobile/intro": 5 }, - { "/get-started/mobile": 4 }, - { "/get-started/new-project": 3 }, - { "/development/environment": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/react-native": 1 }, - { "/community/bugs": 1 } + { "/get-started/smart-contracts/v-atomic-swap": 7 }, + { "/get-started/smart-contracts/token-contract": 6 }, + { "/get-started/vsys-stack": 5 }, + { "/get-started/smart-contracts/nft-contract": 4 }, + { "/get-started/smart-contracts/lock-contract": 3 }, + { "/development/environment": 2 } ], + "dex": [{ "/get-started/vsys-stack": 1 }], + "deciding": [{ "/get-started/vsys-stack": 1 }], "what": [ - { "/community/faq": 6 }, - { "/get-started/new-project": 4 }, - { "/development/cli": 4 }, - { "/development/frameworks-web/intro": 2 }, - { "/get-started/mobile": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "entails": [{ "/get-started/new-project": 2 }], - "app": [ - { "/development/frameworks-mobile/intro": 12 }, - { "/get-started/new-project": 4 }, - { "/get-started/mobile": 3 }, - { "/development/cli": 3 }, - { "/development/frameworks-mobile/react-native": 3 }, - { "/development/environment": 2 }, - { "/development/frameworks-web/angular": 2 }, - { "/development/frameworks-web/react": 2 }, - { "/community/faq": 1 } - ], - "intended": [{ "/development/cli": 2 }, { "/get-started/new-project": 1 }, { "/get-started/mobile": 1 }], + { "/get-started/vsys-stack": 2 }, + { "/get-started/smart-contracts/token-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "kind": [{ "/get-started/smart-contracts/token-contract": 2 }, { "/get-started/vsys-stack": 1 }], + "nature": [{ "/get-started/vsys-stack": 1 }], + "often": [{ "/get-started/vsys-stack": 1 }, { "/development/environment": 1 }], + "determines": [{ "/get-started/vsys-stack": 1 }], + "which": [{ "/get-started/vsys-stack": 1 }, { "/get-started/smart-contracts/token-contract": 1 }], + "type": [ + { "/get-started/smart-contracts/token-contract": 10 }, + { "/get-started/smart-contracts/v-atomic-swap": 10 }, + { "/get-started/where-to-begin": 4 }, + { "/get-started/vsys-stack": 2 } + ], + "replacing": [{ "/get-started/vsys-stack": 1 }], + "existing": [{ "/get-started/vsys-stack": 4 }, { "/get-started/smart-contracts/token-contract": 1 }], + "product": [{ "/get-started/vsys-stack": 5 }], + "think": [{ "/get-started/vsys-stack": 2 }], "used": [ - { "/get-started/new-project": 4 }, - { "/development/frameworks-web/angular": 3 }, - { "/development/frameworks-web/react": 3 }, - { "/development/frameworks-mobile/react-native": 3 }, - { "/development/cli": 2 }, - { "/development/frameworks-mobile/ionic": 2 } - ], - "strictly": [{ "/get-started/new-project": 1 }, { "/get-started/mobile": 1 }], - "devices": [ - { "/get-started/new-project": 1 }, - { "/get-started/mobile": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "e": [ - { "/development/cli": 8 }, - { "/development/frameworks-mobile/react-native": 3 }, - { "/get-started/new-project": 2 }, - { "/get-started/mobile": 2 }, - { "/development/frameworks-web/intro": 2 }, - { "/development/frameworks-web/angular": 2 }, - { "/development/frameworks-web/react": 2 }, - { "/community/faq": 1 } - ], - "g": [ - { "/development/cli": 5 }, - { "/development/frameworks-mobile/react-native": 3 }, - { "/get-started/new-project": 2 }, - { "/development/frameworks-web/angular": 2 }, - { "/development/frameworks-web/react": 2 }, - { "/development/frameworks-mobile/ionic": 2 }, - { "/development/frameworks-web/intro": 1 }, - { "/community/faq": 1 } - ], - "cell": [{ "/get-started/new-project": 1 }], - "phones": [{ "/get-started/new-project": 1 }], - "tablets": [{ "/get-started/new-project": 1 }], - "etc": [ - { "/get-started/new-project": 1 }, - { "/development/cli": 1 }, - { "/development/frameworks-mobile/react-native": 1 }, - { "/community/faq": 1 } - ], - "downloaded": [{ "/get-started/new-project": 1 }], - "directly": [ - { "/get-started/new-project": 1 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/community/bugs": 1 }, - { "/community/faq": 1 } - ], - "store": [{ "/development/frameworks-mobile/intro": 3 }, { "/get-started/new-project": 1 }], - "google": [ - { "/get-started/new-project": 1 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/development/frameworks-mobile/react-native": 1 }, - { "/community/bugs": 1 } - ], - "play": [{ "/development/frameworks-mobile/intro": 2 }, { "/get-started/new-project": 1 }], - "do": [ - { "/community/faq": 10 }, - { "/get-started/new-project": 2 }, - { "/development/cli": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "not": [ - { "/development/cli": 7 }, - { "/community/faq": 7 }, - { "/development/frameworks-web/angular": 3 }, - { "/get-started/new-project": 2 }, - { "/development/environment": 2 }, - { "/development/frameworks-mobile/intro": 2 }, - { "/development/frameworks-mobile/ionic": 2 }, - { "/development/frameworks-mobile/react-native": 2 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-web/react": 1 } + { "/get-started/smart-contracts/token-contract": 7 }, + { "/get-started/vsys-stack": 3 }, + { "/get-started/where-to-begin": 1 }, + { "/get-started/smart-contracts/nft-contract": 1 } ], - "have": [ - { "/community/faq": 20 }, - { "/development/frameworks-mobile/react-native": 7 }, - { "/development/environment": 6 }, - { "/development/frameworks-web/intro": 5 }, - { "/development/frameworks-web/angular": 5 }, - { "/development/frameworks-web/react": 5 }, - { "/development/frameworks-mobile/intro": 5 }, - { "/development/frameworks-mobile/ionic": 4 }, - { "/development/cli": 2 }, - { "/get-started/new-project": 1 } - ], - "connected": [ - { "/get-started/new-project": 2 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "internet": [ - { "/get-started/new-project": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 } - ], - "difference": [{ "/get-started/new-project": 1 }], - "between": [ - { "/get-started/new-project": 1 }, - { "/development/cli": 1 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/community/faq": 1 } - ], - "native": [ - { "/development/frameworks-mobile/react-native": 47 }, - { "/get-started/mobile": 9 }, - { "/development/frameworks-mobile/intro": 8 }, - { "/development/cli": 4 }, - { "/development/frameworks-mobile/ionic": 3 }, - { "/community/bugs": 2 }, - { "/community/faq": 2 }, - { "/get-started/new-project": 1 } - ], - "hybrid": [ - { "/get-started/mobile": 7 }, - { "/development/frameworks-mobile/intro": 3 }, - { "/get-started/new-project": 1 }, - { "/development/environment": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "apps": [ - { "/get-started/mobile": 7 }, - { "/get-started/new-project": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "deciding": [{ "/get-started/new-project": 1 }], - "kind": [{ "/get-started/new-project": 1 }], - "nature": [{ "/get-started/new-project": 1 }], - "often": [{ "/get-started/new-project": 1 }, { "/development/environment": 1 }], - "determines": [{ "/get-started/new-project": 1 }], - "which": [ - { "/get-started/new-project": 1 }, - { "/get-started/mobile": 1 }, - { "/development/cli": 1 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/community/faq": 1 } - ], - "type": [{ "/get-started/new-project": 2 }], - "replacing": [{ "/get-started/new-project": 1 }], - "existing": [ - { "/get-started/new-project": 4 }, - { "/development/frameworks-web/angular": 3 }, - { "/development/frameworks-web/react": 3 }, - { "/development/frameworks-mobile/react-native": 3 }, - { "/development/cli": 2 }, - { "/development/frameworks-mobile/ionic": 2 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/community/faq": 1 } - ], - "product": [{ "/get-started/new-project": 5 }, { "/community/faq": 2 }, { "/development/cli": 1 }], - "think": [{ "/get-started/new-project": 2 }, { "/community/faq": 1 }], - "gather": [{ "/get-started/new-project": 1 }], - "feedback": [{ "/get-started/new-project": 2 }], + "gather": [{ "/get-started/vsys-stack": 1 }], + "feedback": [{ "/get-started/vsys-stack": 2 }], "users": [ - { "/get-started/new-project": 3 }, - { "/get-started/mobile": 1 }, - { "/development/frameworks-mobile/intro": 1 } - ], - "identify": [{ "/development/cli": 2 }, { "/get-started/new-project": 1 }], - "areas": [{ "/get-started/new-project": 1 }, { "/community/faq": 1 }], - "improvement": [{ "/get-started/new-project": 1 }], - "general": [ - { "/get-started/new-project": 2 }, - { "/get-started/mobile": 1 }, - { "/development/environment": 1 }, - { "/development/cli": 1 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 }, - { "/community/faq": 1 } - ], + { "/get-started/vsys-stack": 3 }, + { "/get-started/smart-contracts/lock-contract": 3 }, + { "/get-started/where-to-begin": 1 }, + { "/get-started/smart-contracts/token-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "identify": [{ "/get-started/vsys-stack": 1 }], + "areas": [{ "/get-started/vsys-stack": 1 }], + "improvement": [{ "/get-started/vsys-stack": 1 }], + "general": [{ "/get-started/vsys-stack": 2 }, { "/development/environment": 1 }], "want": [ - { "/get-started/new-project": 5 }, - { "/development/frameworks-web/react": 4 }, - { "/development/frameworks-mobile/react-native": 4 }, - { "/community/faq": 3 }, + { "/get-started/vsys-stack": 5 }, { "/development/environment": 2 }, - { "/development/frameworks-web/angular": 2 }, - { "/development/frameworks-mobile/ionic": 2 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-mobile/intro": 1 } + { "/get-started/smart-contracts/token-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } ], "at": [ - { "/development/frameworks-mobile/react-native": 3 }, - { "/community/faq": 2 }, - { "/get-started/new-project": 1 }, - { "/development/environment": 1 }, - { "/development/cli": 1 }, - { "/development/frameworks-web/intro": 1 } + { "/get-started/smart-contracts/v-atomic-swap": 2 }, + { "/get-started/vsys-stack": 1 }, + { "/get-started/where-to-begin": 1 }, + { "/get-started/smart-contracts/token-contract": 1 }, + { "/development/environment": 1 } ], - "least": [{ "/get-started/new-project": 1 }, { "/development/environment": 1 }], + "least": [{ "/get-started/vsys-stack": 1 }, { "/development/environment": 1 }], "same": [ - { "/community/faq": 4 }, - { "/development/cli": 3 }, - { "/development/frameworks-mobile/react-native": 2 }, - { "/get-started/new-project": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 } - ], - "unless": [{ "/get-started/new-project": 1 }], - "suggests": [{ "/get-started/new-project": 1 }], - "had": [{ "/get-started/new-project": 1 }], + { "/get-started/smart-contracts/v-atomic-swap": 3 }, + { "/get-started/smart-contracts/token-contract": 2 }, + { "/get-started/vsys-stack": 1 } + ], + "unless": [{ "/get-started/vsys-stack": 1 }], + "suggests": [{ "/get-started/vsys-stack": 1 }], + "s": [ + { "/get-started/smart-contracts/token-contract": 12 }, + { "/get-started/smart-contracts/v-atomic-swap": 11 }, + { "/get-started/smart-contracts/lock-contract": 5 }, + { "/development/environment": 2 }, + { "/get-started/vsys-stack": 1 }, + { "/get-started/where-to-begin": 1 } + ], + "they": [ + { "/get-started/smart-contracts/v-atomic-swap": 5 }, + { "/get-started/vsys-stack": 1 }, + { "/get-started/where-to-begin": 1 }, + { "/get-started/smart-contracts/lock-contract": 1 } + ], + "if": [ + { "/development/environment": 11 }, + { "/get-started/smart-contracts/token-contract": 10 }, + { "/get-started/smart-contracts/v-atomic-swap": 5 }, + { "/get-started/vsys-stack": 4 }, + { "/get-started/where-to-begin": 2 } + ], + "had": [{ "/get-started/vsys-stack": 1 }], + "web": [{ "/get-started/vsys-stack": 3 }, { "/get-started/quick-tutorials": 1 }], "may": [ { "/development/environment": 5 }, - { "/community/faq": 4 }, - { "/get-started/new-project": 3 }, - { "/development/frameworks-mobile/react-native": 3 }, - { "/development/frameworks-web/intro": 2 }, - { "/development/frameworks-mobile/intro": 2 }, - { "/development/cli": 1 }, - { "/development/frameworks-mobile/ionic": 1 } - ], - "responsive": [{ "/get-started/new-project": 2 }], + { "/get-started/smart-contracts/token-contract": 4 }, + { "/get-started/vsys-stack": 3 }, + { "/get-started/where-to-begin": 1 }, + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "responsive": [{ "/get-started/vsys-stack": 2 }], "time": [ - { "/development/cli": 4 }, - { "/community/faq": 3 }, - { "/get-started/mobile": 2 }, - { "/get-started/new-project": 1 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/development/frameworks-mobile/react-native": 1 }, - { "/community/bugs": 1 } - ], - "alternatively": [ - { "/get-started/new-project": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "expand": [{ "/get-started/new-project": 1 }], + { "/get-started/smart-contracts/lock-contract": 4 }, + { "/get-started/smart-contracts/token-contract": 3 }, + { "/get-started/vsys-stack": 1 } + ], + "alternatively": [{ "/get-started/vsys-stack": 1 }], + "expand": [{ "/get-started/vsys-stack": 1 }], "by": [ - { "/development/cli": 13 }, - { "/development/frameworks-mobile/react-native": 6 }, - { "/development/frameworks-web/angular": 5 }, - { "/development/frameworks-web/react": 4 }, - { "/development/frameworks-mobile/ionic": 4 }, - { "/development/frameworks-web/intro": 3 }, - { "/get-started/new-project": 1 }, - { "/get-started/mobile": 1 }, - { "/development/environment": 1 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/community/bugs": 1 }, - { "/community/faq": 1 } - ], - "offering": [{ "/get-started/new-project": 1 }], - "brand": [{ "/get-started/new-project": 1 }, { "/community/faq": 1 }], - "never": [{ "/get-started/new-project": 1 }], - "seen": [{ "/get-started/new-project": 1 }], + { "/get-started/smart-contracts/token-contract": 32 }, + { "/get-started/where-to-begin": 4 }, + { "/get-started/smart-contracts/v-atomic-swap": 4 }, + { "/get-started/smart-contracts/lock-contract": 2 }, + { "/get-started/vsys-stack": 1 }, + { "/development/environment": 1 } + ], + "offering": [{ "/get-started/vsys-stack": 1 }], + "mobile": [{ "/get-started/vsys-stack": 4 }, { "/development/environment": 2 }], + "brand": [{ "/get-started/vsys-stack": 1 }], + "never": [{ "/get-started/vsys-stack": 1 }], + "seen": [{ "/get-started/vsys-stack": 1 }], + "be": [ + { "/get-started/smart-contracts/token-contract": 16 }, + { "/get-started/smart-contracts/v-atomic-swap": 15 }, + { "/get-started/smart-contracts/nft-contract": 6 }, + { "/development/environment": 6 }, + { "/get-started/vsys-stack": 4 }, + { "/get-started/smart-contracts/lock-contract": 3 }, + { "/get-started/where-to-begin": 2 }, + { "/get-started/quick-tutorials": 1 } + ], "does": [ - { "/get-started/new-project": 1 }, - { "/development/cli": 1 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/community/faq": 1 } - ], - "offer": [{ "/get-started/new-project": 1 }, { "/get-started/mobile": 1 }, { "/community/faq": 1 }], - "features": [ - { "/development/cli": 5 }, - { "/get-started/new-project": 1 }, - { "/get-started/mobile": 1 }, - { "/development/frameworks-web/intro": 1 }, - { "/community/faq": 1 } - ], - "access": [ - { "/development/frameworks-mobile/intro": 3 }, - { "/community/faq": 3 }, - { "/get-started/new-project": 2 }, - { "/development/cli": 2 }, - { "/development/frameworks-web/angular": 2 }, - { "/development/frameworks-mobile/react-native": 1 } + { "/get-started/smart-contracts/token-contract": 2 }, + { "/get-started/vsys-stack": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } ], + "offer": [{ "/get-started/vsys-stack": 1 }, { "/get-started/where-to-begin": 1 }], + "features": [{ "/get-started/vsys-stack": 1 }, { "/get-started/where-to-begin": 1 }], "go": [ - { "/community/faq": 3 }, - { "/get-started/new-project": 2 }, - { "/get-started/mobile": 1 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-mobile/intro": 1 } - ], - "actively": [{ "/get-started/new-project": 1 }], - "field": [{ "/get-started/new-project": 1 }], - "something": [{ "/community/faq": 2 }, { "/get-started/new-project": 1 }, { "/get-started/mobile": 1 }], - "likely": [{ "/development/cli": 3 }, { "/get-started/new-project": 1 }], - "their": [ - { "/development/cli": 3 }, - { "/get-started/new-project": 1 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/community/bugs": 1 }, - { "/community/faq": 1 } - ], - "desk": [{ "/get-started/new-project": 1 }], + { "/get-started/vsys-stack": 2 }, + { "/get-started/where-to-begin": 2 }, + { "/get-started/smart-contracts/token-contract": 2 } + ], + "going": [ + { "/get-started/where-to-begin": 4 }, + { "/get-started/smart-contracts/token-contract": 2 }, + { "/get-started/vsys-stack": 1 } + ], + "actively": [{ "/get-started/vsys-stack": 1 }], + "field": [{ "/get-started/smart-contracts/token-contract": 2 }, { "/get-started/vsys-stack": 1 }], + "or": [ + { "/get-started/smart-contracts/v-atomic-swap": 4 }, + { "/development/environment": 3 }, + { "/get-started/vsys-stack": 2 }, + { "/get-started/smart-contracts/lock-contract": 2 }, + { "/get-started/where-to-begin": 1 }, + { "/get-started/smart-contracts/token-contract": 1 }, + { "/get-started/smart-contracts/nft-contract": 1 } + ], + "something": [{ "/get-started/where-to-begin": 2 }, { "/get-started/vsys-stack": 1 }], + "more": [ + { "/get-started/smart-contracts/token-contract": 2 }, + { "/get-started/vsys-stack": 1 }, + { "/get-started/where-to-begin": 1 }, + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/development/environment": 1 } + ], + "likely": [{ "/get-started/vsys-stack": 1 }], + "desk": [{ "/get-started/vsys-stack": 1 }], "t": [ + { "/get-started/smart-contracts/token-contract": 3 }, + { "/get-started/where-to-begin": 2 }, { "/development/environment": 2 }, - { "/community/faq": 2 }, - { "/get-started/new-project": 1 }, - { "/get-started/mobile": 1 }, - { "/development/cli": 1 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/development/frameworks-mobile/ionic": 1 } - ], - "wrong": [ - { "/get-started/new-project": 1 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-mobile/intro": 1 } + { "/get-started/vsys-stack": 1 }, + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/get-started/smart-contracts/nft-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "wrong": [{ "/get-started/vsys-stack": 1 }], + "do": [ + { "/get-started/vsys-stack": 1 }, + { "/get-started/where-to-begin": 1 }, + { "/get-started/smart-contracts/token-contract": 1 }, + { "/get-started/smart-contracts/lock-contract": 1 } ], "your": [ - { "/development/frameworks-mobile/react-native": 29 }, - { "/development/cli": 22 }, { "/development/environment": 21 }, - { "/community/faq": 20 }, - { "/development/frameworks-mobile/ionic": 19 }, - { "/development/frameworks-mobile/intro": 15 }, - { "/development/frameworks-web/angular": 14 }, - { "/development/frameworks-web/react": 11 }, - { "/get-started/mobile": 4 }, - { "/development/frameworks-web/intro": 3 }, - { "/community/bugs": 3 }, - { "/get-started/new-project": 1 }, + { "/get-started/smart-contracts/lock-contract": 10 }, + { "/get-started/where-to-begin": 6 }, + { "/get-started/smart-contracts/token-contract": 4 }, + { "/get-started/smart-contracts/v-atomic-swap": 3 }, + { "/get-started/vsys-stack": 1 }, { "/development/testing": 1 } ], - "due": [{ "/get-started/new-project": 1 }], - "diligence": [{ "/get-started/new-project": 1 }], - "design": [ - { "/community/faq": 7 }, - { "/get-started/mobile": 3 }, - { "/community/bugs": 2 }, - { "/get-started/new-project": 1 }, - { "/development/cli": 1 }, - { "/development/frameworks-web/intro": 1 } - ], - "properly": [{ "/get-started/new-project": 1 }], + "due": [{ "/get-started/vsys-stack": 1 }], + "diligence": [{ "/get-started/vsys-stack": 1 }], + "design": [{ "/get-started/vsys-stack": 1 }], + "properly": [ + { "/get-started/vsys-stack": 1 }, + { "/get-started/where-to-begin": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], "able": [ - { "/community/faq": 3 }, + { "/get-started/smart-contracts/v-atomic-swap": 4 }, { "/development/environment": 2 }, - { "/get-started/new-project": 1 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/development/frameworks-mobile/ionic": 1 } - ], - "suspect": [{ "/get-started/new-project": 1 }], - "primary": [ - { "/get-started/new-project": 1 }, - { "/get-started/mobile": 1 }, - { "/development/frameworks-mobile/react-native": 1 }, - { "/community/bugs": 1 }, - { "/community/faq": 1 } - ], - "mode": [{ "/get-started/new-project": 1 }], - "interacting": [{ "/get-started/new-project": 1 }], - "needs": [{ "/get-started/new-project": 1 }, { "/development/cli": 1 }, { "/community/faq": 1 }], - "work": [ - { "/community/faq": 3 }, - { "/get-started/new-project": 1 }, - { "/development/cli": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "offline": [{ "/get-started/new-project": 1 }, { "/get-started/mobile": 1 }], - "consider": [{ "/development/cli": 3 }, { "/get-started/new-project": 1 }], - "building": [ + { "/get-started/vsys-stack": 1 }, + { "/get-started/smart-contracts/lock-contract": 1 } + ], + "connected": [{ "/get-started/vsys-stack": 1 }], + "device": [{ "/get-started/vsys-stack": 2 }], + "suspect": [{ "/get-started/vsys-stack": 1 }], + "mode": [{ "/get-started/vsys-stack": 1 }], + "interacting": [{ "/get-started/vsys-stack": 1 }], + "needs": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }, { "/get-started/vsys-stack": 1 }], + "work": [{ "/get-started/vsys-stack": 1 }], + "offline": [{ "/get-started/vsys-stack": 1 }], + "consider": [{ "/get-started/vsys-stack": 1 }], + "dedicated": [{ "/get-started/vsys-stack": 1 }], + "begin": [{ "/get-started/where-to-begin": 1 }], + "getting": [{ "/development/environment": 3 }, { "/get-started/where-to-begin": 1 }], + "run": [ + { "/get-started/smart-contracts/token-contract": 10 }, + { "/get-started/where-to-begin": 6 }, + { "/development/environment": 3 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "dev": [{ "/get-started/where-to-begin": 4 }, { "/get-started/smart-contracts/token-contract": 1 }], + "net": [{ "/get-started/where-to-begin": 14 }, { "/get-started/smart-contracts/token-contract": 1 }], + "local": [{ "/get-started/where-to-begin": 4 }, { "/development/environment": 2 }], + "machine": [{ "/get-started/where-to-begin": 3 }, { "/development/environment": 2 }], + "nodes": [{ "/get-started/where-to-begin": 4 }], + "one": [ + { "/get-started/where-to-begin": 2 }, + { "/get-started/smart-contracts/token-contract": 2 }, + { "/get-started/smart-contracts/v-atomic-swap": 2 }, + { "/development/environment": 1 } + ], + "acts": [{ "/get-started/where-to-begin": 2 }, { "/get-started/smart-contracts/nft-contract": 1 }], + "minter": [{ "/get-started/where-to-begin": 9 }], + "other": [ + { "/get-started/where-to-begin": 2 }, + { "/development/environment": 2 }, + { "/get-started/smart-contracts/token-contract": 1 } + ], + "normal": [{ "/get-started/where-to-begin": 2 }], + "peer": [{ "/get-started/where-to-begin": 8 }], + "uses": [{ "/get-started/where-to-begin": 5 }], + "spos": [{ "/get-started/where-to-begin": 1 }], + "mechanism": [{ "/get-started/where-to-begin": 1 }], + "there": [ { "/development/environment": 4 }, - { "/get-started/new-project": 1 }, - { "/get-started/mobile": 1 }, - { "/development/cli": 1 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/development/frameworks-mobile/ionic": 1 } - ], - "dedicated": [ - { "/get-started/new-project": 1 }, - { "/development/cli": 1 }, - { "/development/frameworks-mobile/intro": 1 } - ], - "very": [{ "/get-started/mobile": 1 }, { "/development/cli": 1 }, { "/development/frameworks-web/intro": 1 }], - "popular": [ - { "/development/cli": 4 }, - { "/get-started/mobile": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "anywhere": [{ "/get-started/mobile": 1 }], - "take": [ - { "/get-started/mobile": 3 }, - { "/development/environment": 1 }, - { "/development/cli": 1 }, - { "/community/bugs": 1 } - ], - "online": [{ "/get-started/mobile": 1 }, { "/development/cli": 1 }], - "greater": [{ "/development/frameworks-web/intro": 2 }, { "/get-started/mobile": 1 }], - "advantage": [ - { "/get-started/mobile": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/community/bugs": 1 } - ], - "capabilities": [{ "/get-started/mobile": 1 }], - "than": [ - { "/development/cli": 3 }, - { "/community/faq": 2 }, - { "/get-started/mobile": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "come": [ - { "/get-started/mobile": 1 }, - { "/development/cli": 1 }, - { "/development/frameworks-mobile/react-native": 1 } + { "/get-started/where-to-begin": 2 }, + { "/get-started/smart-contracts/token-contract": 2 }, + { "/get-started/smart-contracts/v-atomic-swap": 2 } + ], + "act": [{ "/get-started/where-to-begin": 1 }], + "supernodes": [{ "/get-started/where-to-begin": 1 }], + "privilege": [{ "/get-started/where-to-begin": 1 }], + "generate": [ + { "/get-started/where-to-begin": 4 }, + { "/get-started/smart-contracts/token-contract": 1 }, + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "blocks": [{ "/get-started/where-to-begin": 3 }], + "peers": [{ "/get-started/where-to-begin": 1 }], + "kinds": [ + { "/get-started/where-to-begin": 1 }, + { "/get-started/smart-contracts/token-contract": 1 }, + { "/get-started/smart-contracts/lock-contract": 1 } + ], + "listed": [{ "/get-started/where-to-begin": 1 }], + "below": [ + { "/get-started/smart-contracts/token-contract": 25 }, + { "/get-started/where-to-begin": 8 }, + { "/development/environment": 1 } ], - "two": [ - { "/get-started/mobile": 2 }, - { "/development/cli": 1 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/development/frameworks-mobile/react-native": 1 }, - { "/community/faq": 1 } - ], - "varieties": [{ "/get-started/mobile": 1 }, { "/development/cli": 1 }], - "must": [{ "/get-started/mobile": 1 }, { "/development/frameworks-mobile/react-native": 1 }], - "built": [ - { "/development/frameworks-mobile/react-native": 4 }, - { "/get-started/mobile": 2 }, - { "/development/cli": 2 }, - { "/development/frameworks-mobile/intro": 2 }, - { "/development/frameworks-web/intro": 1 }, - { "/community/faq": 1 } + "production": [{ "/get-started/where-to-begin": 1 }], + "counts": [{ "/get-started/where-to-begin": 1 }], + "test": [ + { "/get-started/where-to-begin": 5 }, + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 }, + { "/development/testing": 1 } ], - "using": [ - { "/development/frameworks-mobile/react-native": 11 }, - { "/community/faq": 8 }, - { "/development/frameworks-web/angular": 6 }, - { "/development/frameworks-web/react": 5 }, - { "/development/frameworks-mobile/ionic": 5 }, - { "/get-started/mobile": 4 }, - { "/development/cli": 4 }, - { "/development/environment": 3 }, - { "/development/frameworks-mobile/intro": 3 }, - { "/development/frameworks-web/intro": 2 }, - { "/community/bugs": 2 } - ], - "runs": [{ "/get-started/mobile": 1 }, { "/development/frameworks-mobile/intro": 1 }], - "means": [{ "/get-started/mobile": 1 }, { "/development/cli": 1 }], - "java": [{ "/get-started/mobile": 1 }], - "android": [ - { "/get-started/mobile": 6 }, - { "/development/frameworks-mobile/react-native": 4 }, - { "/development/frameworks-mobile/ionic": 3 }, - { "/development/environment": 2 } + "staging": [{ "/get-started/where-to-begin": 1 }], + "simulates": [{ "/get-started/where-to-begin": 1 }], + "testing": [ + { "/development/testing": 2 }, + { "/get-started/where-to-begin": 1 }, + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/development/environment": 1 } ], - "swift": [{ "/get-started/mobile": 1 }], - "objective": [{ "/get-started/mobile": 1 }], - "c": [{ "/get-started/mobile": 1 }], - "ios": [ - { "/get-started/mobile": 6 }, - { "/development/frameworks-mobile/ionic": 6 }, - { "/development/environment": 2 }, - { "/development/frameworks-mobile/react-native": 1 } + "purposes": [{ "/get-started/where-to-begin": 2 }], + "e": [{ "/get-started/smart-contracts/token-contract": 4 }, { "/get-started/where-to-begin": 3 }], + "g": [{ "/get-started/smart-contracts/token-contract": 3 }, { "/get-started/where-to-begin": 2 }], + "qa": [{ "/get-started/where-to-begin": 1 }], + "dapps": [{ "/get-started/where-to-begin": 1 }], + "deploying": [{ "/get-started/where-to-begin": 1 }], + "private": [{ "/get-started/where-to-begin": 3 }], + "quickly": [ + { "/get-started/where-to-begin": 2 }, + { "/get-started/smart-contracts/token-contract": 1 }, + { "/development/environment": 1 } ], - "should": [ - { "/development/cli": 9 }, - { "/get-started/mobile": 3 }, + "verify": [{ "/get-started/smart-contracts/token-contract": 11 }, { "/get-started/where-to-begin": 3 }], + "during": [{ "/get-started/where-to-begin": 1 }], + "prerequisites": [{ "/get-started/where-to-begin": 1 }, { "/development/environment": 1 }], + "ensure": [ + { "/get-started/smart-contracts/token-contract": 3 }, + { "/get-started/where-to-begin": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 }, + { "/development/environment": 1 } + ], + "installed": [ { "/development/environment": 3 }, - { "/community/faq": 3 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "adhere": [{ "/get-started/mobile": 2 }], - "guidelines": [{ "/get-started/mobile": 3 }, { "/development/frameworks-mobile/intro": 1 }], - "platforms": [ - { "/get-started/mobile": 3 }, - { "/development/cli": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/community/bugs": 1 } - ], - "dominant": [{ "/get-started/mobile": 1 }], - "players": [{ "/get-started/mobile": 1 }, { "/development/environment": 1 }], - "market": [ - { "/get-started/mobile": 2 }, - { "/development/environment": 1 }, - { "/development/frameworks-mobile/react-native": 1 } + { "/get-started/where-to-begin": 2 }, + { "/get-started/smart-contracts/token-contract": 2 }, + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "docker": [{ "/get-started/where-to-begin": 6 }], + "scala": [{ "/get-started/where-to-begin": 4 }], + "sbt": [{ "/get-started/where-to-begin": 5 }], + "testnet": [ + { "/get-started/smart-contracts/token-contract": 6 }, + { "/get-started/where-to-begin": 2 }, + { "/get-started/smart-contracts/lock-contract": 2 }, + { "/get-started/smart-contracts/nft-contract": 1 } + ], + "wallet": [ + { "/get-started/where-to-begin": 4 }, + { "/get-started/smart-contracts/token-contract": 3 }, + { "/get-started/smart-contracts/nft-contract": 2 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "git": [ + { "/development/environment": 9 }, + { "/get-started/where-to-begin": 8 }, + { "/get-started/smart-contracts/token-contract": 3 }, + { "/get-started/smart-contracts/lock-contract": 2 }, + { "/get-started/smart-contracts/v-atomic-swap": 2 } + ], + "clone": [ + { "/get-started/where-to-begin": 4 }, + { "/get-started/smart-contracts/token-contract": 2 }, + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "generator": [{ "/get-started/where-to-begin": 3 }], + "repo": [{ "/get-started/where-to-begin": 2 }, { "/get-started/smart-contracts/token-contract": 1 }], + "root": [{ "/get-started/where-to-begin": 3 }, { "/get-started/smart-contracts/token-contract": 1 }], + "directory": [ + { "/get-started/where-to-begin": 2 }, + { "/get-started/smart-contracts/token-contract": 1 }, + { "/development/environment": 1 } ], - "but": [ - { "/community/faq": 4 }, - { "/get-started/mobile": 2 }, - { "/development/frameworks-mobile/intro": 2 }, - { "/development/frameworks-mobile/ionic": 2 }, - { "/development/frameworks-mobile/react-native": 2 }, - { "/community/bugs": 2 }, - { "/development/environment": 1 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 } + "python": [ + { "/get-started/smart-contracts/token-contract": 48 }, + { "/get-started/where-to-begin": 13 }, + { "/get-started/smart-contracts/v-atomic-swap": 9 }, + { "/get-started/smart-contracts/lock-contract": 8 }, + { "/get-started/smart-contracts/nft-contract": 3 } ], - "particular": [ - { "/get-started/mobile": 1 }, - { "/development/cli": 1 }, - { "/development/frameworks-web/intro": 1 } + "github": [ + { "/get-started/where-to-begin": 2 }, + { "/get-started/smart-contracts/token-contract": 2 }, + { "/get-started/smart-contracts/lock-contract": 2 }, + { "/get-started/smart-contracts/v-atomic-swap": 2 } + ], + "com": [ + { "/get-started/where-to-begin": 2 }, + { "/get-started/smart-contracts/token-contract": 1 }, + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "virtualeconomy": [ + { "/get-started/where-to-begin": 2 }, + { "/get-started/smart-contracts/token-contract": 1 }, + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "cd": [{ "/get-started/where-to-begin": 2 }], + "enter": [{ "/get-started/where-to-begin": 1 }], + "shell": [{ "/get-started/where-to-begin": 2 }], + "walletgenerator": [{ "/get-started/where-to-begin": 1 }], + "count": [{ "/get-started/where-to-begin": 1 }], + "collect": [{ "/get-started/where-to-begin": 3 }], + "output": [ + { "/get-started/smart-contracts/token-contract": 3 }, + { "/get-started/where-to-begin": 2 }, + { "/get-started/smart-contracts/v-atomic-swap": 2 } + ], + "save": [{ "/get-started/where-to-begin": 2 }], + "file": [{ "/get-started/where-to-begin": 3 }], + "like": [ + { "/get-started/smart-contracts/token-contract": 4 }, + { "/get-started/where-to-begin": 3 }, + { "/get-started/smart-contracts/v-atomic-swap": 2 }, + { "/development/environment": 1 } ], - "most": [ - { "/development/cli": 5 }, - { "/development/frameworks-mobile/react-native": 2 }, - { "/get-started/mobile": 1 }, - { "/development/environment": 1 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/community/faq": 1 } - ], - "prevalent": [{ "/get-started/mobile": 1 }], - "target": [{ "/development/cli": 2 }, { "/get-started/mobile": 1 }], - "maintained": [{ "/development/frameworks-web/intro": 2 }, { "/get-started/mobile": 1 }], - "single": [{ "/get-started/mobile": 2 }], - "base": [{ "/get-started/mobile": 3 }, { "/development/frameworks-mobile/react-native": 1 }], - "deployed": [{ "/get-started/mobile": 1 }], - "multiple": [{ "/get-started/mobile": 2 }, { "/development/environment": 1 }, { "/development/cli": 1 }], - "namely": [{ "/get-started/mobile": 1 }], - "i": [ - { "/community/faq": 7 }, - { "/development/cli": 3 }, - { "/get-started/mobile": 2 }, - { "/development/frameworks-web/intro": 2 }, - { "/development/frameworks-mobile/intro": 1 } - ], - "javascript": [ - { "/development/cli": 3 }, - { "/development/frameworks-web/intro": 3 }, + "later": [{ "/get-started/where-to-begin": 3 }], + "important": [{ "/get-started/where-to-begin": 1 }], + "copy": [{ "/get-started/where-to-begin": 1 }], + "memorize": [{ "/get-started/where-to-begin": 1 }], + "seed": [ + { "/get-started/where-to-begin": 4 }, + { "/get-started/smart-contracts/token-contract": 3 }, + { "/get-started/smart-contracts/lock-contract": 2 }, + { "/get-started/smart-contracts/v-atomic-swap": 2 }, + { "/get-started/smart-contracts/nft-contract": 1 } + ], + "phrase": [{ "/get-started/where-to-begin": 1 }], + "key": [ + { "/get-started/where-to-begin": 10 }, + { "/get-started/smart-contracts/token-contract": 9 }, + { "/get-started/smart-contracts/lock-contract": 2 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "recovery": [{ "/get-started/where-to-begin": 1 }], + "foam": [{ "/get-started/where-to-begin": 1 }], + "render": [{ "/get-started/where-to-begin": 1 }], + "square": [{ "/get-started/where-to-begin": 1 }], + "glide": [{ "/get-started/where-to-begin": 1 }], + "social": [{ "/get-started/where-to-begin": 1 }], + "breeze": [{ "/get-started/where-to-begin": 1 }], + "bamboo": [{ "/get-started/where-to-begin": 1 }], + "miracle": [{ "/get-started/where-to-begin": 1 }], + "depart": [{ "/get-started/where-to-begin": 1 }], + "wife": [{ "/get-started/where-to-begin": 1 }], + "gravity": [{ "/get-started/where-to-begin": 1 }], + "antique": [{ "/get-started/where-to-begin": 1 }], + "cry": [{ "/get-started/where-to-begin": 1 }], + "address": [ + { "/get-started/smart-contracts/token-contract": 39 }, + { "/get-started/smart-contracts/v-atomic-swap": 11 }, + { "/get-started/smart-contracts/lock-contract": 7 }, + { "/get-started/where-to-begin": 4 } + ], + "au1kwyythzciszc9qpiffpgaoxuut5p2elv": [{ "/get-started/where-to-begin": 1 }], + "gdjms3fib3xbdm3p5a76apm4sgm4nbkxvdujm1yyfhdu": [{ "/get-started/where-to-begin": 1 }], + "cu5ewakkh4hhart8skfxb1rkxbghg8unl5dynw39mc5z": [{ "/get-started/where-to-begin": 1 }], + "account": [ + { "/get-started/smart-contracts/token-contract": 13 }, + { "/get-started/smart-contracts/v-atomic-swap": 4 }, + { "/get-started/where-to-begin": 2 }, + { "/get-started/smart-contracts/lock-contract": 2 }, + { "/get-started/smart-contracts/nft-contract": 2 } + ], + "afqc3coms5knqmwynasgykqmevvp487shbg3hj3auszj": [{ "/get-started/where-to-begin": 1 }], + "auaa4pxhoywxhdat5pbcvzarsnfeqytawet": [{ "/get-started/where-to-begin": 1 }], + "atteu9kbeqcfgawq5i86wcfa4uvy1qbwy5wdxm5a8uhd": [{ "/get-started/where-to-begin": 1 }], + "4n32erz3ygx9xcnfqacqairja9oy8inen6pnneziulbh": [{ "/get-started/where-to-begin": 1 }], + "5fl5khsrwdcg5dsae2ftsaszuuoeaf25hmvzlxsx6zud": [{ "/get-started/where-to-begin": 1 }], + "gensis": [{ "/get-started/where-to-begin": 2 }], + "block": [{ "/get-started/where-to-begin": 4 }], + "data": [ + { "/get-started/smart-contracts/v-atomic-swap": 14 }, + { "/get-started/smart-contracts/token-contract": 10 }, + { "/get-started/where-to-begin": 3 } + ], + "genesis": [{ "/get-started/where-to-begin": 1 }], + "first": [ + { "/get-started/smart-contracts/v-atomic-swap": 9 }, + { "/get-started/smart-contracts/lock-contract": 2 }, + { "/get-started/where-to-begin": 1 }, + { "/get-started/smart-contracts/token-contract": 1 } + ], + "network": [{ "/get-started/where-to-begin": 1 }, { "/development/testing": 1 }], + "list": [{ "/get-started/where-to-begin": 2 }], + "initial": [{ "/get-started/where-to-begin": 1 }], + "accounts": [{ "/get-started/where-to-begin": 1 }], + "update": [{ "/get-started/where-to-begin": 3 }, { "/get-started/smart-contracts/token-contract": 1 }], + "value": [ + { "/get-started/smart-contracts/v-atomic-swap": 4 }, + { "/get-started/smart-contracts/token-contract": 2 }, + { "/get-started/where-to-begin": 1 } + ], + "wallet_addresses": [{ "/get-started/where-to-begin": 1 }], + "src": [{ "/get-started/where-to-begin": 1 }], + "tools": [{ "/development/environment": 4 }, { "/get-started/where-to-begin": 2 }], + "developnetgenesisblockgenerator": [{ "/get-started/where-to-begin": 3 }], + "addresses": [ + { "/get-started/smart-contracts/v-atomic-swap": 3 }, { "/development/environment": 2 }, - { "/get-started/mobile": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/react-native": 1 }, - { "/community/bugs": 1 } - ], - "low": [{ "/get-started/mobile": 1 }], - "barrier": [{ "/get-started/mobile": 1 }], - "entry": [ - { "/get-started/mobile": 1 }, - { "/development/environment": 1 }, - { "/development/frameworks-mobile/ionic": 1 } + { "/get-started/where-to-begin": 1 } + ], + "generated": [{ "/get-started/smart-contracts/token-contract": 2 }, { "/get-started/where-to-begin": 1 }], + "last": [{ "/get-started/where-to-begin": 1 }], + "step": [{ "/get-started/where-to-begin": 1 }, { "/get-started/smart-contracts/token-contract": 1 }], + "runmain": [{ "/get-started/where-to-begin": 1 }], + "info": [ + { "/get-started/where-to-begin": 18 }, + { "/get-started/smart-contracts/token-contract": 7 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "genesissettings": [{ "/get-started/where-to-begin": 1 }], + "timestamp": [ + { "/get-started/smart-contracts/v-atomic-swap": 9 }, + { "/get-started/smart-contracts/lock-contract": 3 }, + { "/get-started/where-to-begin": 1 } + ], + "1606373598254137883": [{ "/get-started/where-to-begin": 2 }], + "blocktimestamp": [{ "/get-started/where-to-begin": 1 }], + "averageblockdelay": [{ "/get-started/where-to-begin": 1 }], + "seconds": [{ "/get-started/where-to-begin": 2 }], + "initialbalance": [{ "/get-started/where-to-begin": 1 }], + "500000000000000000": [{ "/get-started/where-to-begin": 1 }], + "initialminttime": [{ "/get-started/where-to-begin": 1 }], + "1606373598000000000": [{ "/get-started/where-to-begin": 1 }], + "signature": [{ "/get-started/where-to-begin": 1 }], + "some": [ + { "/get-started/smart-contracts/token-contract": 4 }, + { "/get-started/smart-contracts/lock-contract": 4 }, + { "/get-started/where-to-begin": 2 }, + { "/get-started/smart-contracts/nft-contract": 2 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 }, + { "/development/environment": 1 } ], - "implemented": [{ "/get-started/mobile": 1 }], - "differently": [{ "/get-started/mobile": 1 }], - "depending": [ - { "/development/environment": 3 }, - { "/get-started/mobile": 1 }, - { "/development/cli": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "framework": [ - { "/development/frameworks-web/intro": 7 }, - { "/development/cli": 6 }, - { "/development/frameworks-mobile/intro": 4 }, - { "/get-started/mobile": 2 }, - { "/community/faq": 2 }, - { "/development/environment": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 }, - { "/community/bugs": 1 } + "3yzhvlwnzug8x5ut1m3fftbcy3awgbycmyytsp2a3vlb6aavvbdnharftcuzdygaege6qgjhb4cz8fgjuj9b9chf": [ + { "/get-started/where-to-begin": 1 } ], - "some": [ - { "/community/faq": 5 }, - { "/development/cli": 3 }, - { "/development/frameworks-mobile/ionic": 2 }, - { "/get-started/mobile": 1 }, - { "/development/environment": 1 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-mobile/intro": 1 } - ], - "compile": [{ "/get-started/mobile": 1 }], - "components": [ - { "/development/frameworks-mobile/react-native": 16 }, - { "/development/frameworks-web/angular": 8 }, - { "/development/frameworks-web/react": 8 }, - { "/get-started/mobile": 4 }, - { "/development/cli": 4 }, - { "/community/faq": 2 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/community/bugs": 1 } - ], - "others": [{ "/get-started/mobile": 1 }, { "/community/bugs": 1 }], - "render": [{ "/get-started/mobile": 1 }], - "content": [{ "/development/cli": 3 }, { "/get-started/mobile": 1 }, { "/community/faq": 1 }], - "view": [{ "/get-started/mobile": 1 }], - "essentially": [{ "/get-started/mobile": 1 }], - "running": [ - { "/development/frameworks-mobile/react-native": 5 }, + "transactions": [ + { "/get-started/smart-contracts/v-atomic-swap": 3 }, + { "/get-started/where-to-begin": 1 }, + { "/get-started/smart-contracts/token-contract": 1 }, + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/development/testing": 1 } + ], + "genesistransactionsettings": [{ "/get-started/where-to-begin": 10 }], + "atwapydriv1arxawymlviw7y6k5jb5bzdkt": [{ "/get-started/where-to-begin": 1 }], + "50000000000000000": [{ "/get-started/where-to-begin": 10 }], + "aucug4dfgn52u2pgzb9yhehbxnsqp8emrqh": [{ "/get-started/where-to-begin": 1 }], + "au6smeldsswqdqrw4rdo5pvxdgh1v6jdv6t": [{ "/get-started/where-to-begin": 1 }], + "atyssf9z8rqrx9ujwwjlm5sbfefgqezysnb": [{ "/get-started/where-to-begin": 1 }], + "audwjxq3esdqasmyvrn5fpxr7ifbksxl8e2": [{ "/get-started/where-to-begin": 1 }], + "aua1pbbcfyfste38uenpxsahza7th74v2tc": [{ "/get-started/where-to-begin": 1 }], + "au7fewbghpe6oeh1iuo2me5tmcrbxpr8lfc": [{ "/get-started/where-to-begin": 1 }], + "atxtbdygmvwtvh9xjagqn5mdahsbuqxbjig": [{ "/get-started/where-to-begin": 1 }], + "au1ewbfr8mtwbvzgny8wdply3vevf64wsee": [{ "/get-started/where-to-begin": 1 }], + "au4u8erpgstsfscu1u6clyfner9cbk1x8eu": [{ "/get-started/where-to-begin": 1 }], + "node": [ + { "/get-started/where-to-begin": 7 }, + { "/get-started/smart-contracts/lock-contract": 5 }, { "/development/environment": 2 }, - { "/development/cli": 2 }, - { "/development/frameworks-mobile/ionic": 2 }, - { "/get-started/mobile": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 } - ], - "inside": [{ "/get-started/mobile": 1 }, { "/development/cli": 1 }], - "comparing": [{ "/get-started/mobile": 1 }], - "approaches": [{ "/get-started/mobile": 2 }, { "/development/frameworks-mobile/react-native": 1 }], - "guaranteed": [{ "/get-started/mobile": 1 }], - "look": [ - { "/get-started/mobile": 2 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/community/faq": 1 } - ], - "feel": [{ "/community/faq": 4 }, { "/get-started/mobile": 1 }, { "/development/frameworks-web/intro": 1 }], - "like": [ - { "/community/faq": 9 }, - { "/development/cli": 2 }, - { "/development/frameworks-web/react": 2 }, - { "/development/frameworks-mobile/react-native": 2 }, - { "/get-started/mobile": 1 }, - { "/development/environment": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-mobile/ionic": 1 } - ], - "since": [ - { "/get-started/mobile": 1 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/development/frameworks-mobile/ionic": 1 } - ], - "uses": [{ "/get-started/mobile": 1 }, { "/development/frameworks-mobile/ionic": 1 }], - "requires": [ - { "/development/frameworks-mobile/intro": 3 }, - { "/get-started/mobile": 2 }, - { "/development/frameworks-mobile/react-native": 2 } - ], - "specialized": [{ "/get-started/mobile": 1 }], - "expertise": [{ "/get-started/mobile": 1 }], - "separate": [{ "/get-started/mobile": 1 }], - "bases": [{ "/get-started/mobile": 1 }], - "operating": [{ "/development/environment": 2 }, { "/get-started/mobile": 1 }, { "/community/bugs": 1 }], - "longer": [ - { "/get-started/mobile": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 } - ], - "expensive": [{ "/get-started/mobile": 1 }], - "maintenance": [{ "/get-started/mobile": 1 }], - "reduces": [{ "/get-started/mobile": 1 }], - "thanks": [{ "/get-started/mobile": 1 }], - "shared": [{ "/get-started/mobile": 1 }, { "/development/cli": 1 }], - "provides": [ - { "/development/frameworks-mobile/react-native": 2 }, - { "/get-started/mobile": 1 }, - { "/development/cli": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/development/frameworks-mobile/ionic": 1 } - ], - "options": [{ "/get-started/mobile": 1 }, { "/development/frameworks-mobile/intro": 1 }], - "many": [{ "/development/cli": 3 }, { "/get-started/mobile": 1 }, { "/development/environment": 1 }], - "tools": [ - { "/development/cli": 5 }, - { "/development/environment": 4 }, - { "/development/frameworks-mobile/ionic": 2 }, - { "/get-started/mobile": 1 }, - { "/community/faq": 1 } - ], - "available": [ - { "/community/faq": 4 }, - { "/development/cli": 3 }, - { "/development/frameworks-web/react": 3 }, - { "/development/frameworks-mobile/react-native": 3 }, - { "/development/frameworks-web/angular": 2 }, - { "/development/frameworks-mobile/intro": 2 }, - { "/get-started/mobile": 1 }, - { "/development/environment": 1 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-mobile/ionic": 1 } + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "exposes": [{ "/get-started/where-to-begin": 1 }], + "restful": [{ "/get-started/where-to-begin": 2 }, { "/get-started/smart-contracts/token-contract": 2 }], + "apis": [{ "/get-started/smart-contracts/token-contract": 3 }, { "/get-started/where-to-begin": 1 }], + "interact": [{ "/get-started/where-to-begin": 1 }, { "/get-started/smart-contracts/v-atomic-swap": 1 }], + "feel": [{ "/get-started/where-to-begin": 1 }], + "swagger": [{ "/get-started/where-to-begin": 2 }, { "/get-started/smart-contracts/token-contract": 2 }], + "doc": [{ "/get-started/where-to-begin": 2 }, { "/get-started/smart-contracts/token-contract": 2 }], + "noticed": [{ "/get-started/where-to-begin": 1 }, { "/get-started/smart-contracts/token-contract": 1 }], + "endpoints": [{ "/get-started/where-to-begin": 1 }], + "little": [{ "/get-started/where-to-begin": 1 }], + "lock": [ + { "/get-started/smart-contracts/lock-contract": 29 }, + { "/get-started/smart-contracts/v-atomic-swap": 14 }, + { "/get-started/where-to-begin": 1 } + ], + "right": [{ "/get-started/smart-contracts/token-contract": 5 }, { "/get-started/where-to-begin": 1 }], + "means": [{ "/get-started/smart-contracts/token-contract": 2 }, { "/get-started/where-to-begin": 1 }], + "endpoint": [{ "/get-started/smart-contracts/token-contract": 2 }, { "/get-started/where-to-begin": 1 }], + "privileged": [{ "/get-started/where-to-begin": 1 }], + "i": [{ "/get-started/where-to-begin": 1 }, { "/get-started/smart-contracts/token-contract": 1 }], + "only": [ + { "/get-started/smart-contracts/token-contract": 18 }, + { "/get-started/smart-contracts/v-atomic-swap": 2 }, + { "/get-started/where-to-begin": 1 }, + { "/development/environment": 1 } + ], + "people": [{ "/get-started/where-to-begin": 1 }, { "/get-started/smart-contracts/lock-contract": 1 }], + "call": [ + { "/get-started/smart-contracts/token-contract": 12 }, + { "/get-started/where-to-begin": 2 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "hash": [{ "/get-started/smart-contracts/v-atomic-swap": 12 }, { "/get-started/where-to-begin": 4 }], + "planted": [{ "/get-started/where-to-begin": 1 }], + "configuration": [{ "/get-started/where-to-begin": 4 }], + "hence": [{ "/get-started/where-to-begin": 1 }], + "curl": [{ "/get-started/where-to-begin": 3 }], + "x": [{ "/get-started/where-to-begin": 4 }], + "post": [{ "/get-started/where-to-begin": 1 }], + "h": [{ "/get-started/where-to-begin": 1 }], + "content": [{ "/get-started/where-to-begin": 1 }], + "text": [{ "/get-started/where-to-begin": 2 }], + "plain": [{ "/get-started/where-to-begin": 1 }], + "my_api_key": [{ "/get-started/where-to-begin": 3 }], + "http": [ + { "/development/environment": 5 }, + { "/get-started/where-to-begin": 3 }, + { "/get-started/smart-contracts/token-contract": 2 } + ], + "veldidina": [{ "/get-started/smart-contracts/token-contract": 2 }, { "/get-started/where-to-begin": 1 }], + "vos": [{ "/get-started/smart-contracts/token-contract": 2 }, { "/get-started/where-to-begin": 1 }], + "utils": [{ "/get-started/where-to-begin": 1 }], + "secure": [{ "/get-started/where-to-begin": 1 }, { "/get-started/smart-contracts/v-atomic-swap": 1 }], + "replace": [{ "/get-started/where-to-begin": 1 }], + "anything": [{ "/get-started/where-to-begin": 1 }, { "/get-started/smart-contracts/lock-contract": 1 }], + "example": [ + { "/get-started/smart-contracts/token-contract": 20 }, + { "/get-started/smart-contracts/v-atomic-swap": 4 }, + { "/get-started/where-to-begin": 1 }, + { "/get-started/smart-contracts/nft-contract": 1 }, + { "/development/environment": 1 } + ], + "response": [{ "/get-started/smart-contracts/token-contract": 15 }, { "/get-started/where-to-begin": 1 }], + "message": [{ "/get-started/where-to-begin": 1 }], + "7ashj286oqdptyofbewxdeqy313qyiafhmvkytgxsgwy": [{ "/get-started/where-to-begin": 1 }], + "download": [{ "/get-started/where-to-begin": 2 }, { "/development/environment": 1 }], + "template": [{ "/get-started/where-to-begin": 1 }], + "attached": [{ "/get-started/where-to-begin": 2 }], + "accordingly": [{ "/get-started/where-to-begin": 1 }], + "fields": [{ "/get-started/where-to-begin": 1 }], + "decorated": [{ "/get-started/where-to-begin": 1 }], + "comment": [{ "/get-started/smart-contracts/token-contract": 12 }, { "/get-started/where-to-begin": 1 }], + "todo": [{ "/get-started/where-to-begin": 2 }], + "above": [{ "/get-started/where-to-begin": 1 }], + "so": [ + { "/get-started/smart-contracts/v-atomic-swap": 5 }, + { "/get-started/where-to-begin": 1 }, + { "/get-started/smart-contracts/token-contract": 1 }, + { "/development/environment": 1 } + ], + "navigate": [{ "/get-started/where-to-begin": 1 }], + "them": [{ "/get-started/smart-contracts/v-atomic-swap": 4 }, { "/get-started/where-to-begin": 1 }], + "searching": [{ "/get-started/where-to-begin": 1 }], + "editor": [{ "/get-started/where-to-begin": 1 }], + "share": [{ "/get-started/where-to-begin": 1 }, { "/get-started/smart-contracts/token-contract": 1 }], + "most": [ + { "/get-started/where-to-begin": 1 }, + { "/get-started/smart-contracts/token-contract": 1 }, + { "/development/environment": 1 } + ], + "parts": [{ "/get-started/where-to-begin": 1 }, { "/get-started/smart-contracts/nft-contract": 1 }], + "difference": [{ "/get-started/smart-contracts/token-contract": 2 }, { "/get-started/where-to-begin": 1 }], + "lies": [{ "/get-started/where-to-begin": 1 }], + "ports": [{ "/get-started/where-to-begin": 3 }], + "communication": [{ "/get-started/where-to-begin": 1 }], + "launch": [{ "/get-started/where-to-begin": 3 }], + "container": [{ "/get-started/where-to-begin": 3 }], + "dockerfile": [{ "/get-started/where-to-begin": 1 }], + "image": [{ "/get-started/where-to-begin": 1 }], + "locally": [{ "/get-started/where-to-begin": 1 }, { "/development/environment": 1 }], + "f": [{ "/get-started/where-to-begin": 2 }], + "path_to_the_dockerfile": [{ "/get-started/where-to-begin": 2 }], + "jar": [{ "/get-started/where-to-begin": 1 }], + "version": [{ "/get-started/where-to-begin": 1 }, { "/development/environment": 1 }], + "default": [{ "/get-started/where-to-begin": 1 }], + "overridden": [{ "/get-started/where-to-begin": 1 }], + "arg": [{ "/get-started/where-to-begin": 2 }], + "flag": [{ "/get-started/where-to-begin": 1 }], + "when": [ + { "/get-started/smart-contracts/v-atomic-swap": 3 }, + { "/get-started/where-to-begin": 1 }, + { "/get-started/smart-contracts/token-contract": 1 }, + { "/get-started/smart-contracts/nft-contract": 1 } + ], + "vsys_ver": [{ "/get-started/where-to-begin": 1 }], + "y": [{ "/get-started/where-to-begin": 1 }], + "z": [{ "/get-started/where-to-begin": 1 }], + "p": [{ "/get-started/where-to-begin": 4 }], + "name": [{ "/get-started/smart-contracts/token-contract": 6 }, { "/get-started/where-to-begin": 2 }], + "mount": [{ "/get-started/where-to-begin": 2 }], + "bind": [{ "/get-started/where-to-begin": 2 }], + "source": [{ "/get-started/where-to-begin": 2 }, { "/development/environment": 1 }], + "absolute": [{ "/get-started/where-to-begin": 2 }], + "path": [{ "/get-started/where-to-begin": 2 }, { "/development/environment": 1 }], + "conf": [{ "/get-started/where-to-begin": 4 }], + "target": [{ "/get-started/where-to-begin": 2 }], + "runs": [ + { "/get-started/where-to-begin": 1 }, + { "/get-started/smart-contracts/token-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "browser": [{ "/get-started/where-to-begin": 1 }], + "shows": [{ "/get-started/where-to-begin": 1 }], + "height": [{ "/get-started/smart-contracts/token-contract": 12 }, { "/get-started/where-to-begin": 4 }], + "increments": [{ "/get-started/where-to-begin": 1 }], + "per": [{ "/get-started/where-to-begin": 1 }, { "/get-started/smart-contracts/token-contract": 1 }], + "minute": [{ "/get-started/where-to-begin": 1 }], + "script": [{ "/get-started/where-to-begin": 1 }], + "query": [{ "/get-started/smart-contracts/token-contract": 2 }, { "/get-started/where-to-begin": 1 }], + "every": [{ "/get-started/where-to-begin": 1 }, { "/get-started/smart-contracts/token-contract": 1 }], + "true": [{ "/get-started/smart-contracts/token-contract": 9 }, { "/get-started/where-to-begin": 1 }], + "sleep": [{ "/get-started/where-to-begin": 1 }], + "done": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }, { "/get-started/where-to-begin": 1 }], + "introduction": [ + { "/get-started/quick-tutorials": 1 }, + { "/get-started/smart-contracts/token-contract": 1 }, + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/get-started/smart-contracts/nft-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 }, + { "/get-started/smart-contracts/v-stable-swap": 1 }, + { "/get-started/smart-contracts/v-option": 1 }, + { "/get-started/smart-contracts/v-escrow": 1 } + ], + "framework": [{ "/get-started/quick-tutorials": 1 }, { "/development/environment": 1 }], + "middle": [{ "/get-started/quick-tutorials": 1 }], + "creating": [{ "/get-started/quick-tutorials": 1 }, { "/get-started/smart-contracts/token-contract": 1 }], + "everyone": [{ "/get-started/quick-tutorials": 1 }], + "ll": [{ "/get-started/quick-tutorials": 1 }, { "/development/environment": 1 }], + "back": [{ "/get-started/smart-contracts/token-contract": 3 }, { "/get-started/quick-tutorials": 1 }], + "soon": [ + { "/get-started/quick-tutorials": 1 }, + { "/get-started/smart-contracts/v-stable-swap": 1 }, + { "/get-started/smart-contracts/v-option": 1 }, + { "/get-started/smart-contracts/v-escrow": 1 } + ], + "token": [ + { "/get-started/smart-contracts/token-contract": 28 }, + { "/get-started/smart-contracts/nft-contract": 13 }, + { "/get-started/smart-contracts/lock-contract": 10 }, + { "/get-started/smart-contracts/v-atomic-swap": 5 } ], "allows": [ - { "/get-started/mobile": 1 }, - { "/development/environment": 1 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-mobile/intro": 1 } + { "/get-started/smart-contracts/token-contract": 2 }, + { "/get-started/smart-contracts/lock-contract": 2 }, + { "/development/environment": 1 } ], - "consistent": [{ "/get-started/mobile": 1 }], - "easier": [{ "/get-started/mobile": 2 }, { "/development/cli": 1 }], - "also": [ - { "/development/cli": 5 }, - { "/development/frameworks-mobile/react-native": 5 }, + "tokens": [ + { "/get-started/smart-contracts/token-contract": 42 }, + { "/get-started/smart-contracts/v-atomic-swap": 10 }, + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/get-started/smart-contracts/nft-contract": 1 } + ], + "case": [{ "/get-started/smart-contracts/token-contract": 1 }], + "logical": [{ "/get-started/smart-contracts/token-contract": 1 }], + "entity": [{ "/get-started/smart-contracts/token-contract": 1 }], + "represent": [ + { "/get-started/smart-contracts/token-contract": 2 }, + { "/get-started/smart-contracts/nft-contract": 1 } + ], + "stored": [ + { "/get-started/smart-contracts/token-contract": 3 }, + { "/get-started/smart-contracts/lock-contract": 1 } + ], + "fiat": [{ "/get-started/smart-contracts/token-contract": 1 }], + "currency": [{ "/get-started/smart-contracts/token-contract": 1 }], + "usd": [{ "/get-started/smart-contracts/token-contract": 1 }], + "financial": [{ "/get-started/smart-contracts/token-contract": 1 }], + "assets": [{ "/get-started/smart-contracts/token-contract": 1 }], + "company": [{ "/get-started/smart-contracts/token-contract": 1 }], + "even": [{ "/get-started/smart-contracts/token-contract": 1 }], + "reputation": [{ "/get-started/smart-contracts/token-contract": 1 }], + "points": [{ "/get-started/smart-contracts/token-contract": 1 }], + "online": [{ "/get-started/smart-contracts/token-contract": 1 }], + "thought": [{ "/get-started/smart-contracts/token-contract": 2 }], + "class": [{ "/get-started/smart-contracts/token-contract": 1 }], + "oop": [{ "/get-started/smart-contracts/token-contract": 1 }], + "bunch": [{ "/get-started/smart-contracts/token-contract": 1 }, { "/development/environment": 1 }], + "methods": [{ "/get-started/smart-contracts/token-contract": 1 }], + "after": [ + { "/get-started/smart-contracts/v-atomic-swap": 3 }, + { "/get-started/smart-contracts/token-contract": 2 }, + { "/get-started/smart-contracts/lock-contract": 1 } + ], + "instance": [ + { "/get-started/smart-contracts/token-contract": 5 }, + { "/get-started/smart-contracts/lock-contract": 1 } + ], + "functions": [ + { "/get-started/smart-contracts/token-contract": 7 }, + { "/get-started/smart-contracts/lock-contract": 3 } + ], + "called": [{ "/get-started/smart-contracts/token-contract": 2 }], + "sending": [{ "/get-started/smart-contracts/token-contract": 1 }], + "function": [ + { "/get-started/smart-contracts/token-contract": 28 }, + { "/get-started/smart-contracts/v-atomic-swap": 5 }, + { "/get-started/smart-contracts/lock-contract": 2 } + ], + "index": [{ "/get-started/smart-contracts/token-contract": 1 }], + "arguments": [{ "/get-started/smart-contracts/token-contract": 1 }], + "k": [{ "/get-started/smart-contracts/token-contract": 1 }], + "highly": [{ "/get-started/smart-contracts/token-contract": 1 }], + "recommended": [{ "/get-started/smart-contracts/token-contract": 1 }], + "through": [{ "/get-started/smart-contracts/token-contract": 3 }, { "/development/environment": 1 }], + "external": [{ "/get-started/smart-contracts/token-contract": 1 }], + "topics": [{ "/get-started/smart-contracts/token-contract": 1 }], + "equip": [{ "/get-started/smart-contracts/token-contract": 1 }], + "yourself": [{ "/get-started/smart-contracts/token-contract": 1 }], + "fundamental": [{ "/get-started/smart-contracts/token-contract": 1 }], + "further": [{ "/get-started/smart-contracts/token-contract": 2 }], + "two": [ + { "/get-started/smart-contracts/v-atomic-swap": 11 }, + { "/get-started/smart-contracts/token-contract": 1 } + ], + "namely": [{ "/get-started/smart-contracts/token-contract": 1 }], + "split": [ + { "/get-started/smart-contracts/token-contract": 18 }, + { "/get-started/smart-contracts/nft-contract": 1 } + ], + "broken": [{ "/get-started/smart-contracts/token-contract": 1 }], + "down": [{ "/get-started/smart-contracts/token-contract": 1 }], + "smaller": [{ "/get-started/smart-contracts/token-contract": 1 }], + "pieces": [{ "/get-started/smart-contracts/token-contract": 1 }], + "vice": [{ "/get-started/smart-contracts/token-contract": 1 }], + "versa": [{ "/get-started/smart-contracts/token-contract": 1 }], + "bitcoin": [{ "/get-started/smart-contracts/token-contract": 2 }], + "spilt": [{ "/get-started/smart-contracts/token-contract": 1 }], + "buy": [{ "/get-started/smart-contracts/token-contract": 2 }], + "song": [{ "/get-started/smart-contracts/token-contract": 2 }], + "sense": [{ "/get-started/smart-contracts/token-contract": 2 }], + "half": [{ "/get-started/smart-contracts/token-contract": 1 }], + "note": [ + { "/get-started/smart-contracts/token-contract": 3 }, + { "/get-started/smart-contracts/v-atomic-swap": 2 }, + { "/get-started/smart-contracts/lock-contract": 1 } + ], + "define": [{ "/get-started/smart-contracts/token-contract": 1 }], + "now": [ + { "/get-started/smart-contracts/token-contract": 9 }, + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "though": [{ "/get-started/smart-contracts/token-contract": 1 }], + "theoretically": [{ "/get-started/smart-contracts/token-contract": 2 }], + "multiple": [ + { "/get-started/smart-contracts/token-contract": 1 }, + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/get-started/smart-contracts/nft-contract": 1 }, + { "/development/environment": 1 } + ], + "within": [ + { "/get-started/smart-contracts/lock-contract": 2 }, + { "/get-started/smart-contracts/token-contract": 1 }, + { "/get-started/smart-contracts/nft-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "available": [{ "/get-started/smart-contracts/token-contract": 4 }, { "/development/environment": 1 }], + "executable": [ + { "/get-started/smart-contracts/token-contract": 1 }, + { "/get-started/smart-contracts/lock-contract": 1 } + ], + "id": [ + { "/get-started/smart-contracts/v-atomic-swap": 14 }, + { "/get-started/smart-contracts/lock-contract": 11 }, + { "/get-started/smart-contracts/token-contract": 7 }, + { "/get-started/smart-contracts/nft-contract": 2 } + ], + "input": [ + { "/get-started/smart-contracts/v-atomic-swap": 5 }, + { "/get-started/smart-contracts/token-contract": 2 }, + { "/get-started/smart-contracts/lock-contract": 1 } + ], + "description": [ + { "/get-started/smart-contracts/token-contract": 5 }, + { "/get-started/smart-contracts/lock-contract": 1 } + ], + "issuing": [{ "/get-started/smart-contracts/token-contract": 4 }], + "totalsupply": [{ "/get-started/smart-contracts/token-contract": 1 }], + "maxsupply": [{ "/get-started/smart-contracts/token-contract": 1 }], + "getissuer": [{ "/get-started/smart-contracts/token-contract": 1 }], + "supersede": [{ "/get-started/smart-contracts/token-contract": 1 }], + "newissuer": [{ "/get-started/smart-contracts/token-contract": 1 }], + "transfer": [ + { "/get-started/smart-contracts/token-contract": 14 }, + { "/get-started/smart-contracts/v-atomic-swap": 3 } + ], + "another": [{ "/get-started/smart-contracts/token-contract": 9 }], + "balanceof": [{ "/get-started/smart-contracts/token-contract": 1 }], + "send": [{ "/get-started/smart-contracts/token-contract": 11 }], + "recipient": [ + { "/get-started/smart-contracts/token-contract": 11 }, + { "/get-started/smart-contracts/v-atomic-swap": 4 } + ], + "amount": [ + { "/get-started/smart-contracts/token-contract": 19 }, + { "/get-started/smart-contracts/v-atomic-swap": 3 }, + { "/get-started/smart-contracts/lock-contract": 1 } + ], + "sender": [ + { "/get-started/smart-contracts/token-contract": 9 }, + { "/get-started/smart-contracts/lock-contract": 6 }, + { "/get-started/smart-contracts/nft-contract": 2 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "deposit": [ + { "/get-started/smart-contracts/token-contract": 10 }, + { "/get-started/smart-contracts/v-atomic-swap": 6 } + ], + "contract_account": [{ "/get-started/smart-contracts/token-contract": 2 }], + "issue": [ + { "/get-started/smart-contracts/token-contract": 7 }, + { "/get-started/smart-contracts/nft-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "yes": [{ "/get-started/smart-contracts/token-contract": 3 }], + "destroy": [{ "/get-started/smart-contracts/token-contract": 5 }], + "n": [{ "/get-started/smart-contracts/token-contract": 1 }], + "newunit": [{ "/get-started/smart-contracts/token-contract": 1 }], + "unit": [{ "/get-started/smart-contracts/token-contract": 9 }, { "/development/testing": 1 }], + "withdraw": [ + { "/get-started/smart-contracts/token-contract": 9 }, + { "/get-started/smart-contracts/v-atomic-swap": 2 } + ], + "faq": [{ "/get-started/smart-contracts/token-contract": 1 }], + "granularity": [{ "/get-started/smart-contracts/token-contract": 1 }], + "splitting": [{ "/get-started/smart-contracts/token-contract": 2 }], + "smallest": [{ "/get-started/smart-contracts/token-contract": 2 }], + "denomination": [{ "/get-started/smart-contracts/token-contract": 2 }], + "let": [ + { "/get-started/smart-contracts/token-contract": 10 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "take": [ + { "/get-started/smart-contracts/token-contract": 1 }, + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 }, + { "/development/environment": 1 } + ], + "money": [{ "/get-started/smart-contracts/token-contract": 1 }], + "cent": [{ "/get-started/smart-contracts/token-contract": 1 }], + "cents": [{ "/get-started/smart-contracts/token-contract": 1 }], + "dollar": [{ "/get-started/smart-contracts/token-contract": 1 }], + "exists": [{ "/get-started/smart-contracts/token-contract": 1 }], + "integers": [{ "/get-started/smart-contracts/token-contract": 1 }], + "splitted": [{ "/get-started/smart-contracts/token-contract": 1 }], + "float": [{ "/get-started/smart-contracts/token-contract": 1 }], + "computation": [{ "/get-started/smart-contracts/token-contract": 1 }], + "uncertainty": [{ "/get-started/smart-contracts/token-contract": 1 }], + "prone": [{ "/get-started/smart-contracts/token-contract": 1 }], + "actually": [{ "/get-started/smart-contracts/token-contract": 3 }], + "between": [ + { "/get-started/smart-contracts/token-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "customising": [{ "/get-started/smart-contracts/token-contract": 1 }], + "would": [ + { "/get-started/smart-contracts/token-contract": 3 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "invoker": [{ "/get-started/smart-contracts/token-contract": 5 }], + "its": [ + { "/get-started/smart-contracts/token-contract": 1 }, + { "/get-started/smart-contracts/nft-contract": 1 } + ], + "defined": [ + { "/get-started/smart-contracts/token-contract": 3 }, + { "/get-started/smart-contracts/lock-contract": 1 } + ], + "whitelist": [{ "/get-started/smart-contracts/token-contract": 1 }], + "actions": [{ "/get-started/smart-contracts/token-contract": 1 }], + "taken": [{ "/get-started/smart-contracts/token-contract": 1 }], + "proved": [{ "/get-started/smart-contracts/token-contract": 1 }], + "valid": [{ "/get-started/smart-contracts/token-contract": 1 }], + "considered": [{ "/get-started/smart-contracts/token-contract": 1 }], + "special": [{ "/get-started/smart-contracts/token-contract": 1 }], + "top": [{ "/get-started/smart-contracts/token-contract": 1 }], + "oftransfer": [{ "/get-started/smart-contracts/token-contract": 1 }], + "itself": [ + { "/get-started/smart-contracts/token-contract": 3 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "calling": [{ "/get-started/smart-contracts/token-contract": 8 }], + "both": [ + { "/get-started/smart-contracts/v-atomic-swap": 5 }, + { "/get-started/smart-contracts/token-contract": 2 } + ], + "yet": [{ "/get-started/smart-contracts/token-contract": 2 }], + "discouraged": [{ "/get-started/smart-contracts/token-contract": 1 }], + "directly": [{ "/get-started/smart-contracts/token-contract": 1 }], + "codes": [{ "/get-started/smart-contracts/token-contract": 3 }], + "specialised": [{ "/get-started/smart-contracts/token-contract": 1 }], + "instead": [{ "/get-started/smart-contracts/token-contract": 1 }, { "/development/environment": 1 }], + "tutorial": [{ "/get-started/smart-contracts/token-contract": 5 }, { "/development/environment": 1 }], + "create": [ + { "/get-started/smart-contracts/token-contract": 3 }, + { "/get-started/smart-contracts/lock-contract": 2 }, + { "/get-started/smart-contracts/nft-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "splittable": [{ "/get-started/smart-contracts/token-contract": 2 }], + "play": [{ "/get-started/smart-contracts/token-contract": 1 }], + "around": [{ "/get-started/smart-contracts/token-contract": 2 }], + "unsplittable": [{ "/get-started/smart-contracts/token-contract": 1 }], + "except": [{ "/get-started/smart-contracts/token-contract": 1 }], + "upon": [ + { "/get-started/smart-contracts/token-contract": 1 }, + { "/get-started/smart-contracts/lock-contract": 1 } + ], + "sdk": [{ "/get-started/smart-contracts/token-contract": 4 }], + "tried": [{ "/get-started/smart-contracts/token-contract": 1 }], + "interactive": [{ "/get-started/smart-contracts/token-contract": 2 }], + "tool": [{ "/get-started/smart-contracts/token-contract": 1 }], + "status": [{ "/get-started/smart-contracts/token-contract": 2 }], + "changes": [{ "/get-started/smart-contracts/token-contract": 4 }], + "gone": [{ "/get-started/smart-contracts/token-contract": 1 }], + "topped": [{ "/get-started/smart-contracts/token-contract": 1 }], + "sufficient": [{ "/get-started/smart-contracts/token-contract": 1 }, { "/development/environment": 1 }], + "coins": [ + { "/get-started/smart-contracts/v-atomic-swap": 7 }, + { "/get-started/smart-contracts/token-contract": 1 }, + { "/get-started/smart-contracts/lock-contract": 1 } + ], + "gas": [{ "/get-started/smart-contracts/token-contract": 2 }], + "fee": [{ "/get-started/smart-contracts/token-contract": 2 }], + "operations": [{ "/get-started/smart-contracts/token-contract": 2 }], + "execute": [ + { "/get-started/smart-contracts/lock-contract": 3 }, + { "/get-started/smart-contracts/token-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "pipenv": [{ "/get-started/smart-contracts/token-contract": 2 }], + "via": [{ "/get-started/smart-contracts/token-contract": 2 }, { "/development/environment": 1 }], + "install": [ { "/development/environment": 4 }, - { "/community/faq": 4 }, - { "/development/frameworks-web/react": 3 }, - { "/development/frameworks-web/angular": 2 }, - { "/development/frameworks-mobile/ionic": 2 }, - { "/get-started/mobile": 1 }, - { "/community/bugs": 1 } + { "/get-started/smart-contracts/token-contract": 3 }, + { "/get-started/smart-contracts/lock-contract": 3 }, + { "/get-started/smart-contracts/v-atomic-swap": 3 } + ], + "amp": [{ "/get-started/smart-contracts/token-contract": 1 }], + "repository": [ + { "/get-started/smart-contracts/lock-contract": 2 }, + { "/get-started/smart-contracts/v-atomic-swap": 2 }, + { "/get-started/smart-contracts/token-contract": 1 } + ], + "py": [{ "/get-started/smart-contracts/token-contract": 12 }], + "dependencies": [{ "/get-started/smart-contracts/token-contract": 1 }, { "/development/environment": 1 }], + "fill": [{ "/get-started/smart-contracts/token-contract": 8 }], + "node_host": [{ "/get-started/smart-contracts/token-contract": 1 }], + "wallet_seed": [{ "/get-started/smart-contracts/token-contract": 1 }], + "here": [{ "/get-started/smart-contracts/token-contract": 5 }], + "leave": [{ "/get-started/smart-contracts/token-contract": 12 }], + "playground": [{ "/get-started/smart-contracts/token-contract": 14 }], + "try_token_contract": [{ "/get-started/smart-contracts/token-contract": 14 }], + "def": [{ "/get-started/smart-contracts/token-contract": 1 }], + "try_atomic_swap_contract": [{ "/get-started/smart-contracts/token-contract": 1 }], + "statements": [{ "/get-started/smart-contracts/token-contract": 1 }], + "common": [{ "/get-started/smart-contracts/token-contract": 1 }], + "provided": [{ "/get-started/smart-contracts/token-contract": 1 }], + "commented": [{ "/get-started/smart-contracts/token-contract": 1 }], + "demand": [{ "/get-started/smart-contracts/token-contract": 1 }], + "playing": [{ "/get-started/smart-contracts/token-contract": 1 }], + "register": [ + { "/get-started/smart-contracts/token-contract": 5 }, + { "/get-started/smart-contracts/lock-contract": 3 }, + { "/get-started/smart-contracts/v-atomic-swap": 3 }, + { "/get-started/smart-contracts/nft-contract": 1 } + ], + "snippet": [{ "/get-started/smart-contracts/token-contract": 11 }], + "registers": [{ "/get-started/smart-contracts/token-contract": 1 }], + "tc": [{ "/get-started/smart-contracts/token-contract": 17 }], + "tokencontract": [{ "/get-started/smart-contracts/token-contract": 10 }], + "acnt_0": [{ "/get-started/smart-contracts/token-contract": 16 }], + "max": [{ "/get-started/smart-contracts/token-contract": 5 }], + "1_000_000_000": [{ "/get-started/smart-contracts/token-contract": 1 }], + "dictionary": [{ "/get-started/smart-contracts/token-contract": 2 }], + "printed": [{ "/get-started/smart-contracts/token-contract": 1 }], + "console": [{ "/get-started/smart-contracts/token-contract": 1 }], + "find": [ + { "/get-started/smart-contracts/token-contract": 2 }, + { "/get-started/smart-contracts/v-atomic-swap": 2 } ], - "make": [ - { "/development/frameworks-mobile/react-native": 4 }, - { "/development/frameworks-web/angular": 2 }, - { "/development/frameworks-web/react": 2 }, - { "/get-started/mobile": 1 }, - { "/development/environment": 1 }, - { "/development/cli": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/community/bugs": 1 }, - { "/community/faq": 1 } - ], - "doesn": [{ "/get-started/mobile": 1 }], - "follow": [ - { "/development/frameworks-mobile/react-native": 3 }, - { "/get-started/mobile": 1 }, - { "/development/cli": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/development/frameworks-mobile/ionic": 1 } - ], - "standard": [ - { "/development/frameworks-mobile/react-native": 2 }, - { "/get-started/mobile": 1 }, - { "/development/cli": 1 } - ], - "patterns": [{ "/community/faq": 5 }, { "/get-started/mobile": 1 }], - "so": [ - { "/development/cli": 2 }, - { "/get-started/mobile": 1 }, - { "/development/environment": 1 }, - { "/development/frameworks-web/intro": 1 } + "contractid": [{ "/get-started/smart-contracts/token-contract": 27 }], + "variable": [ + { "/get-started/smart-contracts/token-contract": 3 }, + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/development/environment": 1 } ], - "one": [ - { "/development/frameworks-web/angular": 3 }, - { "/development/cli": 2 }, - { "/development/frameworks-web/intro": 2 }, - { "/development/frameworks-mobile/react-native": 2 }, - { "/community/faq": 2 }, - { "/get-started/mobile": 1 }, - { "/development/environment": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/community/bugs": 1 } - ], - "recommendation": [{ "/get-started/mobile": 1 }], - "approach": [ - { "/development/cli": 2 }, - { "/get-started/mobile": 1 }, - { "/development/frameworks-mobile/intro": 1 } - ], - "allow": [ - { "/get-started/mobile": 1 }, - { "/development/frameworks-mobile/react-native": 1 }, - { "/community/faq": 1 } - ], - "deploy": [{ "/get-started/mobile": 1 }], - "versions": [{ "/get-started/mobile": 1 }, { "/development/frameworks-mobile/intro": 1 }], - "we": [ - { "/community/faq": 28 }, - { "/development/frameworks-mobile/react-native": 4 }, - { "/get-started/mobile": 2 }, - { "/development/environment": 2 }, - { "/development/frameworks-web/angular": 2 }, - { "/development/frameworks-web/react": 2 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/development/frameworks-mobile/ionic": 1 } - ], - "support": [ - { "/community/faq": 5 }, - { "/get-started/mobile": 3 }, - { "/development/frameworks-web/angular": 2 }, - { "/development/frameworks-web/react": 2 }, - { "/development/cli": 1 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-mobile/intro": 1 } - ], - "several": [ - { "/get-started/mobile": 1 }, - { "/development/cli": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/community/faq": 1 } - ], - "introduction": [{ "/get-started/mobile": 1 }, { "/development/frameworks-web/intro": 1 }], - "prefer": [ - { "/get-started/mobile": 1 }, - { "/development/environment": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/community/faq": 1 } - ], - "brightlayer": [ - { "/development/frameworks-web/angular": 42 }, - { "/development/frameworks-web/react": 39 }, - { "/development/frameworks-mobile/react-native": 38 }, - { "/community/faq": 33 }, - { "/development/frameworks-mobile/ionic": 26 }, - { "/community/bugs": 4 }, - { "/development/frameworks-web/intro": 3 }, - { "/development/frameworks-mobile/intro": 3 }, - { "/get-started/mobile": 2 }, - { "/development/environment": 1 }, - { "/development/cli": 1 } - ], - "ui": [ - { "/development/frameworks-web/react": 54 }, - { "/development/frameworks-web/angular": 42 }, - { "/development/frameworks-mobile/react-native": 39 }, - { "/community/faq": 33 }, - { "/development/frameworks-mobile/ionic": 26 }, - { "/development/frameworks-web/intro": 6 }, - { "/development/frameworks-mobile/intro": 6 }, - { "/community/bugs": 5 }, - { "/get-started/mobile": 2 }, - { "/development/environment": 1 }, - { "/development/cli": 1 } + "tok_ctrt_id": [{ "/get-started/smart-contracts/token-contract": 18 }], + "found": [ + { "/get-started/smart-contracts/token-contract": 2 }, + { "/get-started/smart-contracts/v-atomic-swap": 2 }, + { "/development/environment": 1 } ], - "standards": [ - { "/get-started/mobile": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 } + "registering": [ + { "/get-started/smart-contracts/token-contract": 2 }, + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/get-started/smart-contracts/nft-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "created": [{ "/get-started/smart-contracts/token-contract": 4 }], + "body": [{ "/get-started/smart-contracts/token-contract": 12 }], + "cf3xtmkl34hfpudjsricpb2mite8nf8wwe3": [{ "/get-started/smart-contracts/token-contract": 6 }], + "transactionid": [{ "/get-started/smart-contracts/token-contract": 3 }], + "72oj6qzbjw1atgv6ktrufcplebej6yd4vwdhueuu3zu6": [{ "/get-started/smart-contracts/token-contract": 2 }], + "tokencontractwithsplit": [{ "/get-started/smart-contracts/token-contract": 2 }], + "au6bnrk34sluc27evpzjbaswb6nthv2hmjd": [{ "/get-started/smart-contracts/token-contract": 9 }], + "issuer": [{ "/get-started/smart-contracts/token-contract": 5 }], + "maker": [ + { "/get-started/smart-contracts/token-contract": 4 }, + { "/get-started/smart-contracts/lock-contract": 1 } + ], + "just": [{ "/get-started/smart-contracts/token-contract": 5 }], + "tokenindex": [{ "/get-started/smart-contracts/token-contract": 1 }], + "tokenid": [{ "/get-started/smart-contracts/token-contract": 23 }], + "twteznkp33ttrmb6cjpeb5fwu4lh4zqjfmebjmeqt": [{ "/get-started/smart-contracts/token-contract": 13 }], + "tok_id": [{ "/get-started/smart-contracts/token-contract": 5 }], + "tokeninfo": [{ "/get-started/smart-contracts/token-contract": 4 }], + "total": [{ "/get-started/smart-contracts/token-contract": 6 }], + "unity": [{ "/get-started/smart-contracts/token-contract": 12 }], + "don": [{ "/development/environment": 2 }, { "/get-started/smart-contracts/token-contract": 1 }], + "indicated": [{ "/get-started/smart-contracts/token-contract": 2 }], + "haven": [{ "/get-started/smart-contracts/token-contract": 1 }], + "issued": [ + { "/get-started/smart-contracts/token-contract": 4 }, + { "/get-started/smart-contracts/nft-contract": 1 } + ], + "next": [ + { "/get-started/smart-contracts/token-contract": 1 }, + { "/get-started/smart-contracts/lock-contract": 1 } + ], + "your_token_contract_id": [{ "/get-started/smart-contracts/token-contract": 8 }], + "contract_id": [{ "/get-started/smart-contracts/token-contract": 10 }], + "5_000": [{ "/get-started/smart-contracts/token-contract": 1 }], + "great": [{ "/get-started/smart-contracts/token-contract": 1 }, { "/development/environment": 1 }], + "wonder": [{ "/get-started/smart-contracts/token-contract": 1 }], + "who": [{ "/get-started/smart-contracts/token-contract": 1 }], + "owns": [ + { "/get-started/smart-contracts/v-atomic-swap": 2 }, + { "/get-started/smart-contracts/token-contract": 1 } + ], + "balance": [ + { "/get-started/smart-contracts/token-contract": 15 }, + { "/get-started/smart-contracts/lock-contract": 2 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "base58": [ + { "/get-started/smart-contracts/v-atomic-swap": 7 }, + { "/get-started/smart-contracts/token-contract": 1 } + ], + "format": [{ "/get-started/smart-contracts/token-contract": 1 }], + "string": [ + { "/get-started/smart-contracts/v-atomic-swap": 2 }, + { "/get-started/smart-contracts/token-contract": 1 } + ], + "attribute": [{ "/get-started/smart-contracts/token-contract": 1 }], + "pv": [ + { "/get-started/smart-contracts/lock-contract": 4 }, + { "/get-started/smart-contracts/nft-contract": 4 }, + { "/get-started/smart-contracts/v-atomic-swap": 3 }, + { "/get-started/smart-contracts/token-contract": 2 } + ], + "objects": [ + { "/get-started/smart-contracts/token-contract": 1 }, + { "/get-started/smart-contracts/lock-contract": 1 } + ], + "print": [ + { "/get-started/smart-contracts/lock-contract": 5 }, + { "/get-started/smart-contracts/token-contract": 3 }, + { "/get-started/smart-contracts/v-atomic-swap": 2 } + ], + "guessed": [{ "/get-started/smart-contracts/token-contract": 1 }], + "freshly": [{ "/get-started/smart-contracts/token-contract": 1 }], + "belong": [{ "/get-started/smart-contracts/token-contract": 1 }], + "sometimes": [{ "/get-started/smart-contracts/token-contract": 1 }], + "mitigate": [{ "/get-started/smart-contracts/token-contract": 1 }], + "inflation": [{ "/get-started/smart-contracts/token-contract": 1 }], + "2_000": [{ "/get-started/smart-contracts/token-contract": 1 }], + "number": [{ "/get-started/smart-contracts/token-contract": 1 }], + "reduced": [{ "/get-started/smart-contracts/token-contract": 1 }], + "make": [ + { "/get-started/smart-contracts/token-contract": 1 }, + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/development/environment": 1 } ], - "there": [ - { "/development/cli": 7 }, + "much": [{ "/get-started/smart-contracts/token-contract": 1 }], + "kept": [{ "/get-started/smart-contracts/token-contract": 1 }], + "single": [ + { "/get-started/smart-contracts/nft-contract": 2 }, + { "/get-started/smart-contracts/token-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "acnt_1": [{ "/get-started/smart-contracts/token-contract": 7 }], + "got": [{ "/get-started/smart-contracts/token-contract": 2 }], + "respectively": [{ "/get-started/smart-contracts/token-contract": 2 }], + "bodies": [{ "/get-started/smart-contracts/token-contract": 2 }], + "au5nshe8ec2guo3jobd8jrgvnedqhbp8gtw": [{ "/get-started/smart-contracts/token-contract": 3 }], + "quite": [{ "/get-started/smart-contracts/token-contract": 1 }, { "/development/environment": 1 }], + "similar": [{ "/get-started/smart-contracts/token-contract": 1 }], + "named": [{ "/get-started/smart-contracts/token-contract": 1 }], + "behind": [{ "/development/environment": 2 }, { "/get-started/smart-contracts/token-contract": 1 }], + "scene": [{ "/get-started/smart-contracts/token-contract": 1 }], + "hold": [ + { "/get-started/smart-contracts/token-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "atomic": [ + { "/get-started/smart-contracts/v-atomic-swap": 10 }, + { "/get-started/smart-contracts/token-contract": 8 } + ], + "swap": [ + { "/get-started/smart-contracts/v-atomic-swap": 24 }, + { "/get-started/smart-contracts/token-contract": 8 }, + { "/get-started/smart-contracts/v-stable-swap": 3 } + ], + "your_token_id": [ + { "/get-started/smart-contracts/token-contract": 2 }, + { "/get-started/smart-contracts/lock-contract": 1 } + ], + "atomicswapcontract": [{ "/get-started/smart-contracts/token-contract": 2 }], + "token_id": [ + { "/get-started/smart-contracts/v-atomic-swap": 2 }, + { "/get-started/smart-contracts/token-contract": 1 } + ], + "atomic_swap_contract_id": [{ "/get-started/smart-contracts/token-contract": 6 }], + "cez2xc1p1qxtm11eq5yj42d55vorwajp386": [{ "/get-started/smart-contracts/token-contract": 3 }], + "gevejr5tbzs26wmk7lq5wz9q9kcmbyz6ibqi6afpyfc6": [{ "/get-started/smart-contracts/token-contract": 1 }], + "your_atomic_swap_contract_id": [{ "/get-started/smart-contracts/token-contract": 2 }], + "deducted": [{ "/get-started/smart-contracts/token-contract": 1 }], + "also": [ { "/development/environment": 4 }, - { "/development/frameworks-mobile/react-native": 4 }, - { "/community/faq": 4 }, - { "/development/frameworks-mobile/intro": 2 }, - { "/get-started/mobile": 1 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-web/angular": 1 } - ], - "ways": [{ "/get-started/mobile": 1 }, { "/development/cli": 1 }], - "doing": [ - { "/get-started/mobile": 1 }, - { "/development/frameworks-mobile/react-native": 1 }, - { "/community/faq": 1 } - ], - "material": [ - { "/development/frameworks-web/react": 16 }, - { "/development/frameworks-web/angular": 14 }, - { "/development/frameworks-mobile/react-native": 4 }, - { "/community/bugs": 4 }, - { "/development/frameworks-web/intro": 3 }, - { "/get-started/mobile": 2 }, - { "/development/frameworks-mobile/ionic": 2 }, - { "/community/faq": 1 } + { "/get-started/smart-contracts/token-contract": 2 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "bal_key": [{ "/get-started/smart-contracts/token-contract": 2 }], + "pv_helper": [{ "/get-started/smart-contracts/token-contract": 1 }], + "atomicswapcontracthelper": [ + { "/get-started/smart-contracts/token-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "token_balance_db_key_generator": [{ "/get-started/smart-contracts/token-contract": 1 }], + "refers": [{ "/get-started/smart-contracts/token-contract": 1 }], + "1gqnifox5mnu9ls3kkynpuxf1jj72ft5uhvwt": [{ "/get-started/smart-contracts/token-contract": 2 }], + "dbname": [{ "/get-started/smart-contracts/token-contract": 2 }], + "contractnuminfo": [{ "/get-started/smart-contracts/token-contract": 2 }], + "deposited": [ + { "/get-started/smart-contracts/v-atomic-swap": 3 }, + { "/get-started/smart-contracts/token-contract": 1 }, + { "/get-started/smart-contracts/nft-contract": 1 } + ], + "try": [{ "/get-started/smart-contracts/token-contract": 2 }], + "earlier": [ + { "/get-started/smart-contracts/token-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "dropped": [{ "/get-started/smart-contracts/token-contract": 1 }], + "credited": [{ "/get-started/smart-contracts/token-contract": 2 }], + "were": [{ "/get-started/smart-contracts/token-contract": 1 }], + "updating": [{ "/get-started/smart-contracts/token-contract": 1 }], + "new_unit": [{ "/get-started/smart-contracts/token-contract": 1 }], + "change": [ + { "/get-started/smart-contracts/v-atomic-swap": 2 }, + { "/get-started/smart-contracts/token-contract": 1 } + ], + "updated": [{ "/get-started/smart-contracts/token-contract": 1 }], + "finally": [{ "/get-started/smart-contracts/token-contract": 1 }], + "supercede": [{ "/get-started/smart-contracts/token-contract": 2 }], + "new_issuer": [{ "/get-started/smart-contracts/token-contract": 1 }], + "role": [{ "/get-started/smart-contracts/token-contract": 1 }], + "played": [{ "/get-started/smart-contracts/token-contract": 1 }], + "troubleshooting": [{ "/get-started/smart-contracts/token-contract": 1 }], + "didn": [{ "/get-started/smart-contracts/token-contract": 1 }], + "transaction": [ + { "/get-started/smart-contracts/v-atomic-swap": 6 }, + { "/get-started/smart-contracts/token-contract": 3 }, + { "/development/testing": 1 } ], - "note": [ - { "/development/frameworks-mobile/react-native": 3 }, - { "/development/frameworks-mobile/ionic": 2 }, - { "/get-started/mobile": 1 }, - { "/development/frameworks-web/react": 1 } - ], - "limited": [{ "/get-started/mobile": 1 }], - "planning": [{ "/get-started/mobile": 1 }], - "route": [{ "/get-started/mobile": 1 }], - "please": [ - { "/community/faq": 9 }, - { "/get-started/mobile": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/community/bugs": 1 } - ], - "contact": [{ "/community/faq": 6 }, { "/get-started/mobile": 1 }, { "/community/bugs": 1 }], - "us": [ - { "/community/faq": 11 }, - { "/community/bugs": 3 }, - { "/get-started/mobile": 1 }, - { "/development/frameworks-web/intro": 1 } + "broadcast": [ + { "/get-started/smart-contracts/token-contract": 1 }, + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "error": [{ "/get-started/smart-contracts/token-contract": 1 }], + "returned": [{ "/get-started/smart-contracts/token-contract": 1 }], + "execute_contract": [ + { "/get-started/smart-contracts/v-atomic-swap": 8 }, + { "/get-started/smart-contracts/token-contract": 1 }, + { "/get-started/smart-contracts/lock-contract": 1 } + ], + "wait": [{ "/get-started/smart-contracts/token-contract": 1 }], + "5s": [{ "/get-started/smart-contracts/token-contract": 1 }], + "fully": [{ "/get-started/smart-contracts/token-contract": 1 }], + "success": [{ "/get-started/smart-contracts/token-contract": 1 }], + "allow": [{ "/get-started/smart-contracts/lock-contract": 1 }], + "period": [{ "/get-started/smart-contracts/lock-contract": 2 }], + "guarantee": [{ "/get-started/smart-contracts/lock-contract": 1 }], + "certain": [{ "/get-started/smart-contracts/lock-contract": 1 }], + "funds": [ + { "/get-started/smart-contracts/v-atomic-swap": 7 }, + { "/get-started/smart-contracts/lock-contract": 3 } + ], + "expiration": [ + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "helpful": [{ "/get-started/smart-contracts/lock-contract": 1 }], + "implementing": [{ "/get-started/smart-contracts/lock-contract": 1 }], + "staking": [{ "/get-started/smart-contracts/lock-contract": 1 }], + "interactions": [{ "/get-started/smart-contracts/lock-contract": 1 }], + "store": [ + { "/get-started/smart-contracts/lock-contract": 2 }, + { "/get-started/smart-contracts/v-atomic-swap": 2 } + ], + "selected": [{ "/get-started/smart-contracts/lock-contract": 1 }, { "/development/environment": 1 }], + "anyone": [{ "/get-started/smart-contracts/lock-contract": 1 }], + "necessary": [ + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "open": [{ "/get-started/smart-contracts/lock-contract": 1 }], + "wrapper": [{ "/get-started/smart-contracts/lock-contract": 1 }], + "pyvsystems": [ + { "/get-started/smart-contracts/v-atomic-swap": 12 }, + { "/get-started/smart-contracts/lock-contract": 11 }, + { "/get-started/smart-contracts/nft-contract": 4 } + ], + "functionalities": [ + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "cloning": [ + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "terminal": [{ "/get-started/smart-contracts/lock-contract": 2 }], + "sh": [{ "/development/environment": 5 }, { "/get-started/smart-contracts/lock-contract": 2 }], + "https": [ + { "/development/environment": 2 }, + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } ], - "developer": [{ "/development/environment": 1 }], - "develop": [{ "/development/environment": 2 }, { "/community/faq": 2 }], - "tutorial": [ - { "/development/environment": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "setting": [ - { "/development/frameworks-mobile/ionic": 4 }, - { "/development/frameworks-mobile/react-native": 3 }, - { "/development/environment": 2 } + "then": [ + { "/get-started/smart-contracts/v-atomic-swap": 6 }, + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/get-started/smart-contracts/nft-contract": 1 } ], - "getting": [ - { "/development/environment": 3 }, - { "/development/frameworks-mobile/ionic": 2 }, - { "/community/faq": 2 }, - { "/development/cli": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/react-native": 1 } + "pip": [ + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } ], + "package": [ + { "/development/environment": 2 }, + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "pip3": [ + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "import": [ + { "/get-started/smart-contracts/v-atomic-swap": 6 }, + { "/get-started/smart-contracts/lock-contract": 4 }, + { "/get-started/smart-contracts/nft-contract": 4 } + ], + "workplace": [ + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "please": [{ "/get-started/smart-contracts/lock-contract": 2 }], + "sure": [{ "/development/environment": 2 }, { "/get-started/smart-contracts/lock-contract": 1 }], + "mainnet": [ + { "/get-started/smart-contracts/lock-contract": 3 }, + { "/get-started/smart-contracts/nft-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "instruction": [{ "/get-started/smart-contracts/lock-contract": 1 }], + "refer": [{ "/get-started/smart-contracts/lock-contract": 2 }], + "initialize": [ + { "/get-started/smart-contracts/lock-contract": 2 }, + { "/get-started/smart-contracts/nft-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "connection": [ + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/get-started/smart-contracts/nft-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "optional": [ + { "/get-started/smart-contracts/lock-contract": 2 }, + { "/get-started/smart-contracts/nft-contract": 1 } + ], + "contract_helper": [ + { "/get-started/smart-contracts/lock-contract": 2 }, + { "/get-started/smart-contracts/nft-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "custom_wrapper": [ + { "/get-started/smart-contracts/lock-contract": 3 }, + { "/get-started/smart-contracts/nft-contract": 3 }, + { "/get-started/smart-contracts/v-atomic-swap": 2 } + ], + "create_api_wrapper": [ + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/get-started/smart-contracts/nft-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "your_node_address": [ + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/get-started/smart-contracts/nft-contract": 1 } + ], + "api_key": [ + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/get-started/smart-contracts/nft-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "your_node_api_key": [ + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/get-started/smart-contracts/nft-contract": 1 } + ], + "chain_name": [ + { "/get-started/smart-contracts/lock-contract": 2 }, + { "/get-started/smart-contracts/nft-contract": 2 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "chain_id": [ + { "/get-started/smart-contracts/lock-contract": 2 }, + { "/get-started/smart-contracts/nft-contract": 2 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "m": [ + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/get-started/smart-contracts/nft-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "address_version": [ + { "/get-started/smart-contracts/lock-contract": 2 }, + { "/get-started/smart-contracts/nft-contract": 2 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "api_wrapper": [ + { "/get-started/smart-contracts/lock-contract": 2 }, + { "/get-started/smart-contracts/nft-contract": 2 }, + { "/get-started/smart-contracts/v-atomic-swap": 2 } + ], + "lock_contract_helper": [{ "/get-started/smart-contracts/lock-contract": 14 }], + "lockcontracthelper": [{ "/get-started/smart-contracts/lock-contract": 6 }], + "lock_contract_object": [{ "/get-started/smart-contracts/lock-contract": 2 }], + "contract_object": [ + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/get-started/smart-contracts/nft-contract": 1 } + ], + "register_lock_contract_data_stack": [{ "/get-started/smart-contracts/lock-contract": 2 }], + "register_data_stack_generator": [ + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/get-started/smart-contracts/nft-contract": 1 } + ], + "register_contract": [ + { "/get-started/smart-contracts/v-atomic-swap": 2 }, + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/get-started/smart-contracts/nft-contract": 1 } + ], + "inputs": [ + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/get-started/smart-contracts/nft-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "long": [{ "/get-started/smart-contracts/lock-contract": 1 }], + "until": [ + { "/get-started/smart-contracts/v-atomic-swap": 2 }, + { "/get-started/smart-contracts/lock-contract": 1 } + ], + "specified": [{ "/get-started/smart-contracts/lock-contract": 1 }], + "lock_contract_id": [{ "/get-started/smart-contracts/lock-contract": 10 }], + "your_lock_contract_id": [{ "/get-started/smart-contracts/lock-contract": 1 }], + "lock_function_id": [{ "/get-started/smart-contracts/lock-contract": 2 }], + "lock_function_index": [ + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "lock_data_stack": [{ "/get-started/smart-contracts/lock-contract": 2 }], + "lock_data_stack_generator": [ + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "your_timestamp": [{ "/get-started/smart-contracts/lock-contract": 1 }], + "querying": [{ "/get-started/smart-contracts/lock-contract": 1 }], + "order": [{ "/get-started/smart-contracts/lock-contract": 1 }], + "queried": [{ "/get-started/smart-contracts/lock-contract": 1 }], + "correct": [{ "/get-started/smart-contracts/lock-contract": 1 }], + "full": [{ "/get-started/smart-contracts/lock-contract": 1 }], + "helper": [{ "/get-started/smart-contracts/lock-contract": 1 }], + "contain": [{ "/get-started/smart-contracts/lock-contract": 1 }], + "corresponding": [{ "/get-started/smart-contracts/lock-contract": 1 }], + "keys": [{ "/get-started/smart-contracts/lock-contract": 1 }], + "each": [ + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/get-started/smart-contracts/nft-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "maker_db_key": [{ "/get-started/smart-contracts/lock-contract": 2 }], + "maker_db_key_generator": [{ "/get-started/smart-contracts/lock-contract": 1 }], + "contract_db_query": [ + { "/get-started/smart-contracts/lock-contract": 4 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "helps": [{ "/get-started/smart-contracts/lock-contract": 3 }], + "retrieve": [{ "/get-started/smart-contracts/lock-contract": 3 }], + "token_id_db_key": [{ "/get-started/smart-contracts/lock-contract": 2 }], + "token_id_db_key_generator": [{ "/get-started/smart-contracts/lock-contract": 1 }], + "contract_balance_db_key": [{ "/get-started/smart-contracts/lock-contract": 2 }], + "contract_balance_db_key_generator": [{ "/get-started/smart-contracts/lock-contract": 1 }], + "part": [{ "/get-started/smart-contracts/lock-contract": 1 }, { "/development/environment": 1 }], + "contract_lock_time_db_key": [{ "/get-started/smart-contracts/lock-contract": 2 }], + "contract_lock_time_db_key_generator": [{ "/get-started/smart-contracts/lock-contract": 1 }], + "non": [{ "/get-started/smart-contracts/nft-contract": 7 }], + "fungible": [{ "/get-started/smart-contracts/nft-contract": 7 }], + "nft": [{ "/get-started/smart-contracts/nft-contract": 1 }], + "method": [ + { "/get-started/smart-contracts/nft-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "cannot": [ + { "/get-started/smart-contracts/v-atomic-swap": 2 }, + { "/get-started/smart-contracts/nft-contract": 1 } + ], + "gives": [ + { "/get-started/smart-contracts/nft-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "neat": [{ "/get-started/smart-contracts/nft-contract": 1 }], + "proving": [{ "/get-started/smart-contracts/nft-contract": 1 }], + "ownership": [ + { "/get-started/smart-contracts/v-atomic-swap": 4 }, + { "/get-started/smart-contracts/nft-contract": 2 } + ], + "unique": [{ "/get-started/smart-contracts/nft-contract": 3 }], + "asset": [{ "/get-started/smart-contracts/nft-contract": 2 }], + "representing": [{ "/get-started/smart-contracts/nft-contract": 2 }], + "item": [{ "/get-started/smart-contracts/nft-contract": 1 }], + "game": [{ "/get-started/smart-contracts/nft-contract": 2 }], + "sent": [ + { "/get-started/smart-contracts/nft-contract": 2 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "trade": [{ "/get-started/smart-contracts/nft-contract": 1 }], + "implementation": [ + { "/get-started/smart-contracts/nft-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "controls": [{ "/get-started/smart-contracts/nft-contract": 1 }], + "withdrawn": [ + { "/get-started/smart-contracts/nft-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "takes": [{ "/get-started/smart-contracts/nft-contract": 1 }], + "form": [{ "/get-started/smart-contracts/nft-contract": 1 }], + "easily": [{ "/get-started/smart-contracts/nft-contract": 1 }, { "/development/environment": 1 }], + "confirmed": [{ "/get-started/smart-contracts/nft-contract": 1 }], + "noted": [{ "/get-started/smart-contracts/nft-contract": 1 }], + "token_id_from_contract_id": [ + { "/get-started/smart-contracts/nft-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 } + ], + "your_sender_seed": [{ "/get-started/smart-contracts/nft-contract": 1 }], + "bytestring": [{ "/get-started/smart-contracts/nft-contract": 1 }], + "vjodouhmnhvdwtkbz2ndgaht7nagne9epwozapzobhpua2ndl9d3sbhsorrk8befeme2bhrxpdcq5vnjcpdgmud54smwatyx74cpjyet6bcwmlcihe2jgw9u5tmatjdpfsjgkegh76gvjstk3valagvsjjmaakm9mnxytgjydr1zw7u9pxv7n9tqnssqz6ehmgdvd8atdqeg7bxxaotkageh4khqnk6ga117q5ajctjcbutd99iugpmjrc8vzx85texghry1psw7d6daeexfvvrephfhru6xfhegkv9vrbjbgl861u4qg6hwbwxbuitgtkobazsp7vofdtrzebq2nspzoxcazc8driaysanaqycjzf7jj8nfxtwej8l9vg8pvs65mremk8toadcyca2ugzg6pqkrmkqeuahrubis7zuo62ewwjbxud1fq1rgpk9bbmdk9fqqxxu3thsjpnkktq3ajhd9gnfpvyeaawigp5nfjgh5dovtqk1pgoxexrawqnpztjnvzwv6id85cozqfcwdjbaxprwvyw5fsrlw1xj4elrufremajcgyufwda3czyefpidewqvte5sa6j6xeuppryxkpkqtc6upesoagzz2ntfdryq22izc6d5p1i98ypc6dk1qckevaankhh8tffoqt717nrqey2alowra1ip2t5etdzjnvfmghxxeecagy3ncldfhmafcbzhhkejhp8h8hbimrtwe3wmwkx6mpx16ahnd3dmgcsxazfjqcy4j1hpucm7rhmulkixufyryqx85c7uplcijlrybe1mlrjez5seytaznuizbwq1kucnipzrxta9rpvt2j4wymadxpf5r9yeaajjp42pic6sgfyjhjrqn4k3pohdqrbbg4hq95nawcy7cawbpxrch9ndmmq2cmtfb3kfw2m": [ + { "/get-started/smart-contracts/nft-contract": 1 } + ], + "on_fungible_contract_helper": [{ "/get-started/smart-contracts/nft-contract": 1 }], + "nonfungiblecontracthelper": [{ "/get-started/smart-contracts/nft-contract": 1 }], + "non_fungible_contract_object": [{ "/get-started/smart-contracts/nft-contract": 2 }], + "non_fungible_contract_helper": [{ "/get-started/smart-contracts/nft-contract": 2 }], + "register_non_fungible_data_stack": [{ "/get-started/smart-contracts/nft-contract": 2 }], + "swapping": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "requires": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "trusted": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "custody": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "untrusted": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "problem": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "whoever": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "gets": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "simply": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "abandon": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "deal": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "off": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "solves": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "properties": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "deterministic": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "reversed": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "determined": [{ "/get-started/smart-contracts/v-atomic-swap": 3 }], + "understand": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "following": [{ "/development/environment": 2 }, { "/get-started/smart-contracts/v-atomic-swap": 1 }], + "alice": [{ "/get-started/smart-contracts/v-atomic-swap": 9 }], + "bob": [{ "/get-started/smart-contracts/v-atomic-swap": 6 }], + "wants": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "exchange": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "btc": [{ "/get-started/smart-contracts/v-atomic-swap": 5 }], + "eth": [{ "/get-started/smart-contracts/v-atomic-swap": 5 }], + "safety": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "reasons": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "secret": [{ "/get-started/smart-contracts/v-atomic-swap": 18 }], + "since": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "infeasible": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "reverse": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "creates": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "situations": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "broadcasts": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "b": [{ "/get-started/smart-contracts/v-atomic-swap": 6 }], + "nothing": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "return": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "broadcasted": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "remember": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "must": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "than": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "otherwise": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "receive": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "separate": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "required": [{ "/get-started/smart-contracts/v-atomic-swap": 7 }, { "/development/environment": 2 }], + "fairly": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "simplistic": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "together": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "unlock": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "solvepuzzle": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "matches": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "puzzle": [{ "/get-started/smart-contracts/v-atomic-swap": 3 }], + "locked": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "however": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }, { "/development/environment": 1 }], + "stay": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "won": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "withdraws": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "wrappers": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "host": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "seeds": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "data_entry_from_base58_str": [{ "/get-started/smart-contracts/v-atomic-swap": 4 }], + "crypto": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "sha256": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "sender1": [{ "/get-started/smart-contracts/v-atomic-swap": 13 }], + "nonce": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "sender2": [{ "/get-started/smart-contracts/v-atomic-swap": 14 }], + "coin": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "registered": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "ids": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "stores": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "respective": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "token1": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "token2": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "atomic_swap_helper": [{ "/get-started/smart-contracts/v-atomic-swap": 6 }], + "system_helper": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "systemcontracthelper": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "swap_contract": [{ "/get-started/smart-contracts/v-atomic-swap": 3 }], + "contract_atomic_swap": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "token1_id_data_entry": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "dataentry": [{ "/get-started/smart-contracts/v-atomic-swap": 8 }], + "token1_id": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "init_swap1_data_stack": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "register_swap1_response": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "token2_id_data_entry": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "token2_id": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "init_swap2_data_stack": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "register_swap2_response": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "therefore": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "swapped": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "deposit1_data_stack": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "token_without_split_helper": [{ "/get-started/smart-contracts/v-atomic-swap": 8 }], + "deposit_data_stack_generator": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "swap1_contract_id": [{ "/get-started/smart-contracts/v-atomic-swap": 5 }], + "deposit_amount": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "deposit2_data_stack": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "swap2_contract_id": [{ "/get-started/smart-contracts/v-atomic-swap": 4 }], + "token1_contract_id": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "deposit_function_index": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "token2_contract_id": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "locks": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "observe": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "resulting": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "unlocked": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "revealed": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "abc": [{ "/get-started/smart-contracts/v-atomic-swap": 4 }], + "timestamp1": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "contacts": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "depositing": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "ensuring": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "second": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "lower": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "decide": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "encode": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "encoded_secret_hash_string": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "bytes2str": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "b58encode": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "lock1_data_stack": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "lock_amount": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "tx": [{ "/get-started/smart-contracts/v-atomic-swap": 3 }], + "lock1_id": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "tx_id_of_lock": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "decoding": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "lock1_function_data": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "swap_puzzle_db_key_generator": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "tx_data_encoded_secret_hash_string": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "swap2_amount_data_entry": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "amount_for_swap2": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "swap2_recipient_data_entry": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "swap2_puzzle_data_entry": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "short_bytes_string": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "swap2_timestamp_data_entry": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "timestamp2": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "swap2_lock_data_stack": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "lock2_response": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "lock2_tx_id": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "solve": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "puzzles": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "solving": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "complete": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "once": [{ "/get-started/smart-contracts/v-atomic-swap": 3 }, { "/development/environment": 1 }], + "solved": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "entire": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "functiondata": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "decode": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "lock1": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "swap1_lock_txid_data_entry": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "swap1_lock_key_data_entry": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "short_bytes": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "swap1_solve_data_stack": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "swap1_lock_tx_id_data_entry": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "solve1_response": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "look": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "solution": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "looking": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "solve1_function_data": [{ "/get-started/smart-contracts/v-atomic-swap": 3 }], + "request": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "solve_key": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "b58decode": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "encoded": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "bytes": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "always": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "entries": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "parse": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "final": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "revealed_secret": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "solve_puzzle2_data_stack": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "solve_puzzle_data_stack_generator": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "lock1_tx_id": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "solve_puzzle_function_index": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "changed": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "remain": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "senders": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "transferring": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "withdraw1_data_stack": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "withdraw_data_stack_generator": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "withdraw2_data_stack": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "withdraw_function_index": [{ "/get-started/smart-contracts/v-atomic-swap": 2 }], + "stable": [{ "/get-started/smart-contracts/v-stable-swap": 3 }], + "coming": [ + { "/get-started/smart-contracts/v-stable-swap": 1 }, + { "/get-started/smart-contracts/v-option": 1 }, + { "/get-started/smart-contracts/v-escrow": 1 } + ], + "option": [{ "/get-started/smart-contracts/v-option": 3 }, { "/get-started/smart-contracts/v-escrow": 1 }], + "escrow": [{ "/get-started/smart-contracts/v-escrow": 2 }], + "developer": [{ "/development/environment": 1 }], + "develop": [{ "/development/environment": 2 }], + "setting": [{ "/development/environment": 2 }], "frustrating": [{ "/development/environment": 1 }], - "part": [{ "/development/environment": 1 }, { "/community/bugs": 1 }, { "/community/faq": 1 }], "fortunately": [{ "/development/environment": 1 }], - "modern": [{ "/development/cli": 2 }, { "/development/environment": 1 }], - "frameworks": [ - { "/development/cli": 6 }, - { "/development/frameworks-web/intro": 4 }, - { "/community/faq": 4 }, - { "/development/environment": 2 }, - { "/development/frameworks-mobile/intro": 2 } - ], - "made": [{ "/development/environment": 1 }, { "/development/cli": 1 }, { "/community/faq": 1 }], - "great": [{ "/development/environment": 1 }, { "/community/faq": 1 }], + "many": [{ "/development/environment": 1 }], + "modern": [{ "/development/environment": 1 }], + "javascript": [{ "/development/environment": 2 }], + "frameworks": [{ "/development/environment": 2 }], + "made": [{ "/development/environment": 1 }], "strides": [{ "/development/environment": 1 }], "providing": [{ "/development/environment": 1 }], - "quickly": [{ "/development/environment": 1 }, { "/development/cli": 1 }], - "below": [ - { "/community/faq": 2 }, - { "/development/environment": 1 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 }, - { "/community/bugs": 1 } - ], - "walk": [ - { "/development/environment": 1 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/community/faq": 1 } - ], - "through": [ - { "/development/cli": 2 }, - { "/development/frameworks-mobile/intro": 2 }, - { "/community/faq": 2 }, - { "/development/environment": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "basics": [{ "/development/environment": 2 }, { "/community/faq": 1 }], - "system": [{ "/development/cli": 3 }, { "/development/environment": 2 }, { "/community/bugs": 2 }], + "running": [{ "/development/environment": 2 }], + "walk": [{ "/development/environment": 1 }], + "basics": [{ "/development/environment": 2 }], + "system": [{ "/development/environment": 2 }], "integrated": [{ "/development/environment": 1 }], - "ide": [{ "/development/environment": 1 }, { "/development/frameworks-mobile/react-native": 1 }], - "bunch": [{ "/development/environment": 1 }], + "ide": [{ "/development/environment": 1 }], "ides": [{ "/development/environment": 1 }], + "market": [{ "/development/environment": 1 }], "comfortable": [{ "/development/environment": 1 }], - "don": [{ "/development/environment": 2 }, { "/development/frameworks-web/intro": 1 }, { "/community/faq": 1 }], + "personal": [{ "/development/environment": 1 }], "preference": [{ "/development/environment": 1 }], - "recommend": [ - { "/development/frameworks-mobile/react-native": 3 }, - { "/community/faq": 2 }, - { "/development/environment": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/ionic": 1 } - ], + "recommend": [{ "/development/environment": 1 }], "trying": [{ "/development/environment": 1 }], - "visual": [ - { "/development/frameworks-mobile/intro": 3 }, - { "/development/environment": 1 }, - { "/development/cli": 1 } - ], - "studio": [ - { "/development/frameworks-mobile/intro": 3 }, - { "/development/environment": 2 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "quite": [{ "/development/environment": 1 }, { "/development/frameworks-web/intro": 1 }], + "visual": [{ "/development/environment": 1 }], + "studio": [{ "/development/environment": 2 }], "excellent": [{ "/development/environment": 1 }], - "comes": [ - { "/development/cli": 2 }, - { "/development/environment": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], + "comes": [{ "/development/environment": 1 }], "variety": [{ "/development/environment": 2 }], - "experience": [ - { "/development/frameworks-web/intro": 2 }, - { "/development/environment": 1 }, - { "/community/bugs": 1 } - ], + "experience": [{ "/development/environment": 1 }], "seamless": [{ "/development/environment": 1 }], - "free": [ - { "/development/environment": 1 }, - { "/development/frameworks-web/intro": 1 }, - { "/community/faq": 1 } - ], - "git": [{ "/development/environment": 9 }], + "free": [{ "/development/environment": 1 }], "chances": [{ "/development/environment": 1 }], - "probably": [{ "/development/environment": 1 }, { "/development/frameworks-web/intro": 1 }], - "keep": [{ "/development/environment": 1 }, { "/development/cli": 1 }, { "/community/faq": 1 }], - "source": [ - { "/development/cli": 3 }, - { "/development/frameworks-web/intro": 2 }, - { "/development/frameworks-mobile/react-native": 2 }, - { "/development/environment": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/community/bugs": 1 }, - { "/community/faq": 1 } - ], - "control": [ - { "/development/environment": 1 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], + "probably": [{ "/development/environment": 1 }], + "keep": [{ "/development/environment": 1 }], + "control": [{ "/development/environment": 1 }], "big": [{ "/development/environment": 1 }], + "players": [{ "/development/environment": 1 }], "space": [{ "/development/environment": 1 }], "backbone": [{ "/development/environment": 1 }], "bitbucket": [{ "/development/environment": 1 }], - "already": [ - { "/development/frameworks-mobile/react-native": 3 }, - { "/development/frameworks-web/angular": 2 }, - { "/development/frameworks-web/react": 2 }, - { "/development/environment": 1 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/development/frameworks-mobile/ionic": 1 } - ], - "installed": [{ "/development/environment": 3 }, { "/development/frameworks-mobile/ionic": 1 }], - "sh": [ - { "/development/frameworks-mobile/ionic": 6 }, - { "/development/frameworks-mobile/react-native": 6 }, - { "/development/environment": 5 }, - { "/development/frameworks-web/angular": 4 }, - { "/development/frameworks-web/react": 4 }, - { "/development/cli": 2 } - ], - "version": [ - { "/development/environment": 1 }, - { "/development/cli": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 }, - { "/community/bugs": 1 } - ], - "command": [ - { "/development/environment": 2 }, - { "/development/frameworks-mobile/react-native": 2 }, - { "/development/cli": 1 } - ], - "prompt": [{ "/development/frameworks-mobile/react-native": 3 }, { "/development/environment": 2 }], - "download": [ - { "/development/environment": 1 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/community/faq": 1 } - ], - "behind": [{ "/development/environment": 2 }, { "/development/frameworks-mobile/ionic": 1 }], + "command": [{ "/development/environment": 2 }], + "prompt": [{ "/development/environment": 2 }], "proxy": [{ "/development/environment": 15 }], - "ll": [ - { "/development/frameworks-mobile/react-native": 4 }, - { "/development/frameworks-web/react": 3 }, - { "/development/frameworks-mobile/ionic": 2 }, - { "/development/environment": 1 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-web/angular": 1 } - ], "proxies": [{ "/development/environment": 1 }], - "well": [ - { "/community/faq": 4 }, - { "/development/frameworks-web/angular": 3 }, - { "/development/cli": 2 }, - { "/development/frameworks-web/react": 2 }, - { "/development/environment": 1 } - ], - "config": [ - { "/development/environment": 4 }, - { "/development/frameworks-web/angular": 2 }, - { "/development/frameworks-web/react": 2 }, - { "/development/frameworks-mobile/ionic": 2 }, - { "/development/frameworks-mobile/react-native": 2 } - ], - "global": [{ "/development/environment": 3 }, { "/development/frameworks-mobile/ionic": 2 }], - "http": [{ "/development/environment": 5 }], + "well": [{ "/development/environment": 1 }], + "config": [{ "/development/environment": 4 }], + "global": [{ "/development/environment": 3 }], "url": [{ "/development/environment": 4 }], "port": [{ "/development/environment": 4 }], - "https": [{ "/development/environment": 2 }], - "addresses": [{ "/development/environment": 2 }], "vary": [{ "/development/environment": 3 }], + "depending": [{ "/development/environment": 3 }], "location": [{ "/development/environment": 3 }], "consult": [{ "/development/environment": 2 }], - "local": [{ "/development/environment": 2 }], "department": [{ "/development/environment": 2 }], - "re": [ - { "/community/faq": 4 }, - { "/development/environment": 3 }, - { "/development/frameworks-mobile/intro": 2 }, - { "/development/frameworks-web/intro": 1 } - ], - "sure": [ - { "/development/environment": 2 }, - { "/development/frameworks-mobile/react-native": 2 }, - { "/development/cli": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/ionic": 1 } - ], - "node": [{ "/development/environment": 2 }, { "/development/cli": 1 }], - "via": [ - { "/development/environment": 1 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "package": [ - { "/development/frameworks-web/react": 4 }, - { "/development/frameworks-web/angular": 3 }, - { "/development/frameworks-mobile/react-native": 3 }, - { "/development/environment": 2 }, - { "/community/faq": 1 } - ], + "re": [{ "/development/environment": 3 }], + "brightlayer": [{ "/development/environment": 1 }], + "ui": [{ "/development/environment": 1 }], "manager": [{ "/development/environment": 2 }], - "npm": [ - { "/development/frameworks-mobile/react-native": 7 }, - { "/development/environment": 3 }, - { "/development/frameworks-web/angular": 3 }, - { "/development/frameworks-web/react": 3 }, - { "/development/frameworks-mobile/ionic": 2 }, - { "/development/cli": 1 }, - { "/community/bugs": 1 } - ], - "install": [ - { "/development/frameworks-mobile/react-native": 8 }, - { "/development/frameworks-web/react": 6 }, - { "/development/frameworks-web/angular": 5 }, - { "/development/environment": 4 }, - { "/development/frameworks-mobile/ionic": 3 }, - { "/development/frameworks-mobile/intro": 1 } - ], - "third": [{ "/development/frameworks-mobile/react-native": 2 }, { "/development/environment": 1 }], - "party": [{ "/development/environment": 1 }, { "/development/frameworks-mobile/react-native": 1 }], - "packages": [ - { "/development/environment": 3 }, - { "/development/frameworks-web/angular": 3 }, - { "/development/frameworks-web/react": 3 }, - { "/development/frameworks-mobile/ionic": 3 }, - { "/development/frameworks-mobile/react-native": 3 }, - { "/community/bugs": 1 } - ], - "other": [ - { "/community/faq": 11 }, - { "/development/environment": 2 }, - { "/development/cli": 2 }, - { "/development/frameworks-mobile/react-native": 2 }, - { "/community/bugs": 1 } - ], - "dependencies": [ - { "/development/frameworks-mobile/ionic": 2 }, - { "/development/environment": 1 }, - { "/development/cli": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], + "npm": [{ "/development/environment": 3 }], + "packages": [{ "/development/environment": 3 }], "nodejs": [{ "/development/environment": 1 }], - "yarn": [ - { "/development/environment": 12 }, - { "/development/frameworks-mobile/react-native": 6 }, - { "/development/frameworks-web/angular": 3 }, - { "/development/frameworks-web/react": 3 }, - { "/development/frameworks-mobile/ionic": 2 }, - { "/development/cli": 1 } - ], - "projects": [ - { "/community/faq": 8 }, - { "/development/frameworks-mobile/react-native": 6 }, - { "/development/frameworks-web/react": 5 }, - { "/development/frameworks-web/angular": 3 }, - { "/development/environment": 2 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/community/bugs": 1 } - ], - "example": [ - { "/development/environment": 1 }, - { "/development/cli": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "instead": [{ "/development/environment": 1 }, { "/development/frameworks-mobile/react-native": 1 }], - "instructions": [ - { "/development/frameworks-mobile/ionic": 7 }, - { "/development/frameworks-mobile/react-native": 7 }, - { "/development/frameworks-web/angular": 4 }, - { "/development/frameworks-web/react": 4 }, - { "/community/faq": 2 }, - { "/development/environment": 1 } - ], - "installing": [ - { "/development/environment": 2 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/ionic": 1 } - ], - "various": [ - { "/development/environment": 1 }, - { "/development/cli": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/intro": 1 } - ], - "found": [ - { "/development/frameworks-mobile/ionic": 2 }, - { "/development/frameworks-mobile/react-native": 2 }, - { "/development/environment": 1 }, - { "/development/frameworks-web/angular": 1 } - ], - "configure": [ - { "/development/environment": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "settings": [{ "/development/environment": 1 }, { "/development/frameworks-mobile/react-native": 1 }], - "sufficient": [{ "/development/environment": 1 }], + "yarn": [{ "/development/environment": 12 }], + "projects": [{ "/development/environment": 2 }], + "prefer": [{ "/development/environment": 1 }], + "instructions": [{ "/development/environment": 1 }], + "installing": [{ "/development/environment": 2 }], + "various": [{ "/development/environment": 1 }], + "operating": [{ "/development/environment": 2 }], + "configure": [{ "/development/environment": 1 }], + "settings": [{ "/development/environment": 1 }], "http_proxy": [{ "/development/environment": 1 }], "https_proxy": [{ "/development/environment": 1 }], "variables": [{ "/development/environment": 1 }], - "however": [ - { "/community/faq": 2 }, - { "/development/environment": 1 }, - { "/development/cli": 1 }, - { "/development/frameworks-mobile/intro": 1 } - ], "explicitly": [{ "/development/environment": 1 }], - "values": [{ "/development/environment": 1 }, { "/development/cli": 1 }], - "once": [ - { "/development/frameworks-mobile/ionic": 2 }, - { "/development/environment": 1 }, - { "/development/cli": 1 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "configured": [ - { "/development/cli": 2 }, - { "/development/environment": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "add": [ - { "/development/frameworks-mobile/ionic": 7 }, - { "/development/frameworks-web/react": 5 }, - { "/development/frameworks-mobile/react-native": 4 }, - { "/development/frameworks-web/angular": 3 }, - { "/community/faq": 2 }, - { "/development/environment": 1 } - ], + "values": [{ "/development/environment": 1 }], + "configured": [{ "/development/environment": 1 }], + "add": [{ "/development/environment": 1 }], "globally": [{ "/development/environment": 1 }], - "ensure": [{ "/development/environment": 1 }, { "/community/faq": 1 }], - "path": [{ "/development/environment": 1 }, { "/development/frameworks-mobile/ionic": 1 }], - "variable": [ - { "/development/environment": 1 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-mobile/ionic": 1 } - ], - "pointing": [{ "/development/environment": 1 }, { "/development/frameworks-mobile/ionic": 1 }], - "directory": [{ "/development/environment": 1 }, { "/development/frameworks-mobile/ionic": 1 }], - "based": [{ "/development/cli": 3 }, { "/development/environment": 1 }, { "/community/faq": 1 }], - "additional": [ - { "/development/frameworks-mobile/ionic": 5 }, - { "/development/cli": 2 }, - { "/development/environment": 1 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/development/frameworks-mobile/react-native": 1 }, - { "/community/faq": 1 } - ], - "steps": [ - { "/development/environment": 2 }, - { "/development/frameworks-web/angular": 2 }, - { "/development/frameworks-web/react": 2 }, - { "/development/frameworks-mobile/react-native": 2 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/community/bugs": 1 }, - { "/community/faq": 1 } - ], + "entry": [{ "/development/environment": 1 }], + "pointing": [{ "/development/environment": 1 }], + "based": [{ "/development/environment": 1 }], + "hybrid": [{ "/development/environment": 1 }], + "additional": [{ "/development/environment": 1 }], + "steps": [{ "/development/environment": 2 }], "prepare": [{ "/development/environment": 1 }], - "following": [ - { "/development/frameworks-mobile/react-native": 6 }, - { "/development/environment": 2 }, - { "/development/cli": 2 }, - { "/development/frameworks-web/angular": 2 }, - { "/development/frameworks-web/react": 2 }, - { "/development/frameworks-mobile/ionic": 2 }, - { "/development/frameworks-web/intro": 1 }, - { "/community/bugs": 1 } - ], - "selected": [ - { "/development/environment": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 }, - { "/community/faq": 1 } - ], - "specific": [ - { "/development/cli": 2 }, - { "/development/frameworks-mobile/ionic": 2 }, - { "/development/environment": 1 }, - { "/community/faq": 1 } - ], - "setup": [{ "/development/environment": 1 }, { "/development/frameworks-mobile/react-native": 1 }], - "detailed": [ - { "/development/frameworks-web/angular": 2 }, - { "/development/frameworks-web/react": 2 }, - { "/development/frameworks-mobile/react-native": 2 }, - { "/development/environment": 1 }, - { "/development/cli": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/community/bugs": 1 } - ], - "prerequisites": [{ "/development/environment": 1 }], - "hardware": [{ "/development/frameworks-mobile/intro": 2 }, { "/development/environment": 1 }], + "setup": [{ "/development/environment": 1 }], + "detailed": [{ "/development/environment": 1 }], + "hardware": [{ "/development/environment": 1 }], "resource": [{ "/development/environment": 1 }], "intensive": [{ "/development/environment": 1 }], - "machine": [{ "/development/environment": 2 }, { "/community/bugs": 1 }], "task": [{ "/development/environment": 1 }], "match": [{ "/development/environment": 1 }], "minimum": [{ "/development/environment": 1 }], - "mac": [ - { "/development/environment": 2 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], + "mac": [{ "/development/environment": 2 }], "plan": [{ "/development/environment": 1 }], - "testing": [ - { "/development/cli": 23 }, - { "/development/testing": 2 }, - { "/development/environment": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "locally": [{ "/development/environment": 1 }], + "ios": [{ "/development/environment": 2 }], "16gb": [{ "/development/environment": 1 }], "ram": [{ "/development/environment": 1 }], "emulators": [{ "/development/environment": 1 }], - "easily": [{ "/development/environment": 1 }], "push": [{ "/development/environment": 1 }], + "over": [{ "/development/environment": 1 }], "20gb": [{ "/development/environment": 1 }], "solid": [{ "/development/environment": 1 }], - "state": [{ "/development/environment": 1 }, { "/development/cli": 1 }], "hard": [{ "/development/environment": 1 }], - "drive": [{ "/development/environment": 1 }, { "/community/faq": 1 }], + "drive": [{ "/development/environment": 1 }], "ssd": [{ "/development/environment": 1 }], "gen": [{ "/development/environment": 1 }], - "core": [{ "/development/frameworks-web/react": 3 }, { "/development/environment": 1 }], + "core": [{ "/development/environment": 1 }], "i7": [{ "/development/environment": 1 }], "virtualization": [{ "/development/environment": 1 }], - "better": [ - { "/community/bugs": 2 }, - { "/development/environment": 1 }, - { "/development/frameworks-mobile/intro": 1 } - ], - "software": [{ "/development/environment": 2 }, { "/development/cli": 1 }], - "few": [{ "/development/environment": 1 }, { "/development/frameworks-mobile/react-native": 1 }], - "required": [{ "/development/environment": 2 }, { "/development/frameworks-mobile/ionic": 1 }], - "xcode": [ - { "/development/environment": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "only": [ - { "/development/frameworks-mobile/react-native": 3 }, - { "/community/faq": 2 }, - { "/development/environment": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/development/frameworks-mobile/ionic": 1 } - ], - "cli": [ - { "/development/frameworks-mobile/react-native": 21 }, - { "/development/frameworks-web/angular": 10 }, - { "/development/frameworks-mobile/ionic": 10 }, - { "/development/frameworks-web/react": 8 }, - { "/development/cli": 5 }, - { "/development/frameworks-web/intro": 1 }, - { "/community/bugs": 1 }, - { "/community/faq": 1 } - ], - "line": [{ "/development/frameworks-mobile/react-native": 2 }, { "/development/cli": 1 }], - "interface": [{ "/development/cli": 1 }, { "/development/frameworks-mobile/react-native": 1 }], - "critical": [{ "/development/cli": 1 }], - "component": [ - { "/development/frameworks-mobile/react-native": 9 }, - { "/development/frameworks-web/react": 5 }, - { "/development/frameworks-web/angular": 4 }, - { "/development/cli": 3 }, - { "/development/frameworks-mobile/ionic": 2 }, - { "/development/frameworks-web/intro": 1 }, - { "/community/faq": 1 } - ], - "successfully": [{ "/development/cli": 1 }], - "releasing": [{ "/development/cli": 1 }], - "despite": [{ "/development/cli": 1 }], - "value": [{ "/development/cli": 2 }, { "/development/frameworks-mobile/react-native": 1 }], - "importance": [{ "/development/cli": 1 }], - "common": [ - { "/development/cli": 4 }, - { "/development/frameworks-mobile/react-native": 1 }, - { "/community/faq": 1 } - ], - "teams": [{ "/community/faq": 5 }, { "/development/cli": 3 }], - "overlook": [{ "/development/cli": 1 }], - "neglect": [{ "/development/cli": 1 }], - "considered": [{ "/development/cli": 1 }], - "beginning": [{ "/development/cli": 1 }], - "afterthought": [{ "/development/cli": 1 }], - "complete": [{ "/development/cli": 1 }, { "/development/frameworks-mobile/ionic": 1 }], - "every": [{ "/community/faq": 2 }, { "/development/cli": 1 }], - "write": [ - { "/development/cli": 10 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/development/frameworks-mobile/ionic": 1 } - ], - "piece": [{ "/development/cli": 1 }], - "update": [{ "/development/frameworks-mobile/react-native": 2 }, { "/development/cli": 1 }], - "test": [ - { "/development/cli": 36 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/development/frameworks-mobile/react-native": 1 }, - { "/development/testing": 1 } - ], - "verifies": [{ "/development/cli": 1 }], - "correct": [{ "/development/cli": 3 }], - "tests": [{ "/development/cli": 46 }], - "each": [ - { "/development/cli": 3 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-mobile/react-native": 1 }, - { "/community/faq": 1 } - ], - "own": [ - { "/community/faq": 4 }, - { "/development/cli": 3 }, - { "/development/frameworks-mobile/react-native": 2 }, - { "/development/frameworks-web/intro": 1 } - ], - "purpose": [{ "/development/cli": 1 }], - "unit": [{ "/development/cli": 13 }, { "/development/testing": 1 }], - "verify": [{ "/development/cli": 8 }], - "individual": [{ "/development/cli": 1 }], - "methods": [{ "/development/cli": 4 }], - "functions": [{ "/development/cli": 2 }], - "integration": [ - { "/development/frameworks-mobile/ionic": 3 }, - { "/development/frameworks-web/angular": 2 }, - { "/development/frameworks-web/react": 2 }, - { "/development/frameworks-mobile/react-native": 2 }, - { "/development/cli": 1 }, - { "/development/testing": 1 } - ], - "modules": [{ "/development/cli": 1 }], - "services": [{ "/development/cli": 1 }], - "together": [{ "/development/cli": 2 }], - "functional": [{ "/development/cli": 3 }], - "output": [{ "/development/cli": 3 }], - "certain": [{ "/development/cli": 1 }, { "/development/frameworks-mobile/react-native": 1 }], - "actions": [{ "/development/cli": 1 }], - "business": [{ "/development/cli": 2 }, { "/community/faq": 1 }], - "end": [ - { "/development/cli": 12 }, - { "/development/frameworks-web/intro": 2 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/community/faq": 1 } - ], - "e2e": [{ "/development/cli": 6 }, { "/development/testing": 1 }], - "behaviors": [{ "/development/cli": 1 }], - "workflows": [{ "/development/cli": 1 }], - "function": [{ "/development/cli": 3 }], - "expected": [{ "/development/cli": 2 }], - "acceptance": [{ "/development/cli": 2 }], - "entire": [{ "/development/cli": 1 }, { "/development/frameworks-web/intro": 1 }], - "meets": [{ "/development/cli": 1 }], - "performance": [{ "/development/cli": 1 }, { "/development/frameworks-mobile/intro": 1 }], - "behaves": [{ "/development/cli": 1 }], - "correctly": [{ "/development/cli": 1 }], - "under": [ - { "/development/frameworks-web/angular": 3 }, - { "/development/cli": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 }, - { "/community/faq": 1 } - ], - "heavy": [{ "/development/cli": 1 }], - "load": [{ "/development/cli": 1 }, { "/development/frameworks-mobile/react-native": 1 }], - "smoke": [{ "/development/cli": 1 }], - "basic": [{ "/development/cli": 1 }], - "checks": [{ "/development/cli": 1 }], - "major": [{ "/development/cli": 1 }], - "document": [{ "/development/cli": 1 }], - "focuses": [{ "/development/cli": 1 }], - "mainly": [{ "/development/cli": 1 }], - "easiest": [{ "/development/cli": 1 }], - "automate": [{ "/development/cli": 3 }], - "smallest": [{ "/development/cli": 1 }], - "pieces": [{ "/development/cli": 2 }, { "/community/faq": 1 }], - "such": [{ "/development/cli": 4 }, { "/community/faq": 1 }], - "verifying": [{ "/development/cli": 1 }], - "inputs": [{ "/development/cli": 2 }], - "outputs": [{ "/development/cli": 2 }], - "class": [{ "/development/cli": 3 }, { "/development/frameworks-web/angular": 2 }], - "method": [{ "/development/cli": 1 }], - "bulk": [{ "/development/cli": 1 }], - "because": [{ "/development/cli": 5 }, { "/development/frameworks-mobile/react-native": 1 }], - "easy": [{ "/development/cli": 2 }], - "help": [ - { "/development/cli": 3 }, - { "/community/faq": 2 }, - { "/development/frameworks-mobile/react-native": 1 }, - { "/community/bugs": 1 } - ], - "achieve": [{ "/development/cli": 2 }], - "significant": [{ "/development/cli": 1 }, { "/development/frameworks-mobile/intro": 1 }], - "coverage": [{ "/development/cli": 7 }], - "measures": [{ "/development/cli": 1 }], - "percentage": [{ "/development/cli": 1 }], - "verified": [{ "/development/cli": 1 }], - "shouldn": [{ "/development/cli": 1 }], - "external": [{ "/development/cli": 1 }], - "apis": [{ "/development/cli": 1 }], - "keeping": [{ "/development/cli": 1 }], - "isolated": [{ "/development/cli": 1 }], - "manner": [{ "/development/cli": 1 }], - "cause": [{ "/development/cli": 1 }, { "/development/frameworks-mobile/react-native": 1 }], - "failing": [{ "/development/cli": 1 }], - "implement": [{ "/development/cli": 1 }], - "fix": [{ "/development/cli": 1 }], - "combining": [{ "/development/cli": 2 }], - "move": [{ "/development/cli": 1 }], - "realm": [{ "/development/cli": 1 }], - "_integration": [{ "/development/cli": 1 }], - "testing_": [{ "/development/cli": 1 }], - "long": [{ "/development/cli": 3 }], - "achieving": [{ "/development/cli": 1 }], - "acceptable": [{ "/development/cli": 1 }], - "levels": [{ "/development/cli": 1 }], - "_when_": [{ "/development/cli": 1 }], - "important": [{ "/development/cli": 2 }], - "elect": [{ "/development/cli": 1 }], - "driven": [{ "/development/cli": 2 }], - "tdd": [{ "/development/cli": 2 }, { "/development/testing": 1 }], - "methodology": [{ "/development/cli": 1 }], - "written": [ - { "/development/cli": 4 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "prior": [{ "/development/cli": 2 }], - "situation": [{ "/development/cli": 1 }], - "actually": [{ "/development/cli": 2 }], - "define": [{ "/development/cli": 1 }, { "/development/frameworks-mobile/react-native": 1 }], - "desired": [{ "/development/cli": 2 }], - "implementation": [{ "/development/cli": 5 }, { "/development/frameworks-mobile/react-native": 2 }], - "satisfy": [{ "/development/cli": 1 }], - "behavior": [{ "/development/cli": 3 }], - "bdd": [{ "/development/cli": 1 }, { "/development/testing": 1 }], - "similar": [{ "/development/cli": 1 }], - "focus": [{ "/development/cli": 2 }], - "less": [{ "/development/cli": 2 }], - "actual": [{ "/development/cli": 1 }], - "usually": [{ "/development/cli": 2 }], - "plain": [{ "/development/cli": 1 }], - "language": [{ "/development/cli": 1 }], - "rather": [{ "/development/cli": 2 }, { "/development/frameworks-mobile/react-native": 1 }], - "thing": [{ "/development/cli": 1 }], - "mind": [{ "/development/cli": 1 }, { "/community/faq": 1 }], - "confidence": [{ "/development/cli": 1 }], - "working": [{ "/community/faq": 2 }, { "/development/cli": 1 }], - "issues": [ - { "/community/bugs": 2 }, - { "/development/cli": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "scenario": [{ "/development/cli": 1 }], - "fine": [{ "/development/cli": 1 }], - "after": [{ "/development/cli": 3 }, { "/development/frameworks-mobile/react-native": 2 }], - "developed": [{ "/development/cli": 2 }], - "quality": [{ "/development/cli": 1 }], - "good": [ - { "/development/cli": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "effective": [{ "/development/cli": 2 }], - "rendered": [{ "/development/cli": 4 }], - "screen": [{ "/development/cli": 4 }, { "/development/frameworks-mobile/react-native": 2 }], - "internal": [{ "/development/cli": 1 }], - "logic": [ - { "/development/cli": 2 }, - { "/development/frameworks-mobile/intro": 2 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "perspective": [{ "/development/cli": 1 }], - "things": [{ "/development/cli": 1 }], - "views": [{ "/development/cli": 2 }, { "/development/frameworks-mobile/intro": 1 }], - "interacts": [{ "/development/cli": 1 }], - "open": [ - { "/development/frameworks-web/angular": 6 }, - { "/development/cli": 5 }, - { "/development/frameworks-web/react": 5 }, - { "/development/frameworks-mobile/react-native": 4 }, - { "/development/frameworks-web/intro": 2 }, - { "/community/bugs": 1 }, - { "/community/faq": 1 } - ], - "button": [{ "/development/cli": 8 }], - "modal": [{ "/development/cli": 1 }], - "dialog": [{ "/development/cli": 2 }], - "clicked": [{ "/development/cli": 2 }], - "_open_": [{ "/development/cli": 1 }], - "label": [{ "/development/cli": 1 }], - "tempted": [{ "/development/cli": 1 }], - "id": [{ "/development/cli": 7 }], - "called": [{ "/development/cli": 1 }], - "pressed": [{ "/development/cli": 1 }], - "break": [{ "/development/cli": 1 }], - "changes": [{ "/development/cli": 1 }, { "/development/frameworks-mobile/react-native": 1 }], - "even": [{ "/development/cli": 2 }], - "though": [{ "/development/cli": 1 }], - "sees": [{ "/development/cli": 1 }], - "interactions": [{ "/development/cli": 2 }], - "change": [{ "/development/cli": 3 }, { "/community/faq": 1 }], - "interaction": [{ "/development/cli": 1 }], - "returned": [{ "/development/cli": 1 }], - "action": [{ "/development/cli": 1 }], - "angular": [ - { "/development/frameworks-web/angular": 31 }, - { "/development/cli": 8 }, - { "/development/frameworks-mobile/ionic": 7 }, - { "/development/frameworks-web/intro": 6 }, - { "/community/bugs": 3 }, - { "/community/faq": 3 }, - { "/development/frameworks-mobile/intro": 2 } - ], - "react": [ - { "/development/frameworks-mobile/react-native": 48 }, - { "/development/frameworks-web/react": 19 }, - { "/development/cli": 12 }, - { "/development/frameworks-mobile/intro": 9 }, - { "/development/frameworks-web/intro": 4 }, - { "/community/bugs": 4 }, - { "/community/faq": 4 } - ], - "ionic": [ - { "/development/frameworks-mobile/ionic": 25 }, - { "/development/frameworks-mobile/intro": 7 }, - { "/development/cli": 3 }, - { "/community/bugs": 2 }, - { "/community/faq": 1 } - ], - "tested": [{ "/development/cli": 1 }], - "would": [ - { "/community/faq": 8 }, - { "/development/frameworks-web/react": 3 }, - { "/development/frameworks-mobile/ionic": 3 }, - { "/development/cli": 2 }, - { "/development/frameworks-mobile/react-native": 2 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-web/angular": 1 } - ], - "jasmine": [{ "/development/cli": 1 }], - "karma": [{ "/development/cli": 1 }], - "create": [ - { "/development/cli": 3 }, - { "/development/frameworks-web/react": 2 }, - { "/development/frameworks-mobile/react-native": 2 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/community/faq": 1 } - ], - "sample": [ - { "/development/cli": 2 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 } - ], - "created": [{ "/development/cli": 3 }, { "/development/frameworks-mobile/react-native": 1 }], - "files": [ - { "/development/cli": 2 }, - { "/development/frameworks-web/react": 2 }, - { "/development/frameworks-mobile/ionic": 2 }, - { "/development/frameworks-mobile/react-native": 2 }, - { "/development/frameworks-web/angular": 1 } - ], - "identified": [{ "/development/cli": 2 }], - "spec": [{ "/development/cli": 1 }], - "ts": [{ "/development/cli": 2 }], - "file": [ - { "/development/cli": 2 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "extension": [{ "/development/cli": 2 }], - "execute": [{ "/development/cli": 2 }], - "terminal": [{ "/development/cli": 3 }], - "cd": [{ "/development/cli": 2 }, { "/development/frameworks-mobile/react-native": 1 }], - "root": [{ "/development/cli": 2 }], - "ng": [{ "/development/cli": 1 }], - "launch": [{ "/development/cli": 1 }], - "runner": [{ "/development/cli": 2 }], - "jest": [{ "/development/cli": 3 }, { "/development/frameworks-mobile/react-native": 1 }], - "creating": [ - { "/development/cli": 2 }, - { "/development/frameworks-mobile/react-native": 2 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/development/frameworks-mobile/ionic": 1 } - ], - "js": [ - { "/development/frameworks-mobile/react-native": 5 }, - { "/development/cli": 2 }, - { "/development/frameworks-web/react": 1 } - ], - "show": [{ "/development/cli": 1 }, { "/community/faq": 1 }], - "pass": [{ "/development/cli": 1 }, { "/development/frameworks-web/react": 1 }], - "fail": [{ "/development/cli": 1 }], - "utilities": [{ "/development/cli": 1 }], - "complement": [{ "/development/cli": 1 }], - "library": [ - { "/development/frameworks-mobile/react-native": 6 }, - { "/development/frameworks-web/react": 5 }, - { "/development/frameworks-web/angular": 4 }, - { "/development/cli": 2 }, - { "/development/frameworks-mobile/ionic": 2 }, - { "/development/frameworks-web/intro": 1 } - ], - "dom": [{ "/development/cli": 1 }, { "/development/frameworks-web/intro": 1 }], - "dependency": [{ "/development/cli": 1 }], - "team": [ - { "/community/faq": 10 }, - { "/development/frameworks-mobile/intro": 2 }, - { "/development/cli": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "enzyme": [{ "/development/frameworks-web/react": 3 }, { "/development/cli": 1 }], - "airbnb": [{ "/development/cli": 1 }], - "renderer": [{ "/development/cli": 1 }, { "/development/frameworks-mobile/react-native": 1 }], - "bundles": [{ "/development/cli": 1 }], - "strategies": [{ "/development/cli": 2 }], - "libraries": [ - { "/development/frameworks-mobile/react-native": 7 }, - { "/development/cli": 2 }, - { "/development/frameworks-web/intro": 2 }, - { "/community/bugs": 2 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/community/faq": 1 } - ], - "generate": [{ "/development/cli": 2 }], - "underlying": [{ "/development/cli": 3 }], - "regular": [{ "/development/cli": 1 }], - "above": [{ "/development/cli": 1 }], - "terms": [{ "/development/cli": 1 }], - "complexity": [{ "/development/cli": 1 }], - "primarily": [{ "/development/cli": 1 }], - "flow": [{ "/development/cli": 1 }], - "making": [{ "/development/cli": 1 }], - "journey": [{ "/development/cli": 1 }], - "outcomes": [{ "/development/cli": 1 }], - "generally": [{ "/development/cli": 1 }], - "categorized": [{ "/development/cli": 1 }], - "flows": [{ "/development/cli": 1 }], - "meet": [{ "/development/cli": 1 }, { "/community/faq": 1 }], - "customer": [{ "/development/cli": 1 }], - "expectations": [{ "/development/cli": 1 }], - "regression": [{ "/development/cli": 1 }], - "broken": [{ "/development/cli": 1 }], - "added": [{ "/development/cli": 1 }, { "/development/frameworks-mobile/react-native": 1 }], - "stories": [{ "/development/cli": 1 }], - "span": [{ "/development/cli": 1 }], - "signing": [{ "/development/cli": 1 }], - "accounts": [{ "/development/cli": 1 }], - "logging": [{ "/development/cli": 1 }], - "updating": [{ "/development/cli": 1 }, { "/community/faq": 1 }], - "profile": [{ "/development/cli": 1 }], - "concerned": [{ "/development/cli": 1 }], - "just": [{ "/development/cli": 1 }], - "results": [{ "/development/cli": 1 }], - "against": [{ "/development/cli": 1 }, { "/community/faq": 1 }], - "live": [{ "/development/cli": 1 }, { "/development/frameworks-mobile/react-native": 1 }], - "case": [{ "/development/cli": 1 }, { "/community/faq": 1 }], - "automates": [{ "/development/cli": 1 }], - "automated": [{ "/development/cli": 3 }], - "involved": [{ "/development/cli": 1 }], - "scope": [{ "/development/cli": 1 }], - "try": [{ "/development/cli": 1 }], - "optimize": [{ "/development/cli": 1 }], - "pipeline": [{ "/development/cli": 1 }], - "parallel": [{ "/development/cli": 1 }], - "finish": [{ "/development/cli": 1 }], - "faster": [{ "/development/cli": 1 }, { "/development/frameworks-web/intro": 1 }], - "alone": [{ "/development/cli": 1 }], - "give": [{ "/community/faq": 3 }, { "/development/cli": 1 }], - "enough": [{ "/development/cli": 1 }, { "/community/faq": 1 }], - "avoid": [ - { "/development/frameworks-mobile/react-native": 2 }, - { "/development/cli": 1 }, - { "/development/frameworks-web/intro": 1 } - ], - "regressions": [{ "/development/cli": 1 }], - "aim": [{ "/development/cli": 1 }], - "depth": [{ "/development/cli": 1 }, { "/development/frameworks-web/intro": 1 }], - "breadth": [{ "/development/cli": 1 }], - "scenarios": [{ "/development/cli": 1 }], - "rely": [{ "/development/cli": 1 }], - "ability": [{ "/development/cli": 1 }, { "/development/frameworks-mobile/react-native": 1 }], - "find": [ - { "/development/cli": 5 }, - { "/development/frameworks-mobile/react-native": 2 }, - { "/community/faq": 2 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/community/bugs": 1 } - ], - "elements": [ - { "/development/cli": 8 }, - { "/development/frameworks-mobile/react-native": 2 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/community/faq": 1 } - ], - "interact": [{ "/development/cli": 1 }], - "them": [ - { "/development/frameworks-mobile/intro": 3 }, - { "/community/faq": 2 }, - { "/development/cli": 1 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "way": [ - { "/development/cli": 2 }, - { "/development/frameworks-mobile/intro": 2 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "reliable": [{ "/development/cli": 2 }], - "mechanism": [{ "/development/cli": 1 }], - "selecting": [{ "/development/cli": 1 }], - "select": [{ "/development/frameworks-mobile/react-native": 2 }, { "/development/cli": 1 }], - "css": [{ "/development/cli": 3 }, { "/development/frameworks-mobile/intro": 1 }], - "selectors": [{ "/development/cli": 5 }], - "classes": [{ "/development/cli": 2 }], - "rules": [{ "/development/cli": 1 }], - "name": [ - { "/development/frameworks-mobile/react-native": 3 }, - { "/development/cli": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/ionic": 1 } - ], - "element": [{ "/development/cli": 3 }, { "/development/frameworks-web/angular": 1 }], - "blui": [ - { "/development/cli": 2 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "drawerlayout": [{ "/development/cli": 2 }], - "div": [{ "/development/cli": 4 }], - "header": [{ "/development/cli": 2 }], - "xpath": [{ "/development/cli": 3 }], - "selector": [{ "/development/cli": 2 }], - "within": [{ "/development/cli": 2 }], - "attribute": [{ "/development/cli": 3 }], - "login": [ - { "/development/cli": 3 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "read": [ - { "/community/faq": 2 }, - { "/development/cli": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "browserstack": [{ "/development/cli": 2 }], - "advantages": [{ "/development/cli": 1 }], - "disadvantages": [{ "/development/cli": 1 }], - "pain": [{ "/development/cli": 1 }], - "point": [{ "/development/cli": 1 }, { "/community/faq": 1 }], - "automation": [{ "/development/cli": 5 }], - "constantly": [{ "/development/cli": 2 }], - "changing": [{ "/development/cli": 1 }, { "/development/frameworks-mobile/react-native": 1 }], - "particularly": [{ "/development/cli": 1 }], - "community": [ - { "/development/cli": 2 }, - { "/development/frameworks-mobile/react-native": 2 }, - { "/community/bugs": 2 }, - { "/community/faq": 2 }, - { "/development/frameworks-mobile/intro": 1 } - ], - "automatically": [ - { "/development/frameworks-web/angular": 4 }, - { "/development/frameworks-web/react": 4 }, - { "/development/frameworks-mobile/react-native": 4 }, - { "/development/frameworks-mobile/ionic": 2 }, - { "/development/cli": 1 }, - { "/community/faq": 1 } - ], - "dynamically": [{ "/development/cli": 1 }], - "ids": [{ "/development/cli": 2 }], - "resulting": [{ "/development/cli": 1 }], - "moving": [{ "/development/cli": 1 }], - "tooling": [{ "/development/cli": 1 }], - "identifying": [{ "/development/cli": 2 }], - "locators": [{ "/development/cli": 1 }], - "_without_": [{ "/development/cli": 1 }], - "property": [{ "/development/cli": 1 }], - "attributes": [{ "/development/cli": 2 }], - "brittle": [{ "/development/cli": 1 }], - "subject": [{ "/development/cli": 1 }], - "reloaded": [{ "/development/cli": 1 }], - "combat": [{ "/development/cli": 1 }], - "dev": [{ "/development/cli": 1 }], - "adding": [ - { "/development/frameworks-mobile/react-native": 5 }, - { "/development/frameworks-web/angular": 3 }, - { "/development/frameworks-web/react": 2 }, - { "/development/cli": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/community/faq": 1 } - ], - "safer": [{ "/development/cli": 1 }], - "throughout": [{ "/development/cli": 1 }, { "/development/frameworks-mobile/react-native": 1 }], - "lifecycle": [{ "/development/cli": 1 }], - "identification": [{ "/development/cli": 1 }], - "html": [ - { "/development/frameworks-web/angular": 3 }, - { "/development/cli": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "webelement": [{ "/development/cli": 1 }], - "click": [{ "/development/cli": 1 }], - "driver": [{ "/development/cli": 1 }], - "findelement": [{ "/development/cli": 1 }], - "configuring": [{ "/development/cli": 1 }], - "include": [ - { "/development/frameworks-web/angular": 3 }, - { "/development/frameworks-web/react": 2 }, - { "/development/cli": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "selenium": [{ "/development/cli": 9 }], - "cypress": [{ "/development/cli": 5 }, { "/development/testing": 1 }], - "webdriverio": [{ "/development/cli": 4 }], - "suite": [{ "/development/cli": 2 }], - "desktop": [{ "/community/faq": 3 }, { "/development/cli": 1 }], - "languages": [{ "/development/cli": 1 }], - "customized": [{ "/development/cli": 1 }], - "official": [{ "/development/cli": 3 }], - "number": [{ "/development/cli": 1 }, { "/community/bugs": 1 }], - "boasts": [{ "/development/cli": 1 }], - "works": [{ "/development/cli": 1 }], - "traditional": [{ "/development/cli": 1 }], - "top": [ - { "/development/cli": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/ionic": 1 } - ], - "extendible": [{ "/development/cli": 1 }], - "compatible": [{ "/development/cli": 1 }], - "feature": [{ "/development/cli": 1 }], - "rich": [{ "/development/cli": 1 }], - "webdriver": [{ "/development/cli": 1 }], - "io": [{ "/development/cli": 1 }], - "large": [ - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/community/bugs": 1 } - ], - "communities": [{ "/development/frameworks-web/intro": 1 }], - "implementing": [{ "/development/frameworks-web/intro": 1 }], - "comparable": [{ "/development/frameworks-web/intro": 1 }], - "choosing": [{ "/development/frameworks-web/intro": 2 }, { "/development/frameworks-mobile/intro": 1 }], - "either": [ - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 }, - { "/community/bugs": 1 } - ], - "notable": [{ "/development/frameworks-web/intro": 1 }], - "differences": [{ "/development/frameworks-web/intro": 1 }, { "/development/frameworks-mobile/intro": 1 }], - "outlined": [{ "/development/frameworks-web/intro": 1 }, { "/development/frameworks-mobile/intro": 1 }], - "comprehensive": [{ "/development/frameworks-web/intro": 2 }, { "/community/faq": 1 }], - "lot": [{ "/development/frameworks-web/intro": 1 }, { "/development/frameworks-mobile/react-native": 1 }], - "typescript": [ - { "/development/frameworks-web/react": 3 }, - { "/development/frameworks-mobile/react-native": 3 }, - { "/development/frameworks-web/intro": 1 } - ], - "superset": [{ "/development/frameworks-web/intro": 1 }], - "strong": [{ "/development/frameworks-web/intro": 1 }], - "typing": [{ "/development/frameworks-web/intro": 1 }], - "structured": [{ "/development/frameworks-web/intro": 1 }], - "organizing": [{ "/development/frameworks-web/intro": 1 }], - "back": [{ "/development/frameworks-web/intro": 1 }], - "full": [{ "/development/frameworks-web/intro": 1 }], - "custom": [{ "/development/frameworks-web/intro": 1 }, { "/development/frameworks-mobile/intro": 1 }], - "combined": [{ "/development/frameworks-web/intro": 1 }], - "redux": [{ "/development/frameworks-web/intro": 1 }], - "virtual": [{ "/development/frameworks-web/intro": 1 }], - "fewer": [{ "/development/frameworks-web/intro": 1 }], - "renders": [{ "/development/frameworks-web/intro": 1 }, { "/development/frameworks-mobile/intro": 1 }], - "updates": [{ "/development/frameworks-web/intro": 1 }, { "/community/faq": 1 }], - "front": [{ "/development/frameworks-web/intro": 1 }], - "facebook": [{ "/development/frameworks-web/intro": 1 }], - "entirely": [{ "/development/frameworks-web/intro": 1 }, { "/development/frameworks-mobile/intro": 1 }], - "pros": [{ "/development/frameworks-web/intro": 1 }], - "cons": [{ "/development/frameworks-web/intro": 1 }], - "best": [{ "/development/frameworks-web/intro": 1 }, { "/development/frameworks-mobile/intro": 1 }], - "who": [{ "/development/frameworks-web/intro": 1 }], - "familiar": [ - { "/development/frameworks-mobile/intro": 2 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "might": [{ "/development/frameworks-web/intro": 1 }], - "worthwhile": [{ "/development/frameworks-web/intro": 1 }], - "unnecessary": [{ "/development/frameworks-web/intro": 1 }], - "learning": [{ "/development/frameworks-mobile/intro": 2 }, { "/development/frameworks-web/intro": 1 }], - "curves": [{ "/development/frameworks-web/intro": 1 }], - "associated": [{ "/development/frameworks-web/intro": 1 }, { "/community/bugs": 1 }], - "yet": [{ "/development/frameworks-web/intro": 1 }, { "/community/bugs": 1 }], - "conduct": [{ "/development/frameworks-web/intro": 1 }], - "analysis": [{ "/development/frameworks-web/intro": 1 }], - "appropriate": [{ "/development/frameworks-web/intro": 1 }, { "/community/bugs": 1 }], - "reach": [{ "/development/frameworks-web/intro": 1 }, { "/community/faq": 1 }], - "assistance": [{ "/development/frameworks-web/intro": 1 }], - "needed": [{ "/development/frameworks-web/intro": 1 }], - "choose": [ - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/react-native": 1 }, - { "/community/faq": 1 } - ], - "downloading": [ - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "samples": [ - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 }, - { "/community/bugs": 1 }, - { "/community/faq": 1 } - ], - "github": [ - { "/development/frameworks-web/angular": 2 }, - { "/development/frameworks-web/react": 2 }, - { "/development/frameworks-mobile/ionic": 2 }, - { "/development/frameworks-mobile/react-native": 2 }, - { "/community/bugs": 1 } - ], - "navigation": [ - { "/development/frameworks-mobile/react-native": 3 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 } - ], - "fastest": [ - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "starter": [ - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "necessary": [ - { "/development/frameworks-mobile/react-native": 2 }, - { "/community/faq": 2 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/ionic": 1 } - ], - "npx": [ - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "p": [ - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "asked": [ - { "/development/frameworks-web/react": 2 }, - { "/development/frameworks-mobile/react-native": 2 }, - { "/community/faq": 2 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-mobile/ionic": 1 } - ], - "whether": [ - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "eslint": [ - { "/development/frameworks-web/react": 5 }, - { "/development/frameworks-mobile/react-native": 5 }, - { "/development/frameworks-web/angular": 4 }, - { "/development/frameworks-mobile/ionic": 4 } - ], - "prettier": [ - { "/development/frameworks-web/angular": 4 }, - { "/development/frameworks-web/react": 4 }, - { "/development/frameworks-mobile/ionic": 4 }, - { "/development/frameworks-mobile/react-native": 4 } - ], - "configurations": [ - { "/development/frameworks-web/angular": 2 }, - { "/development/frameworks-web/react": 2 }, - { "/development/frameworks-mobile/ionic": 2 }, - { "/development/frameworks-mobile/react-native": 2 } - ], - "themes": [ - { "/development/frameworks-web/angular": 11 }, - { "/development/frameworks-web/react": 7 }, - { "/development/frameworks-mobile/react-native": 6 }, - { "/community/faq": 3 }, - { "/development/frameworks-mobile/ionic": 2 }, - { "/community/bugs": 1 } - ], - "icons": [ - { "/development/frameworks-mobile/react-native": 8 }, - { "/development/frameworks-web/react": 7 }, - { "/community/faq": 4 }, - { "/development/frameworks-web/angular": 2 }, - { "/development/frameworks-mobile/ionic": 2 } - ], - "colors": [ - { "/development/frameworks-web/angular": 4 }, - { "/development/frameworks-web/react": 3 }, - { "/development/frameworks-mobile/ionic": 2 }, - { "/development/frameworks-mobile/react-native": 2 } - ], - "sans": [ - { "/development/frameworks-web/angular": 6 }, - { "/development/frameworks-web/react": 5 }, - { "/development/frameworks-mobile/react-native": 2 } - ], - "font": [ - { "/development/frameworks-web/angular": 4 }, - { "/development/frameworks-web/react": 3 }, - { "/development/frameworks-mobile/react-native": 3 } - ], - "usage": [ - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 }, - { "/community/faq": 1 } - ], - "refer": [ - { "/development/frameworks-mobile/react-native": 4 }, - { "/development/frameworks-web/angular": 2 }, - { "/development/frameworks-web/react": 2 }, - { "/development/frameworks-mobile/ionic": 2 }, - { "/community/faq": 1 } - ], - "integrate": [ - { "/community/faq": 2 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "manual": [ - { "/development/frameworks-mobile/ionic": 3 }, - { "/development/frameworks-web/angular": 2 }, - { "/development/frameworks-web/react": 2 }, - { "/development/frameworks-mobile/react-native": 2 } - ], - "scaffold": [ - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "taking": [ - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "been": [ - { "/community/faq": 3 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "done": [ - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "save": [ - { "/development/frameworks-web/angular": 3 }, - { "/development/frameworks-web/react": 3 }, - { "/development/frameworks-mobile/react-native": 3 } - ], - "api": [{ "/development/frameworks-web/angular": 1 }, { "/development/frameworks-web/react": 1 }], - "reference": [ - { "/development/frameworks-web/angular": 2 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/react-native": 1 }, - { "/community/faq": 1 } - ], - "additionally": [{ "/development/frameworks-web/angular": 1 }, { "/development/frameworks-web/react": 1 }], - "supplemental": [ - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "specifically": [ - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/react-native": 1 }, - { "/community/faq": 1 } - ], - "wish": [ - { "/development/frameworks-mobile/react-native": 2 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/community/faq": 1 } - ], - "default": [ - { "/development/frameworks-web/angular": 3 }, - { "/development/frameworks-mobile/react-native": 3 }, - { "/community/faq": 2 }, - { "/development/frameworks-web/react": 1 } - ], - "themed": [ - { "/development/frameworks-mobile/react-native": 2 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 } - ], - "theme": [ - { "/development/frameworks-web/angular": 11 }, - { "/development/frameworks-mobile/react-native": 9 }, - { "/development/frameworks-web/react": 8 }, - { "/community/faq": 2 } - ], - "order": [{ "/development/frameworks-web/angular": 1 }, { "/development/frameworks-mobile/ionic": 1 }], - "modify": [{ "/development/frameworks-web/angular": 1 }], - "json": [{ "/development/frameworks-web/angular": 2 }, { "/development/frameworks-mobile/react-native": 1 }], - "styles": [{ "/development/frameworks-web/angular": 3 }, { "/development/frameworks-mobile/react-native": 3 }], - "entries": [{ "/development/frameworks-web/angular": 1 }], - "src": [{ "/development/frameworks-web/angular": 1 }], - "scss": [{ "/development/frameworks-web/angular": 3 }], - "node_modules": [{ "/development/frameworks-web/angular": 2 }], - "applying": [ - { "/development/frameworks-web/angular": 2 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "apply": [{ "/development/frameworks-web/angular": 1 }], - "proper": [{ "/development/frameworks-web/angular": 1 }], - "body": [{ "/development/frameworks-web/angular": 2 }], - "dark": [{ "/development/frameworks-web/angular": 1 }], - "specify": [ - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "fonts": [{ "/development/frameworks-web/angular": 1 }, { "/development/frameworks-mobile/react-native": 1 }], - "mat": [{ "/development/frameworks-web/angular": 1 }], - "typography": [{ "/development/frameworks-web/angular": 1 }], - "h1": [{ "/development/frameworks-web/angular": 1 }], - "text": [{ "/development/frameworks-web/angular": 2 }, { "/development/frameworks-mobile/react-native": 1 }], - "h2": [{ "/development/frameworks-web/angular": 1 }], - "bold": [{ "/development/frameworks-web/angular": 1 }], - "copy": [{ "/development/frameworks-web/angular": 1 }], - "my": [{ "/community/faq": 3 }, { "/development/frameworks-web/angular": 1 }], - "details": [{ "/development/frameworks-web/angular": 1 }, { "/community/faq": 1 }], - "theming": [ - { "/development/frameworks-mobile/react-native": 3 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/community/faq": 1 } - ], - "formatting": [ - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "style": [ - { "/development/frameworks-mobile/react-native": 4 }, - { "/development/frameworks-web/angular": 2 }, - { "/development/frameworks-web/react": 2 }, - { "/development/frameworks-mobile/ionic": 2 }, - { "/community/faq": 1 } - ], - "internally": [ - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "browsers": [{ "/development/frameworks-web/angular": 1 }, { "/development/frameworks-web/react": 1 }], - "specifics": [{ "/development/frameworks-web/angular": 1 }, { "/development/frameworks-web/react": 1 }], - "pages": [{ "/development/frameworks-web/angular": 1 }, { "/development/frameworks-web/react": 1 }], - "life": [{ "/development/frameworks-web/angular": 1 }, { "/development/frameworks-web/react": 1 }], - "explorer": [ - { "/development/testing": 3 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 } - ], - "supporting": [ - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/community/faq": 1 } - ], - "ie11": [{ "/development/frameworks-web/angular": 1 }, { "/development/frameworks-web/react": 1 }], - "license": [ - { "/development/frameworks-web/angular": 2 }, - { "/development/frameworks-web/react": 2 }, - { "/development/frameworks-mobile/ionic": 2 }, - { "/development/frameworks-mobile/react-native": 2 } - ], - "mit": [ - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "mui": [{ "/development/frameworks-web/react": 1 }], - "fontsource": [{ "/development/frameworks-web/react": 1 }], - "adapter": [{ "/development/frameworks-web/react": 1 }], - "import": [{ "/development/frameworks-web/react": 2 }, { "/development/frameworks-mobile/react-native": 1 }], - "provider": [{ "/development/frameworks-web/react": 1 }, { "/development/frameworks-mobile/react-native": 1 }], - "tsx": [{ "/development/frameworks-web/react": 2 }, { "/development/frameworks-mobile/react-native": 2 }], - "whole": [{ "/development/frameworks-web/react": 1 }], - "simply": [ - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/community/bugs": 1 } - ], - "around": [{ "/development/frameworks-web/react": 1 }], - "level": [{ "/development/frameworks-web/react": 1 }], - "capable": [{ "/development/frameworks-mobile/intro": 1 }], - "agnostic": [{ "/development/frameworks-mobile/intro": 1 }], - "webview": [{ "/development/frameworks-mobile/intro": 2 }], - "optimized": [{ "/development/frameworks-mobile/intro": 1 }], - "lots": [{ "/development/frameworks-mobile/intro": 1 }], - "plugins": [ - { "/development/frameworks-mobile/intro": 2 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "curve": [{ "/development/frameworks-mobile/intro": 2 }], - "styling": [{ "/development/frameworks-mobile/intro": 1 }], - "biggest": [{ "/development/frameworks-mobile/intro": 1 }], - "concern": [{ "/development/frameworks-mobile/intro": 1 }], - "wraps": [{ "/development/frameworks-mobile/intro": 1 }], - "d": [{ "/development/frameworks-mobile/intro": 1 }], - "recommended": [ - { "/development/frameworks-mobile/react-native": 3 }, - { "/development/frameworks-mobile/intro": 1 } - ], - "won": [{ "/development/frameworks-mobile/intro": 1 }, { "/development/frameworks-mobile/ionic": 1 }], - "chosen": [{ "/development/frameworks-mobile/intro": 1 }], - "process": [ - { "/development/frameworks-mobile/intro": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "developing": [{ "/development/frameworks-mobile/ionic": 2 }, { "/development/frameworks-mobile/intro": 1 }], - "ultimately": [{ "/development/frameworks-mobile/intro": 1 }], - "final": [{ "/development/frameworks-mobile/intro": 4 }, { "/development/frameworks-mobile/react-native": 1 }], - "binary": [{ "/development/frameworks-mobile/intro": 2 }, { "/development/frameworks-mobile/ionic": 1 }], - "distribute": [{ "/development/frameworks-mobile/intro": 1 }], - "testers": [{ "/development/frameworks-mobile/intro": 1 }], - "customers": [{ "/development/frameworks-mobile/intro": 1 }], - "deploying": [{ "/development/frameworks-mobile/intro": 1 }], - "distributable": [{ "/development/frameworks-mobile/intro": 1 }], - "distributing": [{ "/development/frameworks-mobile/intro": 1 }], - "center": [{ "/development/frameworks-mobile/intro": 3 }], - "formerly": [{ "/development/frameworks-mobile/intro": 1 }], - "hockeyapp": [{ "/development/frameworks-mobile/intro": 1 }], - "gives": [{ "/development/frameworks-mobile/intro": 1 }], - "ready": [{ "/development/frameworks-mobile/intro": 1 }, { "/development/frameworks-mobile/ionic": 1 }], - "distribution": [{ "/development/frameworks-mobile/intro": 2 }], - "service": [{ "/development/frameworks-mobile/intro": 1 }], - "upload": [{ "/development/frameworks-mobile/intro": 1 }], - "binaries": [{ "/development/frameworks-mobile/intro": 1 }], - "lists": [{ "/development/frameworks-mobile/intro": 1 }], - "people": [{ "/development/frameworks-mobile/intro": 2 }, { "/community/faq": 1 }], - "whom": [{ "/development/frameworks-mobile/intro": 1 }], - "share": [ - { "/community/faq": 2 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "notified": [{ "/development/frameworks-mobile/intro": 1 }], - "email": [{ "/development/frameworks-mobile/intro": 1 }], - "prompted": [ - { "/development/frameworks-mobile/intro": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "onto": [{ "/development/frameworks-mobile/intro": 1 }, { "/community/faq": 1 }], - "request": [{ "/development/frameworks-mobile/intro": 1 }], - "utilize": [{ "/development/frameworks-mobile/intro": 1 }], - "connect": [{ "/development/frameworks-mobile/intro": 1 }], - "console": [{ "/development/frameworks-mobile/intro": 1 }], - "takes": [{ "/development/frameworks-mobile/ionic": 1 }], - "beyond": [{ "/development/frameworks-mobile/ionic": 1 }], - "cordova": [{ "/development/frameworks-mobile/ionic": 15 }, { "/community/bugs": 3 }], - "scenes": [{ "/development/frameworks-mobile/ionic": 1 }], - "offers": [{ "/development/frameworks-mobile/ionic": 1 }, { "/community/faq": 1 }], - "convenience": [{ "/development/frameworks-mobile/ionic": 1 }], - "pure": [{ "/development/frameworks-mobile/ionic": 1 }], - "apache": [{ "/development/frameworks-mobile/ionic": 1 }], - "date": [{ "/development/frameworks-mobile/ionic": 1 }], - "gradle": [{ "/development/frameworks-mobile/ionic": 3 }], - "res": [{ "/development/frameworks-mobile/ionic": 2 }], - "gradle_home": [{ "/development/frameworks-mobile/ionic": 1 }], - "virtually": [{ "/development/frameworks-mobile/ionic": 1 }], - "identical": [{ "/development/frameworks-mobile/ionic": 1 }], - "normal": [{ "/development/frameworks-mobile/ionic": 1 }], - "serve": [{ "/development/frameworks-mobile/ionic": 1 }], - "localhost": [{ "/development/frameworks-mobile/ionic": 1 }], - "completes": [{ "/development/frameworks-mobile/ionic": 1 }], - "along": [{ "/development/frameworks-mobile/ionic": 1 }], - "configuration": [{ "/development/frameworks-mobile/ionic": 1 }], - "now": [{ "/development/frameworks-mobile/ionic": 1 }], - "simulator": [{ "/development/frameworks-mobile/ionic": 1 }], - "flags": [{ "/development/frameworks-mobile/ionic": 1 }], - "buildflag": [{ "/development/frameworks-mobile/ionic": 1 }], - "usemodernbuildsystem": [{ "/development/frameworks-mobile/ionic": 1 }], - "addition": [{ "/development/frameworks-mobile/react-native": 1 }], - "expo": [{ "/development/frameworks-mobile/react-native": 16 }], - "client": [{ "/development/frameworks-mobile/react-native": 1 }], - "creation": [{ "/development/frameworks-mobile/react-native": 1 }], - "tool": [{ "/community/faq": 3 }, { "/development/frameworks-mobile/react-native": 1 }], - "optional": [{ "/development/frameworks-mobile/react-native": 1 }], - "paper": [{ "/development/frameworks-mobile/react-native": 10 }], - "vector": [{ "/development/frameworks-mobile/react-native": 4 }], - "svg": [{ "/development/frameworks-mobile/react-native": 1 }], - "reading": [{ "/development/frameworks-mobile/react-native": 1 }, { "/community/faq": 1 }], - "vanilla": [{ "/development/frameworks-mobile/react-native": 2 }], - "weight": [{ "/development/frameworks-mobile/react-native": 1 }], - "format": [{ "/development/frameworks-mobile/react-native": 1 }], - "opensans": [{ "/development/frameworks-mobile/react-native": 2 }], - "semibold": [{ "/development/frameworks-mobile/react-native": 1 }], - "demos": [{ "/development/frameworks-mobile/react-native": 2 }], - "applies": [{ "/development/frameworks-mobile/react-native": 2 }], - "avoiding": [{ "/development/frameworks-mobile/react-native": 1 }], - "repeated": [{ "/development/frameworks-mobile/react-native": 1 }], - "repeatedly": [{ "/development/frameworks-mobile/react-native": 1 }], - "inline": [{ "/development/frameworks-mobile/react-native": 1 }], - "mytext": [{ "/development/frameworks-mobile/react-native": 2 }], - "export": [{ "/development/frameworks-mobile/react-native": 1 }], - "children": [{ "/development/frameworks-mobile/react-native": 2 }], - "otherfile": [{ "/development/frameworks-mobile/react-native": 1 }], - "object": [{ "/development/frameworks-mobile/react-native": 1 }], - "relatively": [{ "/development/frameworks-mobile/react-native": 1 }], - "simple": [{ "/development/frameworks-mobile/react-native": 1 }], - "understand": [{ "/development/frameworks-mobile/react-native": 1 }], - "remains": [{ "/development/frameworks-mobile/react-native": 1 }], - "little": [{ "/development/frameworks-mobile/react-native": 1 }], - "adjustment": [{ "/development/frameworks-mobile/react-native": 1 }], - "typical": [{ "/development/frameworks-mobile/react-native": 1 }], - "uis": [{ "/development/frameworks-mobile/react-native": 1 }], - "special": [{ "/development/frameworks-mobile/react-native": 1 }], - "layouts": [{ "/development/frameworks-mobile/react-native": 1 }], - "exclusively": [{ "/development/frameworks-mobile/react-native": 1 }], - "flexbox": [{ "/development/frameworks-mobile/react-native": 1 }], - "ve": [{ "/development/frameworks-mobile/react-native": 1 }, { "/community/faq": 1 }], - "yourappname": [{ "/development/frameworks-mobile/react-native": 1 }], - "rnc": [{ "/development/frameworks-mobile/react-native": 3 }], - "rebuild": [{ "/development/frameworks-mobile/react-native": 1 }], - "emulator": [{ "/development/frameworks-mobile/react-native": 2 }], - "error": [{ "/development/frameworks-mobile/react-native": 1 }], - "message": [{ "/development/frameworks-mobile/react-native": 1 }], - "watchman": [{ "/development/frameworks-mobile/react-native": 2 }], - "brew": [{ "/development/frameworks-mobile/react-native": 1 }], - "ejecting": [{ "/development/frameworks-mobile/react-native": 5 }], - "becomes": [{ "/development/frameworks-mobile/react-native": 1 }], - "eject": [{ "/development/frameworks-mobile/react-native": 5 }], - "reason": [{ "/development/frameworks-mobile/react-native": 3 }], - "prompts": [{ "/development/frameworks-mobile/react-native": 1 }], - "warning": [{ "/development/frameworks-mobile/react-native": 1 }], - "cannot": [{ "/development/frameworks-mobile/react-native": 1 }], - "undone": [{ "/development/frameworks-mobile/react-native": 1 }], - "proceeding": [{ "/development/frameworks-mobile/react-native": 1 }], - "bare": [{ "/development/frameworks-mobile/react-native": 1 }], - "option": [{ "/development/frameworks-mobile/react-native": 1 }], - "second": [{ "/development/frameworks-mobile/react-native": 2 }], - "accept": [{ "/development/frameworks-mobile/react-native": 1 }], - "press": [{ "/development/frameworks-mobile/react-native": 1 }], - "enter": [{ "/development/frameworks-mobile/react-native": 2 }], - "solution": [{ "/community/faq": 3 }, { "/development/frameworks-mobile/react-native": 1 }], - "folder": [{ "/development/frameworks-mobile/react-native": 1 }], - "folders": [{ "/development/frameworks-mobile/react-native": 1 }], - "projectname": [{ "/development/frameworks-mobile/react-native": 1 }], - "xcodeproj": [{ "/development/frameworks-mobile/react-native": 1 }], - "perform": [{ "/development/frameworks-mobile/react-native": 2 }], - "builds": [{ "/development/frameworks-mobile/react-native": 2 }], - "scripts": [{ "/development/frameworks-mobile/react-native": 1 }], - "during": [{ "/development/frameworks-mobile/react-native": 1 }, { "/community/faq": 1 }], - "ejection": [{ "/development/frameworks-mobile/react-native": 1 }], - "manually": [{ "/development/frameworks-mobile/react-native": 1 }], - "bundle": [{ "/development/frameworks-mobile/react-native": 1 }], - "vs": [{ "/development/frameworks-mobile/react-native": 1 }], - "nice": [{ "/development/frameworks-mobile/react-native": 1 }], - "spinning": [{ "/development/frameworks-mobile/react-native": 1 }], - "production": [{ "/development/frameworks-mobile/react-native": 1 }], - "complications": [{ "/development/frameworks-mobile/react-native": 1 }], - "snack": [{ "/development/frameworks-mobile/react-native": 1 }], - "recommendations": [{ "/development/frameworks-mobile/react-native": 1 }], - "speed": [{ "/development/frameworks-mobile/react-native": 1 }], - "improve": [{ "/development/frameworks-mobile/react-native": 1 }], - "reusability": [{ "/development/frameworks-mobile/react-native": 1 }, { "/community/faq": 1 }], - "transaction": [{ "/development/testing": 1 }], + "better": [{ "/development/environment": 1 }], + "software": [{ "/development/environment": 2 }], + "few": [{ "/development/environment": 1 }], + "android": [{ "/development/environment": 2 }], + "xcode": [{ "/development/environment": 1 }], + "e2e": [{ "/development/testing": 1 }], + "tdd": [{ "/development/testing": 1 }], + "bdd": [{ "/development/testing": 1 }], + "integration": [{ "/development/testing": 1 }], + "cypress": [{ "/development/testing": 1 }], + "explorer": [{ "/development/testing": 3 }], "explore": [{ "/development/testing": 1 }], - "transactions": [{ "/development/testing": 1 }], - "activity": [{ "/development/testing": 1 }], - "bugs": [{ "/community/bugs": 3 }, { "/community/faq": 1 }], - "encountering": [{ "/community/bugs": 1 }], - "reporting": [{ "/community/bugs": 2 }], - "reasons": [{ "/community/bugs": 1 }], - "attached": [{ "/community/bugs": 1 }], - "improves": [{ "/community/bugs": 1 }], - "response": [{ "/community/bugs": 1 }], - "cuts": [{ "/community/bugs": 1 }], - "nobody": [{ "/community/bugs": 1 }], - "perfect": [{ "/community/bugs": 1 }], - "issue": [{ "/community/bugs": 4 }, { "/community/faq": 1 }], - "let": [{ "/community/bugs": 1 }], - "encounter": [{ "/community/bugs": 2 }], - "bug": [{ "/community/bugs": 4 }, { "/community/faq": 1 }], - "w": [{ "/community/bugs": 1 }], - "yourself": [{ "/community/bugs": 1 }], - "summary": [{ "/community/bugs": 1 }], - "brief": [{ "/community/bugs": 1 }], - "clear": [{ "/community/bugs": 1 }], - "description": [{ "/community/bugs": 2 }], - "reproduce": [{ "/community/bugs": 1 }], - "report": [{ "/community/bugs": 1 }, { "/community/faq": 1 }], - "submit": [{ "/community/bugs": 1 }], - "tickets": [{ "/community/bugs": 1 }], - "those": [{ "/community/bugs": 1 }], - "links": [{ "/community/bugs": 1 }], - "fork": [{ "/community/bugs": 1 }], - "repository": [{ "/community/bugs": 1 }], - "contribute": [{ "/community/faq": 2 }, { "/community/bugs": 1 }], - "faq": [{ "/community/faq": 1 }], - "question": [{ "/community/faq": 2 }], - "answers": [{ "/community/faq": 1 }], - "frequently": [{ "/community/faq": 1 }], - "questions": [{ "/community/faq": 3 }], - "strive": [{ "/community/faq": 1 }], - "much": [{ "/community/faq": 3 }], - "always": [{ "/community/faq": 1 }], - "answered": [{ "/community/faq": 1 }], - "contacting": [{ "/community/faq": 1 }], - "yes": [{ "/community/faq": 2 }], - "whats": [{ "/community/faq": 1 }], - "whys": [{ "/community/faq": 1 }], - "touch": [{ "/community/faq": 4 }], - "release": [{ "/community/faq": 3 }], - "schedule": [{ "/community/faq": 1 }], - "operates": [{ "/community/faq": 1 }], - "continuous": [{ "/community/faq": 1 }], - "delivery": [{ "/community/faq": 1 }], - "model": [{ "/community/faq": 1 }], - "soon": [{ "/community/faq": 1 }], - "planned": [{ "/community/faq": 1 }], - "quarterly": [{ "/community/faq": 1 }], - "basis": [{ "/community/faq": 2 }], - "towards": [{ "/community/faq": 1 }], - "quarter": [{ "/community/faq": 3 }], - "hold": [{ "/community/faq": 1 }], - "announcement": [{ "/community/faq": 1 }], - "event": [{ "/community/faq": 1 }], - "were": [{ "/community/faq": 1 }], - "answer": [{ "/community/faq": 1 }], - "attend": [{ "/community/faq": 1 }], - "announcements": [{ "/community/faq": 1 }], - "mailing": [{ "/community/faq": 1 }], - "list": [{ "/community/faq": 1 }], - "track": [{ "/community/faq": 1 }], - "progress": [{ "/community/faq": 1 }], - "current": [{ "/community/faq": 1 }], - "roadmap": [{ "/community/faq": 1 }], - "updated": [{ "/community/faq": 1 }], - "weeks": [{ "/community/faq": 1 }], - "highly": [{ "/community/faq": 1 }], - "vuejs": [{ "/community/faq": 1 }], - "wpf": [{ "/community/faq": 1 }], - "flutter": [{ "/community/faq": 1 }], - "love": [{ "/community/faq": 2 }], - "currently": [{ "/community/faq": 4 }], - "effectively": [{ "/community/faq": 1 }], - "goals": [{ "/community/faq": 1 }], - "maximize": [{ "/community/faq": 1 }], - "usability": [{ "/community/faq": 2 }], - "sharing": [{ "/community/faq": 1 }], - "goes": [{ "/community/faq": 1 }], - "principle": [{ "/community/faq": 1 }], - "tried": [{ "/community/faq": 1 }], - "flexibility": [{ "/community/faq": 1 }], - "choice": [{ "/community/faq": 2 }], - "ensuring": [{ "/community/faq": 1 }], - "continue": [{ "/community/faq": 1 }], - "meaningful": [{ "/community/faq": 1 }], - "ongoing": [{ "/community/faq": 1 }], - "staffed": [{ "/community/faq": 1 }], - "integrating": [{ "/community/faq": 1 }], - "_____": [{ "/community/faq": 3 }], - "browsed": [{ "/community/faq": 1 }], - "iconography": [{ "/community/faq": 1 }], - "clicking": [{ "/community/faq": 1 }], - "icon": [{ "/community/faq": 3 }], - "buttons": [{ "/community/faq": 1 }], - "individually": [{ "/community/faq": 1 }], - "stick": [{ "/community/faq": 1 }], - "products": [{ "/community/faq": 4 }], - "sold": [{ "/community/faq": 1 }], - "white": [{ "/community/faq": 1 }], - "labeled": [{ "/community/faq": 1 }], - "companies": [{ "/community/faq": 1 }], - "extend": [{ "/community/faq": 1 }], - "charting": [{ "/community/faq": 4 }], - "solutions": [{ "/community/faq": 2 }], - "d3": [{ "/community/faq": 1 }], - "recommends": [{ "/community/faq": 1 }], - "highcharts": [{ "/community/faq": 1 }], - "alternative": [{ "/community/faq": 1 }], - "chartjs": [{ "/community/faq": 1 }], - "visualizations": [{ "/community/faq": 1 }], - "genuine": [{ "/community/faq": 1 }], - "compromise": [{ "/community/faq": 1 }], - "consistency": [{ "/community/faq": 3 }], - "compared": [{ "/community/faq": 1 }], - "standalone": [{ "/community/faq": 1 }], - "electron": [{ "/community/faq": 1 }], - "still": [{ "/community/faq": 1 }], - "being": [{ "/community/faq": 1 }], - "installation": [{ "/community/faq": 1 }], - "interested": [{ "/community/faq": 3 }], - "contributing": [{ "/community/faq": 2 }], - "awesome": [{ "/community/faq": 2 }], - "pull": [{ "/community/faq": 1 }], - "requests": [{ "/community/faq": 1 }], - "fixes": [{ "/community/faq": 1 }], - "happy": [{ "/community/faq": 2 }], - "comments": [{ "/community/faq": 1 }], - "suggestions": [{ "/community/faq": 1 }], - "ideas": [{ "/community/faq": 1 }], - "innersourcing": [{ "/community/faq": 3 }], - "designers": [{ "/community/faq": 1 }], - "assets": [{ "/community/faq": 3 }], - "standardized": [{ "/community/faq": 2 }], - "figma": [{ "/community/faq": 3 }], - "preferred": [{ "/community/faq": 1 }], - "designing": [{ "/community/faq": 3 }], - "sticker": [{ "/community/faq": 2 }], - "sheet": [{ "/community/faq": 2 }], - "pattern": [{ "/community/faq": 1 }], - "wide": [{ "/community/faq": 1 }], - "array": [{ "/community/faq": 1 }], - "kick": [{ "/community/faq": 1 }], - "adobe": [{ "/community/faq": 1 }], - "illustrator": [{ "/community/faq": 1 }], - "sketch": [{ "/community/faq": 1 }], - "maintaining": [{ "/community/faq": 1 }], - "maintain": [{ "/community/faq": 1 }], - "across": [{ "/community/faq": 2 }], - "continuously": [{ "/community/faq": 1 }], - "section": [{ "/community/faq": 1 }], - "prioritize": [{ "/community/faq": 1 }], - "interest": [{ "/community/faq": 1 }], - "expressed": [{ "/community/faq": 1 }], - "demo": [{ "/community/faq": 1 }], - "seeing": [{ "/community/faq": 1 }], - "past": [{ "/community/faq": 1 }], - "present": [{ "/community/faq": 1 }], - "materials": [{ "/community/faq": 1 }], - "creative": [{ "/community/faq": 1 }], - "freedom": [{ "/community/faq": 1 }], - "designer": [{ "/community/faq": 1 }], - "meant": [{ "/community/faq": 1 }], - "limit": [{ "/community/faq": 1 }], - "creativity": [{ "/community/faq": 1 }], - "box": [{ "/community/faq": 1 }], - "family": [{ "/community/faq": 1 }], - "aspects": [{ "/community/faq": 1 }], - "fair": [{ "/community/faq": 1 }], - "game": [{ "/community/faq": 1 }], - "identity": [{ "/community/faq": 1 }], - "says": [{ "/community/faq": 1 }], - "achievable": [{ "/community/faq": 1 }], - "side": [{ "/community/faq": 1 }], - "concerns": [{ "/community/faq": 1 }], - "valuable": [{ "/community/faq": 1 }], - "rest": [{ "/community/faq": 1 }], - "discussion": [{ "/community/faq": 1 }], - "looking": [{ "/community/faq": 1 }] + "activity": [{ "/development/testing": 1 }] }, "keyword": { "Overview": [{ "/overview": 1 }], "of": [{ "/overview": 1 }], - "V": [{ "/overview": 1 }], - "Systems": [{ "/overview": 1 }], + "V": [ + { "/overview": 1 }, + { "/get-started/where-to-begin": 1 }, + { "/get-started/smart-contracts/v-stable-swap": 1 }, + { "/get-started/smart-contracts/v-option": 1 }, + { "/get-started/smart-contracts/v-escrow": 1 } + ], + "Systems": [{ "/overview": 1 }, { "/get-started/where-to-begin": 1 }], "Documentation": [{ "/overview": 1 }], - "web": [ - { "/get-started/new-project": 1 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 } - ], - "mobile": [ - { "/get-started/new-project": 1 }, - { "/get-started/mobile": 1 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "new": [{ "/get-started/new-project": 1 }, { "/development/cli": 1 }], - "project": [{ "/get-started/new-project": 1 }, { "/development/cli": 1 }], - "compare": [ - { "/get-started/new-project": 1 }, - { "/get-started/mobile": 1 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-mobile/intro": 1 } - ], - "comparison": [ - { "/get-started/new-project": 1 }, - { "/get-started/mobile": 1 }, - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-mobile/intro": 1 } - ], - "hybrid": [ - { "/get-started/mobile": 1 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "native": [{ "/get-started/mobile": 1 }, { "/development/frameworks-mobile/react-native": 1 }], - "application": [{ "/get-started/mobile": 1 }], + "VSYS": [{ "/get-started/vsys-stack": 1 }], + "Stack": [{ "/get-started/vsys-stack": 1 }], + "New": [{ "/get-started/vsys-stack": 1 }], + "Project": [{ "/get-started/vsys-stack": 1 }], + "Guide": [{ "/get-started/vsys-stack": 1 }], + "Where": [{ "/get-started/where-to-begin": 1 }], + "to": [{ "/get-started/where-to-begin": 1 }], + "Begin": [{ "/get-started/where-to-begin": 1 }], + "Building": [{ "/get-started/where-to-begin": 1 }], + "on": [{ "/get-started/where-to-begin": 1 }], + "Blockchain": [{ "/get-started/where-to-begin": 1 }], + "web": [{ "/get-started/quick-tutorials": 1 }], + "application": [{ "/get-started/quick-tutorials": 1 }], + "introduction": [{ "/get-started/quick-tutorials": 1 }], + "framework": [{ "/get-started/quick-tutorials": 1 }], + "Token": [ + { "/get-started/smart-contracts/token-contract": 1 }, + { "/get-started/smart-contracts/nft-contract": 1 } + ], + "Contract": [ + { "/get-started/smart-contracts/token-contract": 1 }, + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/get-started/smart-contracts/nft-contract": 1 }, + { "/get-started/smart-contracts/v-atomic-swap": 1 }, + { "/get-started/smart-contracts/v-stable-swap": 1 }, + { "/get-started/smart-contracts/v-option": 1 }, + { "/get-started/smart-contracts/v-escrow": 1 } + ], + "Smart": [ + { "/get-started/smart-contracts/token-contract": 1 }, + { "/get-started/smart-contracts/lock-contract": 1 }, + { "/get-started/smart-contracts/nft-contract": 1 }, + { "/get-started/smart-contracts/v-stable-swap": 1 }, + { "/get-started/smart-contracts/v-option": 1 }, + { "/get-started/smart-contracts/v-escrow": 1 } + ], + "Lock": [{ "/get-started/smart-contracts/lock-contract": 1 }], + "Non-Fungible": [{ "/get-started/smart-contracts/nft-contract": 1 }], + "Atomic": [{ "/get-started/smart-contracts/v-atomic-swap": 1 }], + "Swap": [ + { "/get-started/smart-contracts/v-atomic-swap": 1 }, + { "/get-started/smart-contracts/v-stable-swap": 1 } + ], + "Stable": [{ "/get-started/smart-contracts/v-stable-swap": 1 }], + "Option": [{ "/get-started/smart-contracts/v-option": 1 }], + "Escrow": [{ "/get-started/smart-contracts/v-escrow": 1 }], "developer": [{ "/development/environment": 1 }], "develop": [{ "/development/environment": 1 }], "environment": [{ "/development/environment": 1 }], - "guide": [ - { "/development/environment": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "tutorial": [ - { "/development/environment": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "cli": [{ "/development/cli": 1 }], - "command": [{ "/development/cli": 1 }], - "line": [{ "/development/cli": 1 }], - "interface": [{ "/development/cli": 1 }], - "start": [{ "/development/cli": 1 }], - "introduction": [{ "/development/frameworks-web/intro": 1 }], - "framework": [ - { "/development/frameworks-web/intro": 1 }, - { "/development/frameworks-web/angular": 1 }, - { "/development/frameworks-web/react": 1 }, - { "/development/frameworks-mobile/intro": 1 }, - { "/development/frameworks-mobile/ionic": 1 }, - { "/development/frameworks-mobile/react-native": 1 } - ], - "angular": [{ "/development/frameworks-web/angular": 1 }], - "react": [{ "/development/frameworks-web/react": 1 }, { "/development/frameworks-mobile/react-native": 1 }], - "ionic": [{ "/development/frameworks-mobile/ionic": 1 }], + "guide": [{ "/development/environment": 1 }], + "tutorial": [{ "/development/environment": 1 }], "testing": [{ "/development/testing": 1 }], "test": [{ "/development/testing": 1 }], "unit": [{ "/development/testing": 1 }], @@ -3882,10 +2746,6 @@ "tdd": [{ "/development/testing": 1 }], "bdd": [{ "/development/testing": 1 }], "integration": [{ "/development/testing": 1 }], - "cypress": [{ "/development/testing": 1 }], - "bugs": [{ "/community/bugs": 1 }], - "faq": [{ "/community/faq": 1 }], - "question": [{ "/community/faq": 1 }], - "answers": [{ "/community/faq": 1 }] + "cypress": [{ "/development/testing": 1 }] } } diff --git a/src/database/sitemap-database.json b/src/database/sitemap-database.json index dcb854ed8..85f030d15 100644 --- a/src/database/sitemap-database.json +++ b/src/database/sitemap-database.json @@ -1,93 +1,58 @@ { - "": { "title": "Brightlayer UI | Powering Teams to Make What Matters*" }, + "": { "title": "V Systems Blockchain | The Blockchain for Real World Applications*" }, "/overview": { - "title": "What is Brightlayer UI?", + "title": "What is V Systems?", "text": "import { Divider, ImageGrid } from '../app/components';\nimport DesignSystemImage from '../app/assets/design-system.jpg';\n\n\n\n# Welcome to V Systems Documentation\n\n\n\nV Systems is a blockchain platform that supports the efficient and agile development of decentralized applications.\n\nV Systems is designed for real world use cases and has a set of composable “no code” smart contract templates that cover the vast majority of real-world smart contract use cases without any need for security audits.\n\n\n## Development\n\nV Systems is a layer-1 public blockchain. Our blockchain development platform makes the technology as user-friendly as possible and greatly ease the burden for developers while exceeding project requirements.\n\n- To learn about V Systems, check out our [Main Website](https://www.v.systems/).\n- To dive straight into development, see our [Development Resources](/get-started/where-to-begin) page.\n\n\n\n# About this site\n\nThis site will provide you with everything you need to get started with writing applications with the V Systems Protocol:\n\n- Pre-Requisites, a breakdown of the [V Systems Stack](/get-started/vsys-stack) you will need before writing any code.\n- Information Guides, including information on starting a [New Project](/get-started/where-to-begin) and the different types of applications you can build\n- DevNet Guides, including how to set up a [Development Environment](/get-started/where-to-begin), how to start a new project in any of our supported technologies\n- Code Examples/[Quick Tutorials](/design/intro) explaining how to use our V Systems templated smart contracts.\n- A [Smart Contracts](/resources) page that describe all the different smart contracts and functionality.\n" }, - "/get-started/new-project": { + "/get-started/vsys-stack": { + "title": "V Systems Stack", + "text": "import { Divider } from '../../app/components';\n\n\n\n# Start Building on V Systems Blockchain\n\nV Systems, our approach to application development dictates that developers should not need to write blockchain related code and that smart contracts should not require third-party security audits because our templates have already been audited.\n\n**Our stack has four layers.**\n\n## V Systems Blockchain Knowledge ( Layer-1 )\n\nThe V Systems blockchain is the lowest layer of the VSYS stack. It is where primary consensus happens, and it enables the no-code smart contracts, database API, and application specific side chains.\n\n## Database API\n\nFor stateful applications, our database API provides a simple, immutable, user funded way of storing application state. Optionally app development teams can choose to fund storage of application state using the database API. It is very flexible.\n\n## No Code Smart Contracts\n\nOur new code smart contracts enable developers to compose powerful functionality without needing to write any smart contract code. The smart contracts should not require third-party security audits because our templates have already been audited.\n\n## No Code Application Sidechains\n\nCurrently, we are developing no code application specific side chains. Basically, these combine the no-code smart contracts and the Database API but provide their very own chain. Chains built in this manner will gain access to instant liquidity from a DEX built into the V Systems blockchain.\n\n\n\n\n# Deciding What Kind of Application to Build\n\nWith a new project, the nature of the project often determines which type of application you will need.\n\n## This Project is Replacing an Existing Product\n\nThink about the existing product and how it is used. Gather feedback from existing users and identify areas for improvement.\n\nIn general, you will want to at least provide the same type of application as before (unless user feedback suggests that it's not what they need). If you had a web application before, you may want to build a responsive web application this time. Alternatively, you may want to expand on the existing product by offering a mobile application.\n\n## This is a Brand New Product (never before seen)\n\nThink about how the product will be used. Does it offer features that users will want to access on the go? Is it going to be actively used in the field, or is it something users will more likely use from their desk?\n\nIn general, you can't go wrong with a web application. If you do your due diligence and design a properly responsive application, you will be able to access it from any connected device, including mobile. If you suspect that the primary mode of interacting with the application will be from a mobile device or if the application needs to work offline, you may want to consider building a dedicated mobile app.\n\n" + }, + "/get-started/where-to-begin": { "title": "Where to Begin?", - "text": "import { Divider } from '../../app/components';\n\n\n\n# New Project Guide\n\nWhen approaching a potential new project, it can be challenging to know where to start. As a first step, it's helpful to decide if this is going to be a web application, mobile application, or both. Here is a run-down of these different types of applications.\n\n## Web Applications\n\nThese applications are accessible over the web. They can be accessed from any device with a network connection and a web browser (personal computer, mobile phone). To learn more about what a web application entails, check out our [Web App](/get-started/web) guide.\n\n## Mobile Applications\n\nMobile applications are intended to be used strictly on mobile devices (e.g., cell phones, tablets, etc.). These can be downloaded directly to the device (e.g., from the App Store or Google Play) and do not have to be connected to the Internet to run. To learn more about what a mobile application entails, including the difference between native and hybrid apps, check out our [Mobile App](/get-started/mobile) guide.\n\n\n\n# Deciding What Kind of Application to Build\n\nWith a new project, the nature of the project often determines which type of application you will need.\n\n## This Project is Replacing an Existing Product\n\nThink about the existing product and how it is used. Gather feedback from existing users and identify areas for improvement.\n\nIn general, you will want to at least provide the same type of application as before (unless user feedback suggests that it's not what they need). If you had a web application before, you may want to build a responsive web application this time. Alternatively, you may want to expand on the existing product by offering a mobile application.\n\n## This is a Brand New Product (never before seen)\n\nThink about how the product will be used. Does it offer features that users will want to access on the go? Is it going to be actively used in the field, or is it something users will more likely use from their desk?\n\nIn general, you can't go wrong with a web application. If you do your due diligence and design a properly responsive application, you will be able to access it from any connected device, including mobile. If you suspect that the primary mode of interacting with the application will be from a mobile device or if the application needs to work offline, you may want to consider building a dedicated mobile app.\n" + "text": "import { Divider } from '../../app/components';\n\n\n\n# Getting Started\n\nIn this documentation, we are going to run a dev net on your local machine with **2 nodes where one acts as a minter and the other acts as a normal peer.**\n\n> VSYS uses the SPoS consensus mechanism where there are up to 60 nodes that act as supernodes(minter) and have the privilege to generate new blocks. Other nodes are normal peers in the net.\n\n> There are 3 kinds of net as listed below: \n- Main net: the public production net where everything happens counts.\n- Test net: the public staging net that simulates the main net for testing purposes(e.g. QA test of DApps before deploying to the main net).\n- Dev net: the private local net for developing purposes(e.g. quickly verify features during developing)\n\n\n\n# Build Your Own V Systems Dev Net\n## Prerequisites\n\nEnsure that you have:\n- installed [Docker](https://www.docker.com/get-started) on your local machine\n- installed [Scala & sbt](https://docs.scala-lang.org/getting-started/index.html) on your local machine\n\n## Generate TestNet Wallet\n\n1. Git clone the v-wallet-generator repo & go to the root directory.\n\n```python:\ngit clone git@github.com:virtualeconomy/v-wallet-generator.git\ncd v-wallet-generator\n```\n\n2. Enter sbt shell & run\n```python:\n$ sbt\nsbt:walletgenerator> run --testnet --count 10\n```\n\nCollect the output and save it as a file where you have something like below. We are going to need it later.\n\n```python:\n-----------------------------------------------------------------------------------------------------------------------------------------------------\nIMPORTANT - COPY OR MEMORIZE THE SEED PHRASE BELOW FOR KEY RECOVERY!!!\nseed : foam render square glide social breeze bamboo miracle quick depart wife gravity antique cry offer\n------------------------------------------------------------------------------------------------------------------------------------------------------\naddress # : 0\naddress : AU1kWYYThZCiSZC9qPifFpGAoxuut5p2ELv\npublic key : GdJMs3FiB3xBDm3P5a76aPM4sGm4NbkXVDUjm1YYFhDu\nprivate key : Cu5EWAKKH4HHART8sKfxB1rKXBghG8uNL5dynw39mC5z\naccount seed : Afqc3coMs5knqmwYnaSgYKqMeVVp487ShBg3hj3AuSZj\n------------------------------------------------------------------------------------------------------------------------------------------------------\naddress # : 1\naddress : AUAA4PxhoYWxhdAt5PbCvZArSnFeQytAWet\npublic key : AttEU9KBEQCfGawQ5i86wCFA4Uvy1qBWY5WdXm5A8uHd\nprivate key : 4n32Erz3YGX9XCnFQACQAiRjA9oy8iNEN6pnnEziULBh\naccount seed : 5FL5KhSrWdcG5dsAe2fTSASzuuoEAf25hmVZLXsX6ZUD\n------------------------------------------------------------------------------------------------------------------------------------------------------\n... (and more)\n```\n\n## Generate Gensis Block Data\n\n> A Genesis Block is the first block of the blockchain network. It has a list of initial accounts in it.\n\n1. Git clone the v-systems repo & go to the root directory.\n\n```python:\ngit clone git@github.com:virtualeconomy/v-systems.git\ncd v-systems\n```\n\n2. Update the value wallet_addresses in src/test/scala/tools/DevelopnetGenesisBlockGenerator.scala with addresses generated in the last step.\n\n3. Run DevelopnetGenesisBlockGenerator.scala at the root of project v-systems\n\n```python:\nsbt \"test:runMain tools.DevelopnetGenesisBlockGenerator\"\n```\n\nCollect the output and save it as a file where you have something like below. We are going to need it later.\n\n```python:\n[info] GenesisSettings:\n[info] timestamp: 1606373598254137883\n[info] blockTimestamp: 1606373598254137883\n[info] averageBlockDelay: 60 seconds\n[info] initialBalance: 500000000000000000\n[info] initialMintTime: 1606373598000000000\n[info] signature: Some(3yzHvLWnzug8x5ut1M3fftbcy3aWgbYCmyYtSp2A3vLB6aAVvbDnHARfTcuzDygaEGE6qgJHb4cZ8fGjuj9b9ChF)\n[info] transactions:\n[info] GenesisTransactionSettings(ATwAPYdriV1aRXAWYmLViW7Y6K5Jb5bZDkT,50000000000000000,0)\n[info] GenesisTransactionSettings(AUCUg4dFgn52U2PgZb9YhehBXnSqp8EMRqH,50000000000000000,6)\n[info] GenesisTransactionSettings(AU6sMeLdsswqDQrw4RDo5PVxdGh1v6JDv6t,50000000000000000,12)\n[info] GenesisTransactionSettings(ATyssF9z8RQRX9UJwwJLm5SbFEFGqEzYSnb,50000000000000000,18)\n[info] GenesisTransactionSettings(AUDwJXq3esDqasmyVrN5FpXr7iFbKSXL8E2,50000000000000000,24)\n[info] GenesisTransactionSettings(AUA1pbbCFyFSte38uENPXSAhZa7TH74V2Tc,50000000000000000,30)\n[info] GenesisTransactionSettings(AU7fEwBgHpe6oeH1iuo2mE5TMCrBxPR8LFc,50000000000000000,36)\n[info] GenesisTransactionSettings(ATxtBDygMvWtvh9xJaGQn5MdaHsbuQxbjiG,50000000000000000,42)\n[info] GenesisTransactionSettings(AU1EWbfR8mTwbvzgnY8wdpLy3vEvF64WSEE,50000000000000000,48)\n[info] GenesisTransactionSettings(AU4u8erPGstSFSCU1U6cLyFNeR9Cbk1x8eU,50000000000000000,54)\n```\n\n## Generate Gensis Block Data\n\n> The node exposes a list of RESTful APIs for users to interact with the blockchain. To get a feel, see the public Swagger API doc for our test net.
\n You may have noticed that some endpoints have a little lock on the right side. It means the endpoint is privileged and has to be used with an API key(i.e. only people with the API key can call it).
\n The hash of the key is planted into the node’s configuration hence the node can verify the key\n\n\n```python:\ncurl \\\n -X POST \\\n -H \"Content-Type: text/plain\" \\\n --data \"my_api_key\" \\\n http://veldidina.vos.systems:9928/utils/hash/secure\n ```\n\n You can replace my_api_key with anything you like. Collect the hash and we are going to need it later.\n\nBelow is an example response\n\n```python:\n{\n \"message\" : \"my_api_key\",\n \"hash\" : \"7AshJ286oqdpTYoFbEWXDEqY313qYiaFHMvKYTGXsgwY\"\n}\n```\n\n## Compose Node Configuration\n\nDownload the template configuration file attached below and update for the minter node & peer node accordingly. Fields to update are decorated with a comment # TODO above so you can quickly navigate to them by searching # TODO in a text editor.\n\nThe minter & the peer share most parts of the configuration. The key difference lies in the ports they use.\n\n1. For RESTful API ports, minter uses 8080, peer uses 8000\n\n2. For nodes communication ports, minter uses 19923, peer uses 19924 \n\n\n## Launch Docker Container\n\n1. Download the Dockerfile attached below and build the image locally\n\n```python:\ndocker build -t vsys -f {path_to_the_dockerfile} .\n```\n\nThe VSYS node jar version is by default 0.4.1. It can be overridden by using the --build-arg flag when building.\n\n```python:\ndocker build -t vsys -f {path_to_the_dockerfile} --build-arg VSYS_VER=x.y.z .\n```\n\n2. Launch a container for minter\n\n```python:\ndocker run -it \\\n-p 8080:8080 \\\n-p 19923:19923 \\\n--name minter \\\n--mount type=bind,source=\"/absolute/path/to/your/minter.conf\",target=\"/vsys/vsys.conf\" \\\nvsys\n```\n\n3. Launch a container for peer\n\n```python:\ndocker run -it \\\n-p 8000:8000 \\\n-p 19924:19924 \\\n--name peer \\\n--mount type=bind,source=\"/absolute/path/to/your/peer.conf\",target=\"/vsys/vsys.conf\" \\\nvsys\n```\n\n## Verify the Dev Net Runs Properly\n\n1. Type 127.0.0.1:8080 & 127.0.0.1:8000 in the browser and see if the Swagger API doc shows up.\n\n2. Call curl -X GET http://127.0.0.1:8080/blocks/height and see if the height increments by ONE per minute. Below is a quick shell script to query the height every 10 seconds.\n\n```python:\nwhile true; do\n curl -X GET http://127.0.0.1:8080/blocks/height\n sleep 10\ndone\n```" }, - "/get-started/web": { "title": "Web Apps" }, - "/get-started/mobile": { - "title": "Mobile Apps", - "text": "import { Divider } from '../../app/components';\n\n\n\n# Mobile Applications\n\nMobile applications are very popular. They can be accessed anywhere you can take your mobile device, both online and offline, and can take greater advantage of device features and capabilities than a web application.\n\nMobile applications come in two primary varieties: native apps and hybrid apps.\n\n## Native mobile apps\n\n- Must be built using the native code that runs on mobile devices. In general, that means Java (Android) or Swift / Objective C (iOS)\n- Should adhere to the design and development guidelines for the intended platforms:\n - [iOS Guidelines](https://developer.apple.com/design/human-interface-guidelines/ios/overview/themes/)\n \n - [Android Guidelines](https://developer.android.com/design/index.html)\n \n\nAndroid and iOS are the dominant players in the mobile market, but you should check with your particular users to see what is most prevalent in your target market.\n\n## Hybrid mobile apps\n\n- Maintained as a single code base that is deployed to multiple different device types (namely iOS and Android)\n- Built using web-technologies (i.e. JavaScript)\n - low barrier to entry for web developers\n- Implemented differently depending on the framework:\n - some compile down to native components\n - others render all content in a web view (essentially a web page running inside of an app)\n\n\n\n# Comparing the two approaches\n\n## Native mobile apps\n\n- Guaranteed to look & feel like an app since it uses native components\n- Requires more specialized development expertise\n- Requires separate code bases for different operating systems\n - Longer development time\n - More expensive / more maintenance\n\n## Hybrid mobile apps\n\n- Reduces development time thanks to shared code base\n- Provides more technology options\n - Many different hybrid platforms / tools available\n- Allows for a consistent look on different platforms\n- Makes development easier by using web technologies, but it's also easier to make something that doesn't follow standard mobile patterns\n\n\n\n# So, which one should you use?\n\nOur recommendation for mobile applications is to take a hybrid approach. This will allow you to deploy multiple versions of your application (i.e. iOS and Android) from a single code base. We offer support for several different approaches to building hybrid apps (see our [Mobile Framework Introduction](/development/frameworks-mobile/intro) to learn about the technologies we support).\n\nIf you prefer to build a strictly native app and adhere to the Brightlayer UI standards, there are ways of doing this using [Material Design Components for Android](https://material.io/develop/android/) and [Material Design Components for iOS](https://material.io/develop/ios/).\n\n> **NOTE:** Brightlayer UI support for native mobile applications is limited - if you are planning to go this route, please [Contact us](/community/contactus).\n" + "/get-started/quick-tutorials": { + "title": "Quick Tutorials", + "text": "\n\n# Quick Tutorials\n\nOur developers are in the middle of creating new tutorials for everyone to use. We'll be back soon." }, - "/development/environment": { - "title": "Environment Setup", - "text": "import { Divider } from '../../app/components';\n\n\n\n# Setting up Your Development Environment\n\nGetting started is often the most frustrating part of application development. Fortunately, many of the modern JavaScript frameworks have made great strides in providing tools to get you up and running as quickly as possible. Below, we walk through the basics of getting your system set up to develop.\n\n## Integrated Development Environment (IDE)\n\nThere are a bunch of different IDEs on the market, and in general you should be able to use any of these that you like and are comfortable with. If you don't have a personal preference, we recommend trying [Visual Studio Code](https://code.visualstudio.com) - it is quite excellent and comes with a variety of tools to make your development experience seamless. And it's free!\n\n## Git\n\nChances are, you probably want to keep your application in source control. Git is one of the big players in this space (it's also the backbone for BitBucket).\n\nYou may already have git installed. To check, run:\n\n```sh\ngit --version\n```\n\nin a command prompt. If you don't have git installed, you can download it from the [Git Website](http://git-scm.com/downloads).\n\nIf you are behind a proxy, you'll also need to set up the git proxies as well:\n\n```sh\ngit config --global http.proxy http://url.to.your.proxy:port\ngit config --global https.proxy http://url.to.your.proxy:port\n```\n\nThe proxy addresses may vary depending on your location. Consult your local IT department if you’re not sure.\n\n## Node\n\nThe majority of JavaScript frameworks (and Brightlayer UI resources) are available via the Node Package Manager (NPM). This package manager allows you to install a variety of third party tools, packages, and other dependencies that you need for your applications. To use NPM, you will need to install [NodeJS](https://nodejs.org/en/download/).\n\n## Yarn\n\nOur projects and example code are set up to be run using yarn, but if you prefer, you're welcome to use NPM in your projects instead. Instructions for installing yarn on various operating systems can be found on the [Yarn Website](https://yarnpkg.com/en/docs/install).\n\nTo check if you have yarn installed, run:\n\n```sh\nyarn -v\n```\n\nfrom a command prompt. If you are behind a proxy, you will also need to configure your proxy settings. It may be sufficient for you to set `HTTP_PROXY` and `HTTPS_PROXY` in your environment variables. However, you may need to also explicitly set proxy values for yarn:\n\n```sh\nyarn config set proxy http://url.to.your.proxy:port\nyarn config set https-proxy http://url.to.your.proxy:port\n```\n\nThe proxy addresses may vary depending on your location. Consult your local IT department if you’re not sure. Once you have configured the proxy, you should be able to install packages by using:\n\n```sh\nyarn add \n```\n\n> If you are installing packages globally using yarn, you will need to ensure that your PATH variable has an entry pointing to your global yarn install directory. This location will vary based on your operating system.\n\n\n\n# Hybrid App Development\n\nIf you are setting up for building a mobile app, there are some additional steps you will want to take to prepare. The following requirements are the basics. Depending on your selected [framework](/development/frameworks-mobile/intro), there will be other specific setup steps detailed in our Getting Started Guides.\n\n## Prerequisites\n\n### Hardware\n\nMobile development is resource-intensive, so you will need a development machine that is up to the task. Your machine should at least match the following minimum requirements:\n\n- a Mac (if you plan on building or testing iOS locally)\n- 16GB RAM or more (running multiple emulators can easily push you over 20GB)\n- Solid State Hard Drive (SSD)\n- 5/6 Gen Core i7 with Virtualization Technology or better\n\n### Software\n\nThere are a few software tools that you will need before you can get started:\n\n\n\n- [Android Studio](https://developer.android.com/studio/) (required for building for Android)\n \n- [xCode](https://developer.apple.com/xcode/) (Mac-only, required for building for iOS)\n" + "/get-started/smart-contracts/token-contract": { + "title": "Token Contract", + "text": "\n\n# Token Contract\n\n## Introduction\n\nA **Token Contract** allows users to set up their own tokens on an existing blockchain (e.g. the VSYS chain in our case).\n\nA token is a logical entity on the blockchain. It can represent basically everything that can be stored in a database. Be it a fiat currency like USD, financial assets like a share in a company, or even reputation points of an online platform.\n\nA contract can be thought of as a class in OOP with a bunch of methods. After creating an instance of a contract, functions can be called by sending the function index and arguments(A.K.A Data Stack) to the contract instance.\n\n\n\n> If you are new to blockchain, it is highly recommended to quickly go through resources in External Resources of Topics in Blockchain to equip yourself with fundamental knowledge before going further.\n\n\n\nThere are two types of tokens, namely token with split and token without split in VSYS. The key difference is **if a token can be further broken down into smaller pieces (and vice versa)**. For example, Bitcoin is token with spilt as it is possible to buy 0.1 Bitcoin while a song is token without split as it makes no sense to buy half a song.\n\nNote that **one instance of Token Contract can define only ONE kind of token for now** though theoretically, it is possible to have multiple kinds of tokens within a contract.\n\n\n## Available Functions for Token Contract\n\n| Executable functions \t| Function ID for Token without Split \t| Function ID for Token with Split \t| Input types \t| Input Types \t| Description \t| Available Only to the Address with the Issuing Right \t|\n|:--------------------:\t|:-----------------------------------:\t|:--------------------------------:\t|:-----------------------------------:\t|:-----------------------------------:\t|:-------------------------------------------------------------:\t|:----------------------------------------------------:\t|\n| TotalSupply \t| 7 \t| 8 \t| () \t| () \t| Currently not used \t| \t|\n| MaxSupply \t| 8 \t| 9 \t| () \t| () \t| Currently not used \t| \t|\n| GetIssuer \t| 10 \t| 11 \t| () \t| () \t| Currently not used \t| \t|\n| Supersede \t| 0 \t| 0 \t| (\"newIssuer\") \t| (address) \t| Transfer the issuing right of the contract to another account \t| \t|\n| BalanceOf \t| 9 \t| 20 \t| (\"address\") \t| (address) \t| Currently not used \t| \t|\n| Send \t| 3 \t| 4 \t| (\"recipient\", \"amount\") \t| (address, amount) \t| Send tokens \t| \t|\n| Transfer \t| 4 \t| 5 \t| (\"sender\", \"recipient\", \"amount\") \t| (address, address, amount) \t| Transfer tokens from sender to recipient \t| \t|\n| Deposit \t| 5 \t| 6 \t| (\"sender\", \"contract\", \"amount\") \t| (address, contract_account, amount) \t| Deposit tokens into another contract \t| \t|\n| Issue \t| 1 \t| 1 \t| (\"amount\") \t| (amount) \t| Issue new tokens \t| Yes \t|\n| Destroy \t| 2 \t| 2 \t| (\"amount\") \t| (amount) \t| Destroy tokens \t| Yes \t|\n| Split \t| N/A \t| 3 \t| (\"newUnit\") \t| (amount) \t| Update the unit \t| Yes \t|\n| Withdraw \t| 6 \t| 7 \t| (\"contract\", \"recipient\", \"amount\") \t| (contract_account, address, amount) \t| Withdraw tokens from another contract \t| \t|\n\n\n## FAQ\n\n### What is \"Unit\"?\n\n“Unit” is the granularity of splitting a token. It can be thought of as the smallest denomination available. Let’s take real-world money as an example, if the unit is set to 100, it means the smallest denomination is a cent, and 100 cents is a dollar.\n\n**“Unit” exists to use only integers to represent splitted tokens(e.g. 0.1) as float computation is uncertainty-prone**. If we set unit == 100, 1.5 tokens are actually stored as 150 in the blockchain.\n\n\n### Difference between the function \"Send\" & \"Transfer\"?\n\n**Transfer** is the most powerful function as it allows customising the sender & the recipient at the same time. \n\n> For contract functions, the contract instance would verify the invoker as per its pre-defined whitelist. Actions defined in the function would be taken only if the invoker is proved valid.\n\nFunction Send, Deposit, and Withdraw can be considered as special cases of Transfer and is built on top ofTransfer.\n\nSend: The sender is set to the invoker itself. The recipient has to be an account.\n\nDeposit: The sender has to be the invoker itself. The recipient has to be a contract\n\nWithdraw: The sender has to be a contract. The recipient has to be the invoker itself.\n\nCalling Transfer with the sender and the recipient both set to a contract is NOT supported yet but theoretically possible.\n\n> It is discouraged to call function Transfer directly in application codes. Call more specialised function like Send, Deposit, Withdraw instead.\n\n\n## Tutorial\n\nIn this tutorial, we are going to create a new Token Contract with **splittable** tokens and play around with it. Token Contract with **unsplittable** tokens is basically the same except that it does not have the split function.\n\nThis tutorial is built upon the [Python SDK](https://github.com/virtualeconomy/pyvsystems) of V Systems Github.\n\n### 0. Pre-Requisites\n\n Ensure that you have:\n\n 1. Tried out the Swagger interactive API doc for RESTful APIs of the Testnet. It is a user-friendly tool to query the status and verify the changes on the chain\n\n 2. Gone through the tutorial of building your own VSYS dev net and have your Testnet wallet seed available after it\n\n 3. Topped up sufficient VSYS coins to the devnet(http://veldidina.vos.systems:9928/) as the gas fee for the tutorial. Gas fee for some operations:\n\n - Create a contract: 100 VSYS\n\n - Execute a contract function: 0.3 VSYS\n\n 4. Installed Python 3.7+\n\n 5. installed pipenv via which we will install the Python SDK of V Systems\n\n\n\n### 1. Get the Example Codes & Set Up Environment\n\n Clone the repository of example codes\n\n```python:\ngit clone git@github.com:virtualeconomy/py-v-sdk-examples.git\n```\n\n\nGo to the root directory of the repo and install dependencies\n```python:\npipenv install\n```\n\nFill in your Testnet wallet seed in main.py\n\n```python:\nNODE_HOST = \"http://veldidina.vos.systems:9928\" # The testnet\nWALLET_SEED = \"\" # <--- Fill in your testnet wallet seed here\n```\n\nLeave only the playground function try_token_contract() in the main function and comment out other playground functions.\n\n```python:\ndef main():\n try_token_contract()\n # try_atomic_swap_contract()\n```\n\n> Statements for common operations are provided in the playground function try_token_contract and can be commented out on demand when playing around.\n\n\n### 2. Register a Token Contract\n\nComment out everything in the playground function try_token_contract() to leave only the snippet below.\n\n\n```python:\n# Register a Token Contract with splittable tokens\n# Note that it registers a new Token Contract every time it runs\ntc = TokenContract.register(\n by=ACNT_0,\n max=1_000_000_000,\n unit=1,\n split=True,\n)\n```\n\nRun it by python main.py\n\nA Python dictionary will be printed to the console. Find the contractId in it and fill it to the variable tok_ctrt_id\n\n```python:\n# The contract id found in the output of registering the Token Contract\ntok_ctrt_id = \" \" # <--- Fill in here\n```\n\nWe can call the endpoint /contract/info/{contractId} to verify that the contract is created through the [Swagger interactive API doc for RESTful APIs of the Testnet](http://veldidina.vos.systems:9928/api-docs/index.html)\n\nBelow is an example response body:\n\n```python:\n{\n \"contractId\": \"CF3XtMkL34hFPuDjsRiCPB2mitE8Nf8wwe3\",\n \"transactionId\": \"72oJ6qzBJw1ATGV6KTruFcPLEBeJ6yD4VwDhuEUU3Zu6\",\n \"type\": \"TokenContractWithSplit\",\n \"info\": [\n {\n \"data\": \"AU6BNRK34SLuc27evpzJbAswB6ntHV2hmjD\",\n \"type\": \"Address\",\n \"name\": \"issuer\"\n },\n {\n \"data\": \"AU6BNRK34SLuc27evpzJbAswB6ntHV2hmjD\",\n \"type\": \"Address\",\n \"name\": \"maker\"\n }\n ],\n \"height\": 301588\n}\n```\n\nWe can see that the contract we just created is of type TokenContract. The address we used to register the contract is both the issuer and the maker of this contract.\n\nA Token Contract can have only 1 kind of token. We can get the token ID by calling /contract/contractId/{contractId}/tokenIndex/0\n\nBelow is an example response body:\n\n```python:\n{\n \"tokenId\": \"TWteznkp33Ttrmb6CJPeb5fWU4LH4zqJFMEbJMeQT\"\n}\n```\n\nFill in the tok_id variable with it.\n\n```python:\n# The token id of the contract we just created\ntok_id = \"\" # <--- Fill in here\n```\n\nNow let’s check out the token defined in the contract. \n\nCall /contract/tokenInfo/{tokenId} and below is an example response body\n\n```python:\n{\n \"tokenId\": \"TWteznkp33Ttrmb6CJPeb5fWU4LH4zqJFMEbJMeQT\",\n \"contractId\": \"CF3XtMkL34hFPuDjsRiCPB2mitE8Nf8wwe3\",\n \"max\": 1000000000,\n \"total\": 0,\n \"unity\": 1,\n \"description\": \"\"\n}\n```\n\nWe don’t have any tokens yet as indicated by the field \"total\" as we haven’t issued any. We would do so in the next step.\n\n\n### 3. Issue Tokens\n\nLet’s issue 5000 tokens. Comment out everything in the playground function try_token_contract() to leave only the snippet below.\n\n```python:\ntok_ctrt_id = \"your_token_contract_id\"\n\ntc = TokenContract(\n contract_id=tok_ctrt_id,\n split=True,\n)\n\n# Issue tokens\ntc.issue(\n by=ACNT_0,\n amount=5_000,\n)\n```\n\nRun it by python main.py\n\nWe can verify it by calling /contract/tokenInfo/{tokenId}. Below is an example response body.\n\n```python:\n{\n \"tokenId\": \"TWteznkp33Ttrmb6CJPeb5fWU4LH4zqJFMEbJMeQT\",\n \"contractId\": \"CF3XtMkL34hFPuDjsRiCPB2mitE8Nf8wwe3\",\n \"max\": 1000000000,\n \"total\": 5000,\n \"unity\": 1,\n \"description\": \"\"\n}\n```\n\nGreat! we just issued 5000 tokens.\n\nYou may wonder who owns the tokens we just issued. Call /contract/balance/{address}/{tokenId} where the address is the address of the account we used to issue the tokens.\n\nThe address is a Base58 format string and is stored as the address attribute of pv.Account objects. For example, to print out the address of ACNT_0.\n\n```python:\nprint(ACNT_0.address)\n```\n\nBelow is an example response body.\n\n\n```python:\n{\n \"address/contractId\": \"AU6BNRK34SLuc27evpzJbAswB6ntHV2hmjD\",\n \"height\": 301675,\n \"tokenId\": \"TWteznkp33Ttrmb6CJPeb5fWU4LH4zqJFMEbJMeQT\",\n \"balance\": 5000,\n \"unity\": 1\n}\n```\n\nAs you may have guessed, the freshly issued tokens belong to the issuer.\n\n\n### 4. Destroy Tokens\n\nSometimes you may want to destroy some tokens(e.g. to mitigate inflation). Comment out everything in the playground function try_token_contract() to leave only the snippet below.\n\n```python:\ntok_ctrt_id = \"your_token_contract_id\"\n\ntc = TokenContract(\n contract_id=tok_ctrt_id,\n split=True,\n)\n\ntc.destroy(\n by=ACNT_0,\n amount=2_000,\n)\n```\n\nRun it by python main.py\n\nLet’s now verify it by calling /contract/tokenInfo/{tokenId}. Below is an example response body.\n\n```python:\n{\n \"tokenId\": \"TWteznkp33Ttrmb6CJPeb5fWU4LH4zqJFMEbJMeQT\",\n \"contractId\": \"CF3XtMkL34hFPuDjsRiCPB2mitE8Nf8wwe3\",\n \"max\": 1000000000,\n \"total\": 3000,\n \"unity\": 1,\n \"description\": \"\"\n}\n```\n\nThe total number of tokens has been reduced from 5000 to 3000.\n\n\n### 5. Send Tokens\n\nIt does not make much sense if tokens are all kept to a single account. We can send tokens to another account. Comment out everything in the playground function try_token_contract() to leave only the snippet below.\n\n```python:\ntok_ctrt_id = \"your_token_contract_id\"\n\ntc = TokenContract(\n contract_id=tok_ctrt_id,\n split=True,\n)\n\ntc.send(\n by=ACNT_0,\n recipient=ACNT_1.address,\n amount=500,\n)\n```\n\nRun it by python main.py\n\nLet’s verify if ACNT_1 got the tokens by calling /contract/balance/{address}/{tokenId} respectively for ACNT_0 & ACNT_1. Below are example response bodies.\n\n```python:\n{\n \"address/contractId\": \"AU6BNRK34SLuc27evpzJbAswB6ntHV2hmjD\",\n \"height\": 301778,\n \"tokenId\": \"TWteznkp33Ttrmb6CJPeb5fWU4LH4zqJFMEbJMeQT\",\n \"balance\": 2500,\n \"unity\": 1\n}\n\n{\n \"address/contractId\": \"AU5NsHE8eC2guo3JobD8jrGvnEDQhBP8GtW\",\n \"height\": 301781,\n \"tokenId\": \"TWteznkp33Ttrmb6CJPeb5fWU4LH4zqJFMEbJMeQT\",\n \"balance\": 500,\n \"unity\": 1\n}\n```\n\n### 6. Transfer Tokens\n\nYou may have noticed that there’s a quite similar function named transfer. It is the more powerful function actually used behind the scene in functions like send, deposit, and withdraw. \n\nLet’s send some tokens but with transfer this time.\n\nComment out everything in the playground function try_token_contract() to leave only the snippet below.\n\n```python:\ntok_ctrt_id = \"your_token_contract_id\"\n\ntc = TokenContract(\n contract_id=tok_ctrt_id,\n split=True,\n)\n\ntc.transfer(\n by=ACNT_0,\n sender=ACNT_0.address,\n recipient=ACNT_1.address,\n amount=300,\n)\n```\n\nRun it by python main.py\n\nLet’s verify if ACNT_1 got the tokens by calling /contract/balance/{address}/{tokenId} respectively for ACNT_0 & ACNT_1. Below are example response bodies.\n\n```python:\n{\n \"address/contractId\": \"AU6BNRK34SLuc27evpzJbAswB6ntHV2hmjD\",\n \"height\": 301795,\n \"tokenId\": \"TWteznkp33Ttrmb6CJPeb5fWU4LH4zqJFMEbJMeQT\",\n \"balance\": 2200,\n \"unity\": 1\n}\n\n{\n \"address/contractId\": \"AU5NsHE8eC2guo3JobD8jrGvnEDQhBP8GtW\",\n \"height\": 301791,\n \"tokenId\": \"TWteznkp33Ttrmb6CJPeb5fWU4LH4zqJFMEbJMeQT\",\n \"balance\": 800,\n \"unity\": 1\n}\n```\n\n### 7. Deposit Tokens to Another Contract\n\nFirst of all, we need to have a contract instance that can hold tokens and we will create an Atomic Swap Contract for it. \n\nComment out everything in the playground function try_token_contract() to leave only the snippet below.\n\n```python:\ntok_id = \"your_token_id\"\n\nAtomicSwapContract.register(\n by=ACNT_0,\n token_id=tok_id,\n)\n```\n\nRun it by python main.py\n\nFind the contractId in the output and fill in the variable atomic_swap_contract_id.\n\n```python:\n# The contract id found in the output of registering the Atomic Swap Contract\natomic_swap_contract_id = \"\" # <--- Fill in here\n```\n\nWe can call the endpoint /contract/info/{contractId} to verify that the contract is created.\n\n```python:\n{\n \"contractId\": \"CEz2xC1P1qxTm11Eq5Yj42d55VoRwaJP386\",\n \"transactionId\": \"GeVejr5tbzS26WmK7Lq5wz9Q9kCMbYZ6iBQi6afpYfC6\",\n \"type\": \"AtomicSwapContract\",\n \"info\": [\n {\n \"data\": \"AU6BNRK34SLuc27evpzJbAswB6ntHV2hmjD\",\n \"type\": \"Address\",\n \"name\": \"maker\"\n },\n {\n \"data\": \"TWteznkp33Ttrmb6CJPeb5fWU4LH4zqJFMEbJMeQT\",\n \"type\": \"TokenId\",\n \"name\": \"tokenId\"\n }\n ],\n \"height\": 301809\n}\n```\n\nNow we can deposit some tokens into it.\n\nComment out everything in the playground function try_token_contract() to leave only the snippet below.\n\n```python:\ntok_ctrt_id = \"your_token_contract_id\"\ntok_id = \"your_token_id\"\n\ntc = TokenContract(\n contract_id=tok_ctrt_id,\n split=True,\n)\n\natomic_swap_contract_id = \"your_atomic_swap_contract_id\"\n\n# Now deposit to the atomic swap contract\ntc.deposit(\n by=ACNT_0,\n contract_id=atomic_swap_contract_id,\n amount=300,\n)\n```\n\nRun it by python main.py and call /contract/balance/{address}/{tokenId} to verify the changes. Below is an example response body.\n\n\n```python:\n{\n \"address/contractId\": \"AU6BNRK34SLuc27evpzJbAswB6ntHV2hmjD\",\n \"height\": 301836,\n \"tokenId\": \"TWteznkp33Ttrmb6CJPeb5fWU4LH4zqJFMEbJMeQT\",\n \"balance\": 1900,\n \"unity\": 1\n}\n```\n\nAs we can see, 300 tokens are deducted and our account has only 1900 tokens now.\n\nLet’s also check the balance of the Atomic Swap Contract by calling /contract/data/{contractId}/{key}. But before that, we need to generate the query key.\n\nComment out everything in the playground function try_token_contract() to leave only the snippet below.\n\n```python:\nbal_key = pv_helper.AtomicSwapContractHelper().token_balance_db_key_generator(\n address=ACNT_0.address,\n)\nprint(bal_key)\n```\n\nRun it by python main.py and call /contract/data/{contractId}/{key} with the key just generated. Note that the contractId here refers to the Atomic Swap Contract.\n\nBelow is an example response body.\n\n```python:\n{\n \"contractId\": \"CEz2xC1P1qxTm11Eq5Yj42d55VoRwaJP386\",\n \"key\": \"1Gqnifox5mNU9Ls3kKYnPuxf1jJ72fT5UhvWT\",\n \"height\": 301863,\n \"dbName\": \"contractNumInfo\",\n \"value\": 300\n}\n```\n\nWe can see that our 300 tokens are deposited into the Atomic Swap Contract.\n\n\n### 8. Withdraw Tokens from Another Contract\n\nNow let’s try to withdraw tokens from the Atomic Swap Contract.\n\nComment out everything in the playground function try_token_contract() to leave only the snippet below.\n\n\n```python:\ntok_ctrt_id = \"your_token_contract_id\"\n\ntc = TokenContract(\n contract_id=tok_ctrt_id,\n split=True,\n)\n\natomic_swap_contract_id = \"your_atomic_swap_contract_id\"\n\ntc.withdraw(\n by=ACNT_0,\n contract_id=atomic_swap_contract_id,\n amount=300,\n)\n```\nLet’s check the balance of the Atomic Swap Contract by calling /contract/data/{contractId}/{key} with the key generated earlier.\n\nBelow is an example response body.\n\n\n```python:\n{\n \"contractId\": \"CEz2xC1P1qxTm11Eq5Yj42d55VoRwaJP386\",\n \"key\": \"1Gqnifox5mNU9Ls3kKYnPuxf1jJ72fT5UhvWT\",\n \"height\": 301883,\n \"dbName\": \"contractNumInfo\",\n \"value\": 0\n} \n```\n\nAs we can see, the balance has dropped back to 0.\n\nWe can also check if tokens are credited back to our account.\n\nCall /contract/balance/{address}/{tokenId} and below is an example response body.\n\n\n```python:\n{\n \"address/contractId\": \"AU6BNRK34SLuc27evpzJbAswB6ntHV2hmjD\",\n \"height\": 301887,\n \"tokenId\": \"TWteznkp33Ttrmb6CJPeb5fWU4LH4zqJFMEbJMeQT\",\n \"balance\": 2200,\n \"unity\": 1\n}\n```\n300 tokens were credited back to our account and we have 2200 now.\n\n\n### 9. Split the Token\n\nSplitting the token actually means updating the unit. \n\nComment out everything in the playground function try_token_contract() to leave only the snippet below.\n\n```python:\ntok_ctrt_id = \"your_token_contract_id\"\n\ntc = TokenContract(\n contract_id=tok_ctrt_id,\n split=True,\n)\n\ntc.split(\n by=ACNT_0,\n new_unit=100,\n)\n```\n\nRun it by python main.py and call /contract/tokenInfo/{tokenId} to verify the change.\n\nBelow is an example response body\n\n```python:\n{\n \"tokenId\": \"TWteznkp33Ttrmb6CJPeb5fWU4LH4zqJFMEbJMeQT\",\n \"contractId\": \"CF3XtMkL34hFPuDjsRiCPB2mitE8Nf8wwe3\",\n \"max\": 1000000000,\n \"total\": 3000,\n \"unity\": 100,\n \"description\": \"\"\n}\n```\nThe unit (as indicated by the field unity) has been updated from 1 to 100\n\n### 10. Transfer the Issuing Right to Another Account\n\nFinally, we can try to transfer the issuing right to another account with the supercede function.\n\nComment out everything in the playground function try_token_contract() to leave only the snippet below.\n\n\n```python:\ntok_ctrt_id = \"your_token_contract_id\"\n\ntc = TokenContract(\n contract_id=tok_ctrt_id,\n split=True,\n)\n\ntc.supercede(\n by=ACNT_0,\n new_issuer=ACNT_1.address,\n)\n```\n\nRun it by python main.py and call /contract/info/{contractId} to verify the changes. Below is an example response body.\n\n\n```python:\n{\n \"contractId\": \"CF3XtMkL34hFPuDjsRiCPB2mitE8Nf8wwe3\",\n \"transactionId\": \"72oJ6qzBJw1ATGV6KTruFcPLEBeJ6yD4VwDhuEUU3Zu6\",\n \"type\": \"TokenContractWithSplit\",\n \"info\": [\n {\n \"data\": \"AU5NsHE8eC2guo3JobD8jrGvnEDQhBP8GtW\",\n \"type\": \"Address\",\n \"name\": \"issuer\"\n },\n {\n \"data\": \"AU6BNRK34SLuc27evpzJbAswB6ntHV2hmjD\",\n \"type\": \"Address\",\n \"name\": \"maker\"\n }\n ],\n \"height\": 301588\n}\n```\n\nNow the issuer role is played by another account.\n\n\n## Troubleshooting\n\n### Didn't See Changes via APIs?\n\n- Ensure that you called the right API\n\n- Ensure the transaction is broadcast(i.e. no error in the response dictionary returned by SDK functions. For example, pv.Account.execute_contract) \n\n- Wait for 5s for the transaction to be fully on chain\n\n- Call /transactions/info/{id} to see if the transaction’s status is success" }, - "/development/cli": { - "title": "Brightlayer UI CLI", - "text": "import { Divider, EmbeddedYouTubePlayer } from '../../app/components';\n\n\n\nTesting is a critical component of successfully building and releasing an application. Despite the value and importance of testing, it is common for teams to overlook or neglect it. Testing should be considered from the very beginning of development, not as an afterthought once development is complete. In general, every time you write a new piece of code or update existing code, you should also write a test that verifies that your code is correct.\n\nThere are many [varieties of tests](https://www.atlassian.com/continuous-delivery/software-testing/types-of-software-testing), each with their own intended purpose. The most common types of tests are:\n\n- **Unit Tests**: verify individual methods, functions, or components.\n- **Integration Tests**: verify that different modules or services in your application work together.\n- **Functional Tests**: verify the output of certain actions based on business requirements.\n- **End-to-end (E2E) Tests**: verify that user behaviors / workflows function as expected.\n- **Acceptance Tests**: verify that the entire system meets the business requirements.\n- **Performance Tests**: verify that the system behaves correctly under heavy load.\n- **Smoke Tests: quick**: basic checks of the major features of the application.\n\nThis document focuses mainly on Unit Tests and E2E tests, as they are the easiest to automate.\n\n\n\n# Unit Tests\n\nUnit tests target the smallest pieces of your application (such as verifying inputs and outputs of a class method or function). These will likely make up the bulk of your tests because they are quick to write, easy to automate, and can help you achieve significant code coverage.\n\n> Code Coverage measures the percentage of your code that is verified by your tests.\n\nA unit test shouldn't have any external dependencies, such as other methods or APIs. By keeping unit tests isolated in this manner, it's easy to identify the cause of a failing test and implement a fix quickly. When you start combining features and methods together, you move into the realm of _integration testing_.\n\n## When to Write\n\nAs long as you are writing tests and achieving acceptable levels of coverage, the _when_ is not as important.\n\nSome teams elect to follow a Test-Driven Development (TDD) methodology, where unit tests are written prior to any code. In this situation the tests actually define the desired implementation of the application and the code is written to satisfy the tests.\n\nBehavior-Driven Development (BDD) is similar to TDD in that test cases are written prior to writing any applications code. However, these test cases focus more on the desired behavior (inputs and outputs) of the application, and less on the actual implementation. These are usually written in plain language rather than code.\n\nThe most important thing to keep in mind about tests is that they should provide confidence that the code and design are working as intended without issues in any scenario. For most teams, it's fine to write tests after features and functions are developed, so long as you write quality tests and achieve good coverage.\n\n## How to Write\n\nWhen unit testing components, the most effective tests are based on what is actually rendered on the screen rather than the internal implementation logic. The test should consider the application from the user's perspective and test things the user views and interacts with.\n\nFor example, consider testing an Open Button that should open a modal dialog when clicked. Your test should check that a button with the _Open_ label is rendered on the screen, and when it is clicked, the dialog is rendered on the screen with the correct content. You may be tempted to identify the button by a class or id, or test that a particular function is called when the button is pressed - these tests are not as effective because they are more likely to break if the implementation of the component changes, even though the end behavior is the same.\n\n- Test what the user sees (i.e., rendered output) and what the user can do  (i.e., interactions).\n- If there is visual change after an interaction, test for it.\n- If there is a value returned after an action, test for it.\n\n## Testing Frameworks\n\nAngular, React, and React Native all come with built-in unit testing frameworks. Ionic can be unit tested using the same tools you would use for a standard Angular application.\n\n### Angular\n\nThe Angular CLI comes pre-configured with [Jasmine](https://jasmine.github.io/2.0/introduction) and [Karma](https://karma-runner.github.io/latest/index.html) for unit testing. When you create a new project, sample tests are created in your project for you (test files are identified by the `.spec.ts` file extension). You can execute the tests by running the following in your terminal:\n\n```sh\ncd your/project/root\nng test\n```\n\nThis will build your app and launch the browser with the test runner.\n\n### React\n\nThe Create React App CLI is pre-configured with the [Jest](https://github.com/facebook/jest) testing framework. When creating a new project, a sample test is created in your project for you (test files are identified by the `.test.js` or `test.ts` file extension). You can execute the tests by running the following in your terminal:\n\n```sh\ncd your/project/root\nnpm run test\n// or\nyarn test\n```\n\nThis will run your tests and show the pass / fail output in the terminal.\n\nThere are additional test utilities that complement Jest well. [Create React App](https://facebook.github.io/create-react-app/docs/running-tests) provides access to [React Testing Library](https://www.npmjs.com/package/@testing-library/react) through the `react-dom` dependency. The Brightlayer UI team has also made use of [Enzyme](https://airbnb.io/enzyme/), a testing framework created by AirBnB, and [Test Renderer](https://reactjs.org/docs/test-renderer.html).\n\n### React Native\n\nLike React, the React Native CLI also bundles Jest into your application. Most of the testing strategies and libraries can be shared between the two frameworks. You can also consider additional libraries like [React Native Testing Library](https://www.npmjs.com/package/@testing-library/react-native).\n\n### Ionic\n\nWhen creating an Ionic project with Angular, the Angular CLI is used to generate the underlying project, so you have access to all the same testing tools as you would with a regular Angular project.\n\n\n\n# End-to-End Testing\n\nEnd-to-end tests at a step above unit tests, both in terms of complexity and what they test. They focus primarily on the flow of the application, making sure that a user's journey through the application has the expected outcomes. These tests can generally be categorized as:\n\n- **Acceptance Tests**: verify that various features and flows meet the customer expectations.\n- **Regression Tests**: verify that existing functionality is not broken when new features are added.\n\nThey should cover user stories that span multiple components and views, such as signing up for an accounts, logging in and out of the application, updating a profile, etc. These tests are not concerned with the underlying state or implementation of the application - just the end results.\n\nEnd-to-end tests usually run in a browser against a live system (in the case of web, using a test runner that automates the browser). Automated E2E tests can take a long time to run because of all of the different pieces involved and the scope of the tests. You should try to optimize your testing pipeline to run tests in parallel to finish faster.\n\nFunctional tests alone will not give you enough test coverage to avoid regressions. Unit tests aim to provide code coverage depth, while functional tests provide coverage over the breadth of user test scenarios.\n\n## How to Write\n\nEnd-to-end tests rely on the ability to find elements on the screen and interact with them in an automated way. This means that you need a reliable mechanism for selecting elements. Depending on your testing framework, there are different ways to select elements, including:\n\n- **CSS Selectors**: find elements by using CSS classes or rules (e.g., `.your-class-name`)\n- **Element Selectors**: find elements inside the elements (e.g., `#\\@\\@blui-drawerlayout-content > div > header > div > button`)\n- **xPath Selectors**: find selector within xPath (e.g., `//*[@id=\"@@blui-drawerlayout-content\"]/div/header/div/button`)\n- **ID Selectors**: find attribute id within elements (e.g., `#login-button`)\n\n> You can read more about different selector strategies on [browserstack](https://www.browserstack.com/guide/css-selectors-in-selenium) and [software testing help](https://www.guru99.com/find-element-selenium.html).\n\nEach of these methods has their own advantages and disadvantages. A common pain point in E2E test automation is that modern Javascript platforms are constantly changing, particularly in the open source community. Many of these frameworks automatically (and dynamically) generate IDs and classes for components resulting in a constantly moving target for automation tooling. Identifying elements by these values (i.e., using IDs, CSS, or xPath locators _without_ property attributes) makes your tests brittle because they are subject to change any time a new version comes out (or even any time the page is reloaded).\n\nOne way to combat this in your own applications is to use dedicated attributes for testing (e.g., `test-id` or `dev-id`). By adding this test-specific attribute to the element, identifying the correct underlying component should be safer. Because this attribute is test-specific and the application logic does not use it, it will be less likely to change throughout the product lifecycle. Combining this approach with other selectors is a common and reliable approach for element identification.\n\n```html\n\n\n\n\nWebElement click = driver.findElement(By.id(\"login-button\"));\n```\n\n## Testing Frameworks\n\nThere are many tools available for configuring automated E2E tests. Some of the more popular tools include:\n\n- [Selenium](https://www.selenium.dev/documentation/en/)\n- [Cypress](https://docs.cypress.io/guides/overview/why-cypress.html#In-a-nutshell)\n- [WebDriverIO](https://webdriver.io/docs/gettingstarted.html)\n\n### Selenium\n\nSelenium is a popular automation testing suite which can be used to automate the desktop and mobile web browser interactions. You can write test code in any of the languages supported by Selenium.\n\nSelenium test suite has several test frameworks available and each one can be customized to your project needs.\n\nFor more information, check out the browserstack [selenium guide](https://www.browserstack.com/guide/selenium-framework) or the official [selenium documentation](https://github.com/SeleniumHQ/selenium).\n\nThere are also a number of [Selenium tutorials](https://www.guru99.com/selenium-tutorial.html) available online to help you get started.\n\n### Cypress\n\nCypress is a popular open source testing framework that boasts support for any modern JavaScript framework. It works well for E2E tests in both Angular and React applications and is easier to use than some of the more traditional tools, such as Selenium.\n\nFor a more detailed write-up on Cypress, check out the official [Cypress Documentation](https://docs.cypress.io/guides/getting-started/installing-cypress.html#System-requirements).\n\n### WebDriverIO\n\nWebdriverIO is a popular Javascript based test automation framework built on top of node.js. It is an open-source project developed for the automation testing community. WebdriverIO is extendible, compatible and feature-rich.\n\nFor more information, check out the official [Webdriver.io documentation](https://webdriver.io/) and their [getting started guide](https://webdriver.io/docs/gettingstarted.html).\n\n\n" + "/get-started/smart-contracts/lock-contract": { + "title": "Lock Contract", + "text": "\n\n# Lock Contract\n\n## Introduction\n\nLock contracts allow users to lock a specific token in the contract for some period of time. This allows users to guarantee they have a certain amount of funds upon lock expiration. This may be helpful in implementing some kinds of staking interactions with users of a VSYS token for instance.\n\nThe lock contract is a very simple contract that is able to store a selected token. It allows anyone to execute this contract and lock their funds into it for some period of time. It is not necessary to open multiple lock contracts for different people to lock their coins of tokens.\n\n## Using the VSYS Python API Wrapper (pyvsystems)\n\nTo generate and broadcast transactions, we can use pyvsystems to test contract functionalities on the Vsys chain. \n\n### Install pyvsystems\n\nPyvsystems can be installed by first cloning the GitHub repository in terminal.\n\n```sh\ngit clone https://github.com/virtualeconomy/pyvsystems.git\n```\n\nThen using pip, we can install the repository as a package.\n\n```sh\npip3 install pyvsystems/.\n```\n\nNow you can import pyvsystems in your own workplace.\n\n## Register a lock contract\n\nBefore we start, please make sure you have already set up a mainnet node or a devnet node. For the devnet node set-up instruction, you can refer to “How to build your own V Systems Devnet“.\n\n### 1. To create and execute a lock contract of your own, you first need to initialize API connection.\n\nData required:\n\n1. Your node address.\n2. Your api key(optional).\n3. Your seed.\n\n```python:\nimport pyvsystems as pv \nfrom pyvsystems import Account\nfrom pyvsystems.contract_helper import * \n\ncustom_wrapper = pv.create_api_wrapper(\"your_node_address\", api_key=\"your_node_api_key(optional)\") \n# chain = pv.Chain(chain_name='mainnet', chain_id='M', address_version=5, api_wrapper=custom_wrapper) # for mainnet \nchain = pv.Chain(chain_name='testnet', chain_id='T', address_version=5, api_wrapper=custom_wrapper) #for testnet or devnet\nsender = Account(chain=chain, seed=\"\") \n```\n\n### 2. Next, we need to register the contract with contract_helper in pyvsystems. \n\nData required:\n\n1. Your token id. (you can create your own token in devnet for testing. For more information, please refer to “Token Contract”)\n\n```python:\nlock_contract_helper = LockContractHelper()\n\nlock_contract_object = lock_contract_helper.contract_object\n\nregister_lock_contract_data_stack = lock_contract_helper.register_data_stack_generator(\"your_token_id\")\n\nprint(\"register contract information: \",sender.register_contract(lock_contract_object, register_lock_contract_data_stack))\n\n```\n\nYou can see your contract information in the terminal. Take note of your contract id.\n\n## Using Lock Contract functions\n\nAfter registering the lock contract, you can execute the functions of the contract.\n\n| Executable functions | Function ID | Inputs | Input types | Description |\n|:--------------------:|:-----------:|:-------------:|:-----------:|:------------------------------------------:|\n| lock() | 0 | (“timestamp”) | long | Lock the funds until a specified timestamp |\n\n### Lock Function:\n\nData required:\n\n1. Lock contract’s id\n2. Lock timestamp\n\n```python:\n\nlock_contract_helper = LockContractHelper()\n\nlock_contract_id = \"your_lock_contract_id\"\n\nlock_function_id = lock_contract_helper.lock_function_index\n\nlock_data_stack = lock_contract_helper.lock_data_stack_generator(your_timestamp)\n\nsender.execute_contract(lock_contract_id, lock_function_id, lock_data_stack)\n\n```\n\n### Querying the Contract database\n\nIn order for the contract to do anything, it has to store some information within the database. This information can be queried by using the correct database key within the full node. The contract helper objects contain the corresponding database keys for each stored variable.\n\n### Get Lock Contract Maker\n\nData required:\n\n1. Lock contract’s id\n\n```python:\nlock_contract_helper = LockContractHelper()\n\nlock_contract_id = \"\"\n\nmaker_db_key = lock_contract_helper.maker_db_key_generator()\n\nprint(chain.contract_db_query(lock_contract_id, maker_db_key))\n```\n\n### Get Token id of the Supported Token\n\nThis helps you retrieve the token ID of the supported token in the lock contract.\n\nData required:\n\n1. Lock contract’s id\n\n```python:\nlock_contract_helper = LockContractHelper()\n\nlock_contract_id = \"\"\n\ntoken_id_db_key = lock_contract_helper.token_id_db_key_generator()\n\nprint(chain.contract_db_query(lock_contract_id, token_id_db_key))\n```\n\n### Get Address' Contract Balance\n\nThis helps you retrieve the Address' contract balance in the lock contract.\n\nData required:\n\n1. Lock contract’s id\n\n```python:\nlock_contract_helper = LockContractHelper()\n\nlock_contract_id = \"\"\n\ncontract_balance_db_key = lock_contract_helper.contract_balance_db_key_generator(sender.address)#sender is defined in initialize part\n\nprint(chain.contract_db_query(lock_contract_id, contract_balance_db_key))\n```\n\n### Get Address' Lock Time\n\nThis helps you retrieve the lock time of the Address from the Lock Contract ID in the lock contract.\n\nData required:\n\n1. Lock contract’s id\n\n```python:\nlock_contract_helper = LockContractHelper()\n\nlock_contract_id = \"\"\n\ncontract_lock_time_db_key = lock_contract_helper.contract_lock_time_db_key_generator(sender.address)\n\nprint(chain.contract_db_query(lock_contract_id, contract_lock_time_db_key))\n```" }, - "/development/frameworks-web/intro": { - "title": "Introduction", - "text": "import { Divider } from '../../../app/components';\n\n\n\n# Brightlayer UI Web Frameworks\n\nBrightlayer UI supports web application development using Angular and React. Both are open source JavaScript frameworks with large communities of support and both have open source component libraries implementing Material Design. The two are quite comparable and you would not go wrong by choosing either, but there are some notable differences outlined below.\n\n## Angular (with Angular Material)\n\n- A comprehensive framework, with a lot of built-in features and functionality\n- Written in TypeScript (superset of JavaScript with strong variable typing)\n- Structured way of organizing your entire application (if following the Angular CLI)\n- May be more accessible to developers with greater back-end or full-stack experience\n- Maintained by Google\n- Learn more on the [Angular website](https://angular.io/)\n\n## React (with Material UI)\n\n- A UI library for building custom Web Components / Applications\n- Can be combined with additional libraries (e.g. Redux) to be a more comprehensive framework\n- Virtual DOM allows for fewer re-renders (i.e., faster UI updates)\n- May be more accessible to developers with greater experience with JavaScript and front-end development\n- Maintained by Facebook\n- Learn more on the [React website](https://reactjs.org/)\n\n\n\n# Which framework should I use?\n\nChoosing a framework is entirely up to you. They each have their own pros and cons, so you'll need to decide what is best for your application. In general, if you have developers who are very familiar with a particular framework, it might be worthwhile to use that framework to avoid any unnecessary learning curves associated with a new one. If you don't have development resources yet, you will probably want to conduct a more in-depth analysis of the available frameworks to decide what is most appropriate for your application. Feel free to reach out to us for assistance if needed.\n\nIf you choose to use one of these frameworks, have a look at our Guides for using them with Brightlayer UI:\n\n- [Angular Guide](/development/frameworks-web/angular)\n- [React Guide](/development/frameworks-web/react)\n" + "/get-started/smart-contracts/nft-contract": { + "title": "NFT Contract", + "text": "\n\n# NFT Contract\n\n## Introduction\n\nThe Non-fungible Token Contract acts as a method to create a single token that cannot be split into any parts. This gives a neat way of proving the ownership of some unique asset. A simple example is a token representing an item within a game, this token can then be sent from wallet to wallet, representing an in game trade.\n\n## Implementation\n\nThe Non-fungible contract controls a single token that can be sent, deposited or withdrawn. When registering a Non-fungible contract, it takes in no inputs. The token id of the issued token should be used to represent some form of unique asset, and the ownership of this token can easily be confirmed on the VSYS blockchain. It should be noted that the Non-fungible Token Contract can issue multiple tokens, each with its unique token id.\n\n\n## Register a Non-fungible Token Contract\n\n### Initialize API Connection\n\n```python:\nimport pyvsystems as pv\nfrom pyvsystems import Account\nfrom pyvsystems.contract import token_id_from_contract_id\nfrom pyvsystems.contract_helper import *\n\ncustom_wrapper = pv.create_api_wrapper(\"your_node_address\", api_key=\"your_node_api_key(optional)\")\n# chain = pv.Chain(chain_name='mainnet', chain_id='M', address_version=5, api_wrapper=custom_wrapper)\n\nchain = pv.Chain(chain_name='testnet', chain_id='T', address_version=5, api_wrapper=custom_wrapper)\n\nsender = Account(chain=chain, seed=\"your_sender_seed\")\n```\n\n### Non-fungible Token Contract ByteString:\n\n```python:\nVJodouhmnHVDwtkBZ2NdgahT7NAgNE9EpWoZApzobhpua2nDL9D3sbHSoRRk8bEFeme2BHrXPdcq5VNJcPdGMUD54Smwatyx74cPJyet6bCWmLciHE2jGw9u5TmatjdpFSjGKegh76GvJstK3VaLagvsJJMaaKM9MNXYtgJyDr1Zw7U9PXV7N9TQnSsqz6EHMgDvd8aTDqEG7bxxAotkAgeh4KHqnk6Ga117q5AJctJcbUtD99iUgPmJrC8vzX85TEXgHRY1psW7D6daeExfVVrEPHFHrU6XfhegKv9vRbJBGL861U4Qg6HWbWxbuitgtKoBazSp7VofDtrZebq2NSpZoXCAZC8DRiaysanAqyCJZf7jJ8NfXtWej8L9vg8PVs65MrEmK8toadcyCA2UGzg6pQKrMKQEUahruBiS7zuo62eWwJBxUD1fQ1RGPk9BbMDk9FQQxXu3thSJPnKktq3aJhD9GNFpvyEAaWigp5nfjgH5doVTQk1PgoxeXRAWQNPztjNvZWv6iD85CoZqfCWdJbAXPrWvYW5FsRLW1xJ4ELRUfReMAjCGYuFWdA3CZyefpiDEWqVTe5SA6J6XeUppRyXKpKQTc6upesoAGZZ2NtFDryq22izC6D5p1i98YpC6Dk1qcKevaANKHH8TfFoQT717nrQEY2aLoWrA1ip2t5etdZjNVFmghxXEeCAGy3NcLDFHmAfcBZhHKeJHp8H8HbiMRtWe3wmwKX6mPx16ahnd3dMGCsxAZfjQcy4J1HpuCm7rHMULkixUFYRYqx85c7UpLcijLRybE1MLRjEZ5SEYtazNuiZBwq1KUcNipzrxta9Rpvt2j4WyMadxPf5r9YeAaJJp42PiC6SGfyjHjRQN4K3pohdQRbbG4HQ95NaWCy7CAwbpXRCh9NDMMQ2cmTfB3KFW2M\n```\n\n### Code:\n```python:\non_fungible_contract_helper = NonFungibleContractHelper()\n\nnon_fungible_contract_object = non_fungible_contract_helper.contract_object\n\nregister_non_fungible_data_stack = non_fungible_contract_helper.register_data_stack_generator()\n\nsender.register_contract(non_fungible_contract_object, register_non_fungible_data_stack)\n\n```" }, - "/development/frameworks-web/angular": { - "title": "Angular Guide", - "text": "import { Divider } from '../../../app/components';\n\n\n\n# Getting Started with Angular\n\nThe following instructions will guide you through starting a new Brightlayer UI project using Angular. Alternatively, you can also start your project by downloading one of our code samples from [Github](https://github.com/brightlayer-ui) (the Login or Navigation examples are good projects to start from).\n\n## Using the Brightlayer UI CLI\n\nThe fastest way to start a new Brightlayer UI project is to use the [Brightlayer UI CLI](/development/cli). The CLI will automatically create a starter project for you (using the [Angular CLI](http://cli.angular.io/)) with all of the necessary Brightlayer UI dependencies pre-configured. To start an Angular project:\n\n```sh\nnpx -p @brightlayer-ui/cli blui new angular\n```\n\nYou will be asked to provide a name for your project and whether or not you want to use the Brightlayer UI eslint and prettier configurations files.\n\nThe Brightlayer UI CLI will automatically include:\n\n- Angular Material Component Library ([@angular/material](https://www.npmjs.com/package/@angular/material))\n- Brightlayer UI Component Library ([@brightlayer-ui/angular-components](https://www.npmjs.com/package/@brightlayer-ui/angular-components))\n- Brightlayer UI Themes ([@brightlayer-ui/angular-themes](https://www.npmjs.com/package/@brightlayer-ui/angular-themes))\n- Brightlayer UI Icons ([@brightlayer-ui/icons](https://www.npmjs.com/package/@brightlayer-ui/icons))\n- Brightlayer UI Colors ([@brightlayer-ui/colors](https://www.npmjs.com/package/@brightlayer-ui/colors))\n- Open Sans web font ([@font-source/open-sans](https://www.npmjs.com/package/@fontsource/open-sans))\n- Brightlayer UI ESLint and Prettier configurations, if selected ([@brightlayer-ui/eslint-config](https://www.npmjs.com/package/@brightlayer-ui/eslint-config) / [@brightlayer-ui/prettier-config](https://www.npmjs.com/package/@brightlayer-ui/prettier-config))\n\nFor detailed usage instructions, refer to the [Brightlayer UI CLI documentation](https://www.npmjs.com/package/@brightlayer-ui/cli).\n\n## Using an Existing Project\n\nIf you have an existing project and would like to integrate Brightlayer UI, you can follow the manual integration instructions below. If you have not already started your project, we recommend that you scaffold your project with the Brightlayer UI CLI.\n\n\n\n# Manual Brightlayer UI Integration\n\nBefore taking the following steps, you'll want to make sure that you have an existing application. If you used the Brightlayer UI CLI to start your project, these steps have already been done for you automatically.\n\n## Including the Component Libraries\n\n### Angular Material\n\nAngular projects should make use of the [Angular Material](https://material.angular.io/) component library. Our Brightlayer UI themes are designed to work with these components.\n\n```sh\nnpm install --save @angular/material\n// or\nyarn add @angular/material\n```\n\nFor detailed documentation about the various components available in Angular Material, as well as sample code and API reference, refer to the [Angular Material Documentation](https://material.angular.io/components/).\n\n### Brightlayer UI Components\n\nAdditionally, we have a [supplemental library](https://github.com/brightlayer-ui/angular-component-library/tree/dev) of components designed specifically for Brightlayer UI applications. If you wish to use these components, you can install them by running:\n\n```sh\nnpm install --save @brightlayer-ui/angular-components\n// or\nyarn add @brightlayer-ui/angular-components\n```\n\n## Adding Brightlayer UI Themes\n\nBy default, your application will be themed with the Google Material theme. To use the [Brightlayer UI theme](https://www.npmjs.com/package/@brightlayer-ui/angular-themes), first install it:\n\n```sh\nnpm install --save @brightlayer-ui/angular-themes\n// or\nyarn add @brightlayer-ui/angular-themes\n```\n\nInstalling the theme package will automatically include the Open Sans web font package as well as the Brightlayer UI [colors](https://www.npmjs.com/package/@brightlayer-ui/colors) package. In order to use the Brightlayer UI themes and font (Open Sans), you will need to modify your angular.json file \"styles\" entries (there is one under \"build\" and one under \"test\") to include the Brightlayer UI themes and Open Sans reference:\n\n```json\n\"styles\": [\n \"src/styles.scss\",\n \"./node_modules/@brightlayer-ui/angular-themes/theme.scss\",\n \"./node_modules/@brightlayer-ui/angular-themes/open-sans.scss\",\n],\n```\n\n### Applying the Theme\n\nYou can apply the theme to your application by adding the proper class to your application's body element:\n\n```html\n// Default Theme\n\n\n// Dark Theme\n\n```\n\n> If you do not specify a theme class, your application will use the default Material theme.\n\nYou can access the fonts using mat-typography, e.g.:\n\n```html\n
\n

H1 Text

\n

H2 Text

\n

Paragraph text

\n
Bold body copy
\n
\n```\n\nYou can access theme colors as well, e.g.:\n\n```html\nMy App\n```\n\nMore details about applying themes in your application can be found in [Theming your Angular Material app](https://material.angular.io/guide/theming).\n\n\n\n# Additional Information\n\n## Code Formatting / Style\n\nBrightlayer UI provides packages for code standards and style using ESLint and Prettier. These packages are used internally by the Brightlayer UI team, but they can also be used in your projects. You can find instructions for adding these packages to your project on [GitHub](https://github.com/brightlayer-ui/code-standards).\n\n## Browser Support\n\nBrightlayer UI supports the same browsers as Angular and Angular Material. For specifics, please check out their support pages:\n\n- [Angular CLI](https://angular.io/guide/browser-support)\n- [Angular Material](https://github.com/angular/material2#browser-and-screen-reader-support)\n\n> With the end-of-life of Internet Explorer 11, Brightlayer UI will no longer be supporting IE11 as of 2021.\n\n## License Information\n\n[Angular](https://github.com/angular/angular/blob/master/LICENSE) and [Angular Material](https://github.com/angular/material2/blob/master/LICENSE) are both available under the MIT License.\n" + "/get-started/smart-contracts/payment-contract": { "title": "Payment Contract" }, + "/get-started/smart-contracts/v-swap": { "title": "V Swap Contract" }, + "/get-started/smart-contracts/v-atomic-swap": { + "title": "V Atomic Swap Contract", + "text": "\n\n# V Atomic Swap Contract\n\n## introduction\n\nThe Atomic Swap is a method of swapping coins or tokens in a secure manner that requires no trusted party to hold custody of the coins. When swapping coins, the two untrusted party runs into a problem, whoever gets sent the coins first can simply abandon the deal and run off with the coins.\n\nThe Atomic Swap solves this issue by using the properties of a hash function, that the hash function is deterministic (the same input gives the same output), and that it cannot be reversed (the input cannot be determined from the output).\n\n\n## Example\n\nYou will understand what atomic swap contract does in v.systems with the following example.\n\nLet’s take Alice and Bob as an example. Alice wants to exchange 1 BTC for 3 ETH with Bob. For safety reasons, they use the atomic swap contract.\n\nFirst, Alice will create a secret A and hash it, get Hash(secret A). Since hash value is infeasible to reverse, no one should be able to get Secret A from Hash(Secret A).\n\nAlice then creates an Atomic swap contract Contract A, and then deposit 1 BTC into the contract. There will be two different situations:\n\n1. If Alice broadcasts secret A before timestamp B, Contract A will transfer 1 BTC to Bob’s address.\n\n2. If nothing is done before timestamp A, 1 BTC will return to Alice’s address.\n\nThen Bob creates an Atomic Swap contract Contract B and then deposit 3 ETH into the contract. There will be two different situations:\n\n1. If Alice has broadcasted secret A before timestamp B, Contract B can get secret A to transfer 3 ETH to Alice’s address.\n\n2. If nothing is done before timestamp B, 3 ETH will return to Bob’s address.\n\nRemember that timestamp B must be earlier than timestamp A, otherwise, Alice may withdraw 1 BTC and receive Bob’s 3 ETH.\n\n\n## Implementation\n\nThe VSYS Atomic Swap contract can store a single type of Token. To swap between different Tokens, two separate contracts are necessary. Users are required to deposit Tokens into the contract before they are able to lock it.\n\nThe **lock** function itself is fairly simplistic, the input should be the hash of some secret together with the determined recipient and an expiration timestamp. To unlock the lock, the recipient simply needs to call the **SolvePuzzle** function with the transaction id of the lock together with the secret.\n\nThe contract will check that the hash of the secret matches the puzzle in the lock. If it matches, the contract will transfer ownership of the locked coins or tokens to the recipient. Note, however, that while the funds change ownership, they stay within the contract, so the wallet's balance won't change until the recipient withdraws the funds from the contract.\n\n\n## Using the VSYS Python API Wrappers pyvsystems\n\nTo generate and broadcast transactions, we can use pyvsystems to test contract functionalities on the VSYS chain.\n\n### Install pyvsystems\n\n**pyvsystems** can be installed by first cloning the github repository.\n\n```python:\ngit clone https://github.com/virtualeconomy/pyvsystems.git\n```\n\nThen using pip, we can install the repository as a package.\n\n```python:\npip3 install pyvsystems/.\n```\n\nNow you can import pyvsystems in your own workplace.\n\nregister an atomic swap contract\n\n\n### Initialize the API Connection\n\n**Data Required:**\n\n1. Node host\n2. Api key\n3. Seeds for two account\n\n\n```python:\nimport pyvsystems as pv\nfrom pyvsystems import Account\nfrom pyvsystems.contract import token_id_from_contract_id, data_entry_from_base58_str\nfrom pyvsystems.crypto import sha256\nfrom pyvsystems.contract_helper import *\n\ncustom_wrapper = pv.create_api_wrapper('', api_key='')\nchain = pv.Chain(chain_name='mainnet', chain_id='M', address_version=5, api_wrapper=custom_wrapper)\nsender1 = Account(chain=chain, seed='', nonce=0)\nsender2 = Account(chain=chain, seed='', nonce=0)\n```\n\n\n### Register Swap Contracts\n\nEach swap contract can only store one type of token or coin, and needs to be determined when the contracts are registered.\n\n**Data Required:**\n\n1. Two token ids.\n\n```python:\n# Register a swap contract that stores the two respective tokens\n# Note that sender1 owns token1, while sender2 owns token2\natomic_swap_helper = AtomicSwapContractHelper()\nsystem_helper = SystemContractHelper()\nswap_contract = Contract(Contract_Atomic_Swap)\n\ntoken1_id_data_entry = DataEntry(token1_id, Type.token_id)\ninit_swap1_data_stack = [token1_id_data_entry]\nregister_swap1_response = sender1.register_contract(swap_contract, init_swap1_data_stack)\n\ntoken2_id_data_entry = DataEntry(token2_id, Type.token_id)\ninit_swap2_data_stack = [token2_id_data_entry]\nregister_swap2_response = sender2.register_contract(swap_contract, init_swap2_data_stack)\n```\n\n### Deposit into Swap Contracts\n\nContracts can only interact with tokens or coins deposited into them, therefore before the tokens can be locked and swapped, they must be deposited into the Swap Contracts.\n\n**Data Required:**\n\n1. Two sender's addresses.\n2. Two Swap contracts' id.\n3. The amount you want to deposit into 2 contracts.\n4. Two token contracts' id.\n\n\n```python:\n# After registering the two swap contracts, we can deposit into them\n# using their contract ids\n\ndeposit1_data_stack = token_without_split_helper.deposit_data_stack_generator(sender1.address, swap1_contract_id, deposit_amount)\ndeposit2_data_stack = token_without_split_helper.deposit_data_stack_generator(sender2.address, swap2_contract_id, 1000)\n\nsender1.execute_contract(token1_contract_id, token_without_split_helper.deposit_function_index, deposit1_data_stack)\nsender2.execute_contract(token2_contract_id, token_without_split_helper.deposit_function_index, deposit2_data_stack)\n```\n\n\n### Lock the Deposited Funds\n\nThe transaction that locks the funds are public on the blockchain, so it is simple to observe the resulting hash of the secret. Ensure that both locks use the same hash so that when the first lock is unlocked, the secret is revealed.\n\n**Data Required:**\n\n1. Your Secret(like \"abc\")\n2. Swap Amount for Both\n3. sender1 and sender2’s addresses\n4. Timestamp1\n5. Swap Contacts' id.\n\n\n```python:\n# After depositing both tokens into their respective swap contracts\n# we can lock them both, ensuring that the second timestamp is lower than the first\n\n# First decide on a secret, hash and encode it\n\nsecret = \"abc\"\nencoded_secret_hash_string = bytes2str(base58.b58encode(sha256(secret)))\n\nlock1_data_stack = atomic_swap_helper.lock_data_stack_generator(lock_amount, sender2.address, encoded_secret_hash_string, timestamp1)\n#execute print the tx id\nprint(sender1.execute_contract(swap1_contract_id, atomic_swap_helper.lock_function_index, lock1_data_stack))\n\n# Lock id is the tx id of the lock transaction\nlock1_id = \"tx_id_of_lock\"\n\n# Sender2 would be able to find the hash string by decoding the lock transaction data\n\nlock1_function_data = chain.contract_db_query(swap1_contract_id, atomic_swap_helper.swap_puzzle_db_key_generator(lock1_id))\n\ntx_data_encoded_secret_hash_string = data_entry_from_base58_str(lock1_function_data['value'])\n\nswap2_amount_data_entry = DataEntry(amount_for_swap2, Type.amount)\nswap2_recipient_data_entry = DataEntry(sender1.address, Type.address)\nswap2_puzzle_data_entry = DataEntry(tx_data_encoded_secret_hash_string, Type.short_bytes_string)\nswap2_timestamp_data_entry = DataEntry(timestamp2, Type.timestamp)\n\nswap2_lock_data_stack = [swap2_amount_data_entry, swap2_recipient_data_entry, swap2_puzzle_data_entry, swap2_timestamp_data_entry]\n\nlock2_response = sender2.execute_contract(swap2_contract_id, 0, swap2_lock_data_stack)\nlock2_tx_id = lock2_response['id']\n```\n\n\n### Solve the Puzzles\n\nSolving both puzzles will complete the swap. Once the first puzzle is solved the secret is revealed to the entire blockchain and can be found using the transaction's functionData. Sender2 will be able to decode this data and unlock the first lock.\n\n**Data Required:**\n\n1. Your Secret(like \"abc\")\n2. lock1/2 tx id\n3. swap contracts' id\n\n\n```python:\n# Once we properly lock the funds, sender1 will first solve the lock\n\nswap1_lock_txid_data_entry = DataEntry(lock2_tx_id, Type.short_bytes_string)\nswap1_lock_key_data_entry = DataEntry(\"abc\", Type.short_bytes)\n\nswap1_solve_data_stack = [swap1_lock_tx_id_data_entry, swap1_lock_key_data_entry]\n\nsolve1_response = sender1.execute_contract(swap2_contract_id, 1, swap1_solve_data_stack)\n\n# Sender2 can then look at the function data to find the solution\n# This transaction id can be found by looking at the transactions of sender1 for example.\n\nsolve1_function_data = chain.api_wrapper.request('transactions/info/%s'%(solve1_response['id']))['functionData']\n\nsolve_key = bytes2str(base58.b58decode(data_entry_from_base58_str(solve1_function_data)[1].data))\n\n# The chain stores the input data as a base58 encoded string of the bytes.\n# The inputs to contracts are always data entries, so it is simple to parse the data into data entries.\n# The input is also base58 encoded, so we will have to base58 decode the final value.\n\nrevealed_secret = base58.b58decode(data_entry_from_base58_str(solve1_function_data['value']))\n\nsolve_puzzle2_data_stack = atomic_swap_helper.solve_puzzle_data_stack_generator(lock1_tx_id, base58.b58encode(revealed_secret))\n\nsender2.execute_contract(swap1_contract_id, atomic_swap_helper.solve_puzzle_function_index, solve_puzzle2_data_stack)\n\n```\n\n### Withdraws the Funds\n\nOnce the puzzle is solved, the ownership of the tokens has changed, however, the funds remain in the contract until they are withdrawn.\n\n**Data Required:**\n\n1. swap contracts' id.\n2. senders' addresses.\n3. token contracts' id.\n\n\n```python:\n# After transferring ownership of tokens, we can withdraw them\n\nwithdraw1_data_stack = token_without_split_helper.withdraw_data_stack_generator(swap2_contract_id, sender1.address, 1000)\n\nwithdraw2_data_stack = token_without_split_helper.withdraw_data_stack_generator(swap1_contract_id, sender2.address, 1000)\n\nsender1.execute_contract(token2_contract_id, token_without_split_helper.withdraw_function_index, withdraw1_data_stack)\n\nsender2.execute_contract(token1_contract_id, token_without_split_helper.withdraw_function_index, withdraw2_data_stack)\n```\n" }, - "/development/frameworks-web/react": { - "title": "React Guide", - "text": "import { Divider } from '../../../app/components';\n\n\n\n# Getting Started with React\n\nThe following instructions will guide you through starting a new Brightlayer UI project using React. Alternatively, you can also start your project by downloading one of our code samples from [Github](https://github.com/brightlayer-ui) (the Login or Navigation examples are good projects to start from).\n\n## Using the Brightlayer UI CLI\n\nThe fastest way to start a new Brightlayer UI project is to use the [Brightlayer UI CLI](/development/cli). The CLI will automatically create a starter project for you (using [Create React App](https://github.com/facebookincubator/create-react-app)) with all of the necessary Brightlayer UI dependencies pre-configured. To start a React project:\n\n```sh\nnpx -p @brightlayer-ui/cli blui new react\n```\n\nYou will be asked to provide a name for your project, choose whether you would like to use TypeScript or JavaScript, and for TypeScript projects, you'll be asked if you want to use the Brightlayer UI eslint and prettier configurations files.\n\nThe Brightlayer UI CLI will automatically include:\n\n- Material-UI Component Library and Icons ([@material-ui/core](https://www.npmjs.com/package/@material-ui/core) / [@material-ui/icons](https://www.npmjs.com/package/@material-ui/icons))\n- Brightlayer UI Component Library ([@brightlayer-ui/react-components](https://www.npmjs.com/package/@brightlayer-ui/react-components))\n- Brightlayer UI Themes ([@brightlayer-ui/react-themes](https://www.npmjs.com/package/@brightlayer-ui/react-themes))\n- Brightlayer UI Icons ([@brightlayer-ui/icons-mui](https://www.npmjs.com/package/@brightlayer-ui/icons-mui))\n- Brightlayer UI Colors ([@brightlayer-ui/colors](https://www.npmjs.com/package/@brightlayer-ui/colors))\n- Open Sans web font ([@fontsource/open-sans](https://www.npmjs.com/package/@fontsource/open-sans))\n- Brightlayer UI ESLint and Prettier configurations, if selected ([@brightlayer-ui/eslint-config](https://www.npmjs.com/package/@brightlayer-ui/eslint-config) / [@brightlayer-ui/prettier-config](https://www.npmjs.com/package/@brightlayer-ui/prettier-config))\n- Enzyme testing library ([enzyme](https://www.npmjs.com/package/enzyme) / [enzyme-adapter-react-16](https://www.npmjs.com/package/enzyme-adapter-react-16))\n\nFor detailed usage instructions, refer to the [Brightlayer UI CLI documentation](https://www.npmjs.com/package/@brightlayer-ui/cli).\n\n## Using an Existing Project\n\nIf you have an existing project and would like to integrate Brightlayer UI, you can follow the manual integration instructions below. If you have not already started your project, we recommend that you scaffold your project with the Brightlayer UI CLI.\n\n\n\n# Manual Brightlayer UI Integration\n\nBefore taking the following steps, you'll want to make sure that you have an existing application. If you used the Brightlayer UI CLI to start your project, these steps have already been done for you automatically.\n\n## Including the Component Libraries\n\n### Material UI\n\nReact projects should make use of the [Material-UI](https://mui.com/) component library. Our Brightlayer UI themes are designed to work with these components. You'll also want to install the icons.\n\n```sh\nnpm install --save @material-ui/core @material-ui/icons\n// or\nyarn add @material-ui/core @material-ui/icons\n```\n\nFor detailed documentation about the various components available in Material UI, as well as sample code and API reference, refer to the [Material UI Documentation](https://mui.com/).\n\n### Brightlayer UI Components\n\nAdditionally, we have a [supplemental library](https://github.com/brightlayer-ui/react-component-library/tree/dev) of components designed specifically for Brightlayer UI applications. If you wish to use these components, you can install them by running:\n\n```sh\nnpm install --save @brightlayer-ui/react-components\n// or\nyarn add @brightlayer-ui/react-components\n```\n\n## Adding Brightlayer UI Themes\n\nBy default, your application will be themed with the Google Material theme. To use the [Brightlayer UI theme](https://www.npmjs.com/package/@brightlayer-ui/react-themes), first install it:\n\n```sh\nnpm install --save @brightlayer-ui/react-themes\n// or\nyarn add @brightlayer-ui/react-themes\n```\n\nInstalling the theme package will automatically include the Open Sans web font package as well as the Brightlayer UI [colors](https://www.npmjs.com/package/@brightlayer-ui/colors) package.\n\n### Applying the Theme\n\nImport the theme files, Material UI theme provider, and **Open Sans** font into your application, e.g. in App.js:\n\n```tsx\nimport { ThemeProvider, createTheme } from '@material-ui/core/styles';\nimport CssBaseline from '@material-ui/core/CssBaseline';\nimport * as BLUIThemes from '@brightlayer-ui/react-themes';\nimport '@brightlayer-ui/react-themes/open-sans';\n```\n\nTo add the theme to your whole application, you would simply add a `` around your top-level component and pass it the theme you want to use, e.g.:\n\n```tsx\n\n \n \n\n```\n\nYou can read about [React Theming](https://mui.com/customization/theming/) to learn more.\n\n\n\n# Additional Information\n\n## Code Formatting / Style\n\nBrightlayer UI provides packages for code standards and style using ESLint and Prettier. These packages are used internally by the Brightlayer UI team, but they can also be used in your projects. You can find instructions for adding these packages to your project on [GitHub](https://github.com/brightlayer-ui/code-standards).\n\n> NOTE: the ESLint package is only available for TypeScript projects.\n\n## Browser Support\n\nBrightlayer UI supports the same browsers as React and Material UI. For specifics, please check out their support pages:\n\n- [React](https://facebook.github.io/create-react-app/docs/supported-browsers-features)\n- [Material UI](https://mui.com/getting-started/supported-platforms/)\n\n> With the end-of-life of Internet Explorer 11, Brightlayer UI will no longer be supporting IE11 as of 2021.\n\n## License Information\n\n[React](https://github.com/facebook/react/blob/master/LICENSE) and [Material UI](https://github.com/mui-org/material-ui/blob/master/LICENSE) are both available under the MIT License.\n" + "/get-started/smart-contracts/v-stable-swap": { + "title": "V Stable Swap Contract", + "text": "\n\n# V Stable Swap Contract\n\n## Introduction\n\nV Stable Swap Contract documentation coming soon.\n\n" }, - "/development/frameworks-mobile/intro": { - "title": "Introduction", - "text": "import { Divider } from '../../../app/components';\n\n\n\n# Brightlayer UI Mobile (Hybrid) Frameworks\n\nBrightlayer UI supports hybrid mobile application development using Ionic and React Native. Both are capable frameworks, but there are some significant differences between them, outlined below.\n\n## Ionic\n\n- Built with web technology (framework agnostic)\n - Brightlayer UI only supports Ionic with Angular\n- Runs in a WebView\n- Is the fastest way to have a mobile app (if you already have a web app)\n- Requires your web app to be optimized for mobile\n- Has lots of available plugins to access hardware / native functionality\n- Learn more on the [Ionic Website](https://ionicframework.com/)\n\n## React Native\n\n- Renders native UI elements (not a WebView)\n- Can re-use application logic code (React)\n- Requires writing new code for UI (learning curve)\n- Does not use CSS for styling (learning curve)\n- Provides access to hardware functionality through various plugins / libraries\n- Has a large community of support\n- Learn more on the [React Native Website](https://facebook.github.io/react-native/)\n\n\n\n# Which framework should I use?\n\nThis is entirely up to you. If time is your biggest concern, Ionic may be the best approach since it simply wraps an existing application and requires no additional code.\n\nHowever, if you want more control over the look and performance of your application, it may be better to use React Native. If you have a React application, you'd be able to re-use most of your application logic, but you have to write custom / dedicated UI views for mobile.\n\nIn general, if your development team is more familiar with Angular, we recommended using Ionic. If your team is more familiar with React, you won't go wrong by choosing React Native.\n\n\n\n# Building your application\n\nFollow the guidelines for app development using your chosen framework:\n\n- [Ionic](/development/frameworks-mobile/ionic)\n \n- [React Native](/development/frameworks-mobile/react-native)\n\nThese guides will walk you through the process of developing your application and ultimately creating a final binary to distribute (either to your testers or your final customers).\n\n## Deploying your application\n\nOnce you have built your application into a distributable binary, there are two options for distributing it.\n\n### Visual Studio App Center (formerly HockeyApp)\n\nVisual Studio App Center gives you a way to test your app with users before you are ready for final distribution. This service allows you to upload app binaries and create lists of people with whom to share them. These people will be notified via email when new versions of the app are available, and they will be prompted to download and install them directly onto their device. You will need to request access to Visual Studio App Center from IT.\n\n### App Store / Play Store\n\nFor final distribution of your application, you will need to utilize App Store Connect and / or Google Play Console.\n" + "/get-started/smart-contracts/v-option": { + "title": "V Option Contract", + "text": "\n\n# V Option Contract\n\n## Introduction\n\nV Option Contract coming soon." }, - "/development/frameworks-mobile/ionic": { - "title": "Ionic Guide", - "text": "import { Divider } from '../../../app/components';\n\n\n\n# Getting Started with Ionic\n\nThe following instructions will guide you through setting up your computer for Ionic development and starting a new Brightlayer UI project. Alternatively, you can start your project by downloading one of our code samples from [Github](https://github.com/brightlayer-ui) (the Login example is a good project to start from) once you configure your environment.\n\n\n\n# Setting Up Your Environment\n\nYou'll need to start by following the general instructions for setting up your development environment for mobile, found in our [Environment Guide](/development/environment). Since Ionic takes advantage of web technologies, you won't need any specific additional tools beyond what you would use for web development.\n\nIonic uses Cordova behind the scenes but offers some additional convenience tools on top. If you would prefer to write a pure Cordova application, you can read instructions in the [Apache Cordova Getting Started Guide](/development/frameworks-mobile/cordova).\n\n## Installing Ionic\n\nThe most up-to-date instructions for setting up Ionic can be found on the [Ionic Website](https://ionicframework.com/docs/installation/cli).\n\nTo get started, run:\n\n```sh\nnpm install -g @ionic/cli cordova\n// or\nyarn global add @ionic/cli cordova\n```\n\nYou'll also want to install some additional dependencies:\n\n```sh\nnpm install -g native-run gradle cordova-res\n// or\nyarn global add native-run gradle cordova-res\n```\n\nMake sure that you have a `GRADLE_HOME` entry in your PATH variable pointing to your gradle binary directory.\n\n\n\n# Creating Your Application\n\n## Using the Brightlayer UI CLI\n\nThe fastest way to start a new Brightlayer UI project is to use the [Brightlayer UI CLI](/development/cli). The CLI will automatically create a starter project for you (using either the [Ionic CLI](https://ionicframework.com/docs/cli)) with all of the necessary Brightlayer UI dependencies pre-configured. To start an Ionic project:\n\n```sh\nnpx -p @brightlayer-ui/cli blui new ionic\n```\n\nYou will be asked to provide a name for your project and whether or not you want to use the Brightlayer UI eslint and prettier configurations files.\n\nThe Brightlayer UI CLI will automatically include:\n\n- Angular Material Component Library ([@angular/material](https://www.npmjs.com/package/@angular/material))\n- Brightlayer UI Component Library ([@brightlayer-ui/angular-components](https://www.npmjs.com/package/@brightlayer-ui/angular-components))\n- Brightlayer UI Themes ([@brightlayer-ui/angular-themes](https://www.npmjs.com/package/@brightlayer-ui/angular-themes))\n- Brightlayer UI Icons ([@brightlayer-ui/icons](https://www.npmjs.com/package/@brightlayer-ui/icons))\n- Brightlayer UI Colors ([@brightlayer-ui/colors](https://www.npmjs.com/package/@brightlayer-ui/colors))\n- Brightlayer UI ESLint and Prettier configurations, if selected ([@brightlayer-ui/eslint-config](https://www.npmjs.com/package/@brightlayer-ui/eslint-config) / [@brightlayer-ui/prettier-config](https://www.npmjs.com/package/@brightlayer-ui/prettier-config))\n\nFor detailed usage instructions, refer to the [Brightlayer UI CLI documentation](https://www.npmjs.com/package/@brightlayer-ui/cli).\n\n## Using an Existing Project\n\nIf you have an existing project and would like to integrate Brightlayer UI, you can follow the manual integration instructions below. If you have not already started your project, we recommend that you scaffold your project with the Brightlayer UI CLI.\n\n\n\n# Manual Brightlayer UI Integration\n\nPlease refer to the Manual Brightlayer UI Integration steps for [Angular](/development/frameworks-web/angular).\n\n\n\n# Writing an Ionic Application\n\nDeveloping an Ionic project with Angular is virtually identical to writing a normal web application using Angular.\n\n## Running your application\n\n`ionic serve` will run the application in a web browser on localhost:8100. In order to see the application run on a mobile device, you will need to add platforms.\n\n```sh\nionic cordova platform add android\nionic cordova platform add ios\n```\n\n> **NOTE**: You will only be able to add the ios platform if you are developing on a Mac.\n\nWhen the ionic cordova platform add completes, your project will have all the required native plugins installed along with several configuration files specific to your project.\n\n## Building your application\n\nThe project is now ready to build and you can run:\n\n```sh\nionic cordova build android\nionic cordova build ios\n```\n\nOnce complete, you can run your project in a device simulator (or connected device) by running:\n\n```sh\nionic cordova run android\nionic cordova run ios\n```\n\n\n\n# Additional Information\n\n## Code Formatting / Style\n\nBrightlayer UI provides packages for code standards and style using ESLint and Prettier. These packages are used internally by the Brightlayer UI team, but they can also be used in your projects. You can find instructions for adding these packages to your project on [GitHub](https://github.com/brightlayer-ui/code-standards).\n\n> **NOTE**: Depending on your version of Xcode, you may need to specify additional build flags to run on ios: `ionic cordova run ios --buildFlag=\"-UseModernBuildSystem=0\"`.\n\n## License Information\n\n[Ionic](https://ionicframework.com/docs/intro#license) is available under the MIT License.\n" + "/get-started/smart-contracts/v-escrow": { + "title": "V Escrow Contract", + "text": "\n\n# V Escrow Contract\n\n## Introduction\n\nV Option Contract coming soon." }, - "/development/frameworks-mobile/react-native": { - "title": "React Native Guide", - "text": "import { Divider } from '../../../app/components';\n\n\n\n# Getting Started with React Native\n\nThe following instructions will guide you through setting up your computer for React Native development and starting a new Brightlayer UI project. Alternatively, you can start your project by downloading one of our code samples from [GitHub](https://github.com/brightlayer-ui) (the Login example is a good project to start from) once you configure your environment.\n\n\n\n# Setting Up Your Environment\n\nYou'll need to start by following the general instructions for setting up your development environment for mobile found in our [Environment Guide](/development/environment). In addition to the base requirements, you may also want the following:\n\n- [Expo Client](https://expo.io/learn) (project creation / setup tool for React Native apps)(optional, for Expo projects)\n\n\n\n# Creating Your Application\n\n## Using the Brightlayer UI CLI\n\nThe fastest way to start a new Brightlayer UI project is to use the [Brightlayer UI CLI](/development/cli). The CLI will automatically create a starter project for you (using either the [React Native Community CLI](https://github.com/react-native-community/cli) (recommended) or [Expo CLI](https://docs.expo.io/)) with all of the necessary Brightlayer UI dependencies pre-configured. To start a React Native project:\n\n```sh\nnpx -p @brightlayer-ui/cli blui new react-native\n```\n\nYou will be asked to provide a name for your project, select a CLI to use, choose whether you would like to use TypeScript or JavaScript, and for TypeScript projects, you'll be asked if you want to use the Brightlayer UI eslint and prettier configurations files.\n\nThe Brightlayer UI CLI will automatically include:\n\n- React Native Paper Component Library ([react-native-paper](https://www.npmjs.com/package/react-native-paper))\n- Brightlayer UI Component Library ([@brightlayer-ui/react-native-components](https://www.npmjs.com/package/@brightlayer-ui/react-native-components))\n- Brightlayer UI Themes ([@brightlayer-ui/react-native-themes](https://www.npmjs.com/package/@brightlayer-ui/react-native-themes))\n- Material Icons ([react-native-vector-icons](https://www.npmjs.com/package/react-native-vector-icons))\n- Brightlayer UI Icons ([@brightlayer-ui/icons-svg](https://www.npmjs.com/package/@brightlayer-ui/icons-svg))\n- Brightlayer UI Colors ([@brightlayer-ui/colors](https://www.npmjs.com/package/@brightlayer-ui/colors))\n- Open Sans font\n- Brightlayer UI ESLint and Prettier configurations, if selected ([@brightlayer-ui/eslint-config](https://www.npmjs.com/package/@brightlayer-ui/eslint-config) / [@brightlayer-ui/prettier-config](https://www.npmjs.com/package/@brightlayer-ui/prettier-config))\n- Testing libraries ([jest](https://www.npmjs.com/package/jest) / [react-test-renderer](https://www.npmjs.com/package/react-test-renderer))\n\nFor detailed usage instructions, refer to the [Brightlayer UI CLI documentation](https://www.npmjs.com/package/@brightlayer-ui/cli).\n\n## Using an Existing Project\n\nIf you have an existing project and would like to integrate Brightlayer UI, you can follow the manual integration instructions below. If you have not already started your project, we recommend that you scaffold your project with the Brightlayer UI CLI.\n\n\n\n# Manual Brightlayer UI Integration\n\nBefore taking the following steps, you'll want to make sure that you have an existing application. If you used the Brightlayer UI CLI to start your project, these steps have already been done for you automatically.\n\n## Including the Component Libraries\n\n### Material Components\n\nReact Native projects should make use of the [React-Native-Paper](https://callstack.github.io/react-native-paper/index.html) component library. Our Brightlayer UI themes are designed to work with these components. You'll also want to install [react-native-vector-icons](https://www.npmjs.com/package/react-native-vector-icons) to access the Material icons.\n\n```sh\nnpm install --save react-native-paper react-native-vector-icons\n// or\nyarn add react-native-paper react-native-vector-icons\n```\n\n### Brightlayer UI Components\n\nWe have a [supplemental library](https://github.com/brightlayer-ui/react-native-component-library/tree/dev) of components designed specifically for Brightlayer UI applications. If you wish to use these components, you can install them by running:\n\n```sh\nnpm install --save @brightlayer-ui/react-components\n// or\nyarn add @brightlayer-ui/react-native-components\n```\n\n## Adding Brightlayer UI Themes\n\nIf you are using the recommended component libraries, your application will be themed with the Google Material theme by default. To use the Brightlayer UI theme, first install it:\n\n```sh\nnpm install --save @brightlayer-ui/react-native-themes\n// or\nyarn add @brightlayer-ui/react-native-themes\n```\n\n> Using the Brightlayer UI React Native theme **requires** that you add the Open Sans font to your application. You can learn how to do this by reading the instructions for [Vanilla React Native](https://medium.com/react-native-training/react-native-custom-fonts-ccc9aacf9e5e) or [Expo](https://docs.expo.io/guides/using-custom-fonts/). You can find the fonts [here](https://github.com/brightlayer-ui/cli-helpers/tree/master/fonts).\n\n> When using Expo, you will need to specify the name for each font weight you load using the format OpenSans-``, e.g., OpenSans-SemiBold. Refer to one of our React Native demos for reference.\n\n## Applying the Theme\n\nImport the theme files and React Native Paper theme provider into your application, e.g. in App.js:\n\n```tsx\nimport { Provider as ThemeProvider } from 'react-native-paper';\nimport * as BLUIThemes from '@brightlayer-ui/react-native-themes';\n...\n\n \n\n```\n\nFor detailed information about theming, refer to the react-native-paper [theming guide](https://callstack.github.io/react-native-paper/theming.html).\n\n> NOTE: This theme only applies to the components in the react-native-paper and @brightlayer-ui/react-native-components package. It will not theme the components from other third party libraries. If you wish to use our theme to style your own components, refer to the react-native-paper [theming guide](https://callstack.github.io/react-native-paper/theming.html#using-the-theme-in-your-own-components).\n\n### Avoiding Repeated Styles\n\nTo avoid adding repeatedly adding inline styles to standard components, you can define your own component that applies the styles and use that throughout your application, e.g.:\n\n```tsx\n// MyText.js\nexport default MyText = ({style, children, ...other}) => (\n \n {children}\n \n);\n\n// OtherFile.js\nimport Text from 'path/to/MyText.js';\n...\nThemed Text Object\n```\n\n\n\n# Writing a React Native Application\n\nIf you are familiar with React development, React Native will be relatively simple to understand. The application logic remains the same, while the UI requires a little adjustment. Rather than typical HTML elements, React Native UIs are built with a special library of [Components](https://facebook.github.io/react-native/docs/components-and-apis), including ``, ``, ``, etc. React Native layouts are built exclusively using FlexBox.\n\n## Running your application\n\nAfter you've created your application with a CLI, it can be run from the command line:\n\n```sh\ncd YourAppName\n\n// RNC CLI\nnpm run \n// or\nyarn \n\n// Expo CLI (follow the on-screen instructions or use the web interface to open the app on a device)\nnpm run start\n// or\nyarn start\n```\n\nWhen you make changes to the source code, the application will automatically rebuild and update on the device.\n\n> To run on an Android emulator, the emulator must already be running or you will see an error message, \"No connected devices found.\"\n\n> On a Mac, you may be prompted to install watchman (`brew install watchman`) or update a few settings to run the application.\n\n## Ejecting from Expo\n\nIf you use Expo to create your project, there will come a time in your development when it becomes necessary to eject from Expo. The most common reason for this are for adding native libraries to your project.\n\nTo eject your app, run the following and follow the on-screen prompts (WARNING: Ejecting from Expo cannot be undone. Make sure you know what you are doing and have your project in source control before proceeding):\n\n```sh\nnpm run eject\n// or\nyarn eject\n```\n\n> - At the first prompt, select 'Bare (first option)'\n> - At the second prompt, accept the default value (press Enter). Changing this can cause issues running your project.\n> - At the third prompt, enter a name for the solution folder.\n\nFor more information, read about [ejecting from Expo](https://docs.expo.io/workflow/customizing/).\n\n## Final Build\n\nAfter ejecting from Expo, the process for creating a build is the same as for a standard native application. You can open the project folders in xCode (/ios/projectName.xcodeproj) or Android Studio (/android) and perform builds from the IDE. There are also npm scripts added to your package.json file during ejection that will allow you to perform builds from the command line. Depending on the version of React Native you are using, you may have to [manually bundle your JS code](https://stackoverflow.com/questions/44446523/unable-to-load-script-from-assets-index-android-bundle-on-windows) for Android.\n\n\n\n# Additional Information\n\n## RNC CLI vs. Expo CLI\n\nThere are two popular approaches to starting a new React Native project. The first (recommended) is to use the [React Native Community CLI](https://github.com/react-native-community/cli) and the second is to use the [Expo CLI](https://docs.expo.io/workflow/expo-cli/). The Expo CLI is nice for spinning up quick projects and demos, but to use certain libraries/plugins you will need to eject to vanilla React Native. For this reason, we recommend most production applications start with the RNC CLI instead to avoid the complications of ejecting.\n\n> **NOTE:** Brightlayer UI examples are written using the Expo CLI. The primary reason for this is because it provides the ability to share live-running code examples via [Snack](https://snack.expo.io/).\n\n## Code Formatting / Style\n\nBrightlayer UI provides packages for code standards and style using ESLint and Prettier. These packages are used internally by the Brightlayer UI team, but they can also be used in your projects. You can find instructions for adding these packages to your project on [GitHub](https://github.com/brightlayer-ui/code-standards).\n\n> NOTE: the ESLint package is only available for TypeScript projects.\n\n## Component recommendations\n\nThere are a lot of resources and components available on the market to help speed up your development and improve reusability. React Native also comes with a built-in component library. We recommend the following:\n\n- Navigation\n - [React Navigation](https://reactnavigation.org/) (JS-only implementation)\n - [React Native Navigation](https://wix.github.io/react-native-navigation/#/) (native implementation)\n- Component Libraries\n - [React Native Built-in Components](https://reactnative.dev/docs/components-and-apis)\n - [React Native Paper](https://callstack.github.io/react-native-paper/)\n - [React Native Elements](https://react-native-training.github.io/react-native-elements/)\n\n## License Information\n\n[React Native](https://github.com/facebook/react-native/blob/master/LICENSE) is available under the MIT License.\n" + "/development/environment": { + "title": "Environment Setup", + "text": "import { Divider } from '../../app/components';\n\n\n\n# Setting up Your Development Environment\n\nGetting started is often the most frustrating part of application development. Fortunately, many of the modern JavaScript frameworks have made great strides in providing tools to get you up and running as quickly as possible. Below, we walk through the basics of getting your system set up to develop.\n\n## Integrated Development Environment (IDE)\n\nThere are a bunch of different IDEs on the market, and in general you should be able to use any of these that you like and are comfortable with. If you don't have a personal preference, we recommend trying [Visual Studio Code](https://code.visualstudio.com) - it is quite excellent and comes with a variety of tools to make your development experience seamless. And it's free!\n\n## Git\n\nChances are, you probably want to keep your application in source control. Git is one of the big players in this space (it's also the backbone for BitBucket).\n\nYou may already have git installed. To check, run:\n\n```sh\ngit --version\n```\n\nin a command prompt. If you don't have git installed, you can download it from the [Git Website](http://git-scm.com/downloads).\n\nIf you are behind a proxy, you'll also need to set up the git proxies as well:\n\n```sh\ngit config --global http.proxy http://url.to.your.proxy:port\ngit config --global https.proxy http://url.to.your.proxy:port\n```\n\nThe proxy addresses may vary depending on your location. Consult your local IT department if you’re not sure.\n\n## Node\n\nThe majority of JavaScript frameworks (and Brightlayer UI resources) are available via the Node Package Manager (NPM). This package manager allows you to install a variety of third party tools, packages, and other dependencies that you need for your applications. To use NPM, you will need to install [NodeJS](https://nodejs.org/en/download/).\n\n## Yarn\n\nOur projects and example code are set up to be run using yarn, but if you prefer, you're welcome to use NPM in your projects instead. Instructions for installing yarn on various operating systems can be found on the [Yarn Website](https://yarnpkg.com/en/docs/install).\n\nTo check if you have yarn installed, run:\n\n```sh\nyarn -v\n```\n\nfrom a command prompt. If you are behind a proxy, you will also need to configure your proxy settings. It may be sufficient for you to set `HTTP_PROXY` and `HTTPS_PROXY` in your environment variables. However, you may need to also explicitly set proxy values for yarn:\n\n```sh\nyarn config set proxy http://url.to.your.proxy:port\nyarn config set https-proxy http://url.to.your.proxy:port\n```\n\nThe proxy addresses may vary depending on your location. Consult your local IT department if you’re not sure. Once you have configured the proxy, you should be able to install packages by using:\n\n```sh\nyarn add \n```\n\n> If you are installing packages globally using yarn, you will need to ensure that your PATH variable has an entry pointing to your global yarn install directory. This location will vary based on your operating system.\n\n\n\n# Hybrid App Development\n\nIf you are setting up for building a mobile app, there are some additional steps you will want to take to prepare. The following requirements are the basics. Depending on your selected [framework](/development/frameworks-mobile/intro), there will be other specific setup steps detailed in our Getting Started Guides.\n\n## Prerequisites\n\n### Hardware\n\nMobile development is resource-intensive, so you will need a development machine that is up to the task. Your machine should at least match the following minimum requirements:\n\n- a Mac (if you plan on building or testing iOS locally)\n- 16GB RAM or more (running multiple emulators can easily push you over 20GB)\n- Solid State Hard Drive (SSD)\n- 5/6 Gen Core i7 with Virtualization Technology or better\n\n### Software\n\nThere are a few software tools that you will need before you can get started:\n\n\n\n- [Android Studio](https://developer.android.com/studio/) (required for building for Android)\n \n- [xCode](https://developer.apple.com/xcode/) (Mac-only, required for building for iOS)\n" }, "/development/testing": { "title": "Testing", "text": "import { DemoCard, ImageGrid, MaterialDesignDescription, Divider } from '../../app/components';\n\n# Testing Your V Systems Applications\n\n\n\n## V Explorer - Transaction Explorer\n\nExplore transactions and network activity on our [V Systems Explorer](https://explorer.v.systems/).\n\n" }, - "/design/intro": { "title": "Introduction" }, - "/design/anatomy": { "title": "Design System Anatomy" }, - "/design/accessibility": { "title": "Accessibility" }, - "/design/websites": { "title": "Websites" }, - "/design/project-identity": { "title": "Project Identity" }, - "/patterns": { "title": "Design Patterns" }, - "/patterns/account-menu": { "title": "Account Menu" }, - "/patterns/appbar": { "title": "App Bars" }, - "/patterns/empty-states": { "title": "Empty States" }, - "/patterns/forms": { "title": "Forms and Validation" }, - "/patterns/internationalization": { "title": "Internationalization" }, - "/patterns/lists": { "title": "Lists & Tables" }, - "/patterns/loading": { "title": "Loading & Waiting" }, - "/patterns/navigation": { "title": "Navigation" }, - "/patterns/overlay": { "title": "Overlays" }, - "/patterns/steppers": { "title": "Steppers" }, - "/patterns/user-auth": { "title": "User Authentication" }, - "/patterns/visualizations": { "title": "Visualizations" }, - "/style": { "title": "Style Guide" }, - "/style/color": { "title": "Color Palette" }, - "/style/iconography": { "title": "Iconography" }, - "/style/illustrations": { "title": "Illustrations" }, - "/style/typography": { "title": "Typography" }, - "/style/themes": { "title": "Themes" }, - "/community": { "title": "Community" }, - "/community/license": { "title": "Licensing" }, - "/community/innersourcing": { "title": "Innersourcing" }, - "/community/bugs": { - "title": "Report Bugs", - "text": "\n\n# Encountering and Reporting Bugs\n\nOne of the primary reasons for using Google's [Material Design](https://material.io/) system is to take advantage of the large community of development resources attached to the project. This improves the response time for issues and cuts down on the number of bugs in the platforms. But nobody is perfect - if you run into an issue, please let us know.\n\n## If You Encounter a Bug w/ Brightlayer UI\n\nIf you run into a bug with:\n\n- Brightlayer UI themes, components, or other NPM packages\n- Brightlayer UI code samples or\n- the Brightlayer UI documentation on this site\n\nyou can help us make the experience better for yourself and others by reporting a bug. Simply contact us with the following information:\n\n- Summary: a brief, but clear description of the issue.\n- Description: more detailed information about the issue including steps to reproduce.\n- Environment: information about your machine (Operating System, Browser Version).\n\nYou can also report issues on the appropriate page on [GitHub](https://github.com/brightlayer-ui).\n\n## If You Encounter a Bug in Your Framework\n\nThe JavaScript libraries and their associated Material Design libraries are part of the open source community. If you find an issue with either of these, you can submit your tickets directly to those projects using the links below (or better yet, fork the repository and contribute!):\n\n### Angular\n\n- [Angular](https://github.com/angular/angular/issues)\n- [Angular Material](https://github.com/angular/material2/issues)\n\n### React\n\n- [React](https://github.com/facebook/react/issues)\n- [Material-UI](https://github.com/mui-org/material-ui/issues)\n\n### Ionic / Cordova\n\n- [Ionic](https://github.com/ionic-team/ionic/issues)\n- [Cordova](https://github.com/apache/cordova/issues)\n- [Cordova CLI](https://github.com/apache/cordova-cli/issues)\n\n### React Native\n\n- [React Native](https://github.com/facebook/react-native/issues)\n" - }, - "/community/features": { "title": "Request Features" }, - "/community/faq": { - "title": "FAQ", - "text": "import { Divider, FAQExpander } from '../../app/components';\n\n\n\n# Frequently Asked Questions\n\nWe strive to provide as much information as possible about Brightlayer UI in our documentation as possible. However, we can't always cover everything. Below are some common questions that people have asked about the platform. Please check to see if your question has been answered below before contacting us directly.\n\n## General\n\n
\n\n\nYes. If you would like to meet with our team to go over the basics (whats and whys) of Brightlayer UI and go through everything that we have to offer, please get in touch with us to set up a time.\n\n\n\n\n\nBrightlayer UI operates on a continuous delivery model — we release new resources as soon as they are available. Our work is planned on a quarterly basis and towards the end of each quarter we hold a release announcement event where we go over all of the updates to the platform that were made during that quarter and answer questions from the community. If you would like to attend these announcements, please contact us and we will add you to our mailing list. You can track our progress for the current quarter on our [Roadmap](/roadmap) page, which is updated every two weeks.\n\n\n
\n\n## Developers\n\n
\n\n\nIf you are starting a new project, we highly recommend using the [Brightlayer UI CLI](/development/cli) to start your project. This will automatically integrate all of the necessary Brightlayer UI resources as well as give you several templates to choose from for starting your project. If you need to integrate Brightlayer UI into an existing project, we have comprehensive Getting Started guides for [Web](/development/frameworks-web/intro) and [Mobile](/development/frameworks-mobile/intro) projects that walk you through the steps necessary to add Brightlayer UI to your project, including adding themes, components libraries, etc.\n\n\n\n\n\nAt this time, Brightlayer UI only supports Angular or React for web projects and Ionic (with Angular) or React Native for mobile applications. While we would love to be able to support all of the other great frameworks that are out there, the Brightlayer UI team does not currently have the resources to effectively support them all. One of the primary goals of Brightlayer UI is to maximize re-usability and code-sharing between projects / teams — supporting every possible framework goes against this principle. We've tried to support enough frameworks to give teams flexibility in their choice while also ensuring that we can continue to provide meaningful content on an ongoing basis. \n\n\n\n\n\nThe Brightlayer UI team is not currently staffed for doing project development for product teams. We are available to support your development team with integrating and using the Brightlayer UI resources in your project, but you will need to build your own development team to create your application.\n\n\n\n\n\nWith Brightlayer UI, you have access to all of the Material Design icons as well as additional icons that have been designed specifically for Brightlayer UI applications. These can all be browsed on our [Iconography](/style/iconography) page. Clicking on an icon will show information about the icon including usage instructions in our supported frameworks as well as buttons to download icons individually. If you need an icon that is not currently available, contact us and we will work with you on a solution.\n\n\n\n\n\nMost applications should stick to using the default Brightlayer UI themes. However, in some cases you may need to develop your own theme, such as for products that are sold under a different brand or are white-labeled for other companies. In this case, you should refer to the theming instructions for your selected framework ([Angular](https://v7.material.angular.io/guide/theming), [React](https://mui.com/customization/theming/), [React Native](https://callstack.github.io/react-native-paper/theming.html)). You may wish to start with the default Brightlayer UI themes and extend only the pieces that need to change for your project.\n\n\n\n\n\nCurrently, Brightlayer UI recommends using [Highcharts](http://www.highcharts.com) for your charting needs. If you prefer an open-source charting alternative, Brightlayer UI also offers resources for working with [ChartJS](https://www.chartjs.org/). You can read more about this on our [Visualizations](/patterns/visualizations) page. You may use other charting solutions in your application if there is a genuine business need, but keep in mind that this may compromise the consistency and reusability of your solution when compared to other projects.\n\n\n\n\n\nIf you need to build a standalone desktop application, we recommend using a tool like [Electron](https://www.electronjs.org/). This will allow you to build the application using one of Brightlayer UI's supported web technologies while still being able to package the application for installation onto a desktop.\n\n\n\n\n\nIf you are interested in contributing to Brightlayer UI, that's awesome! We welcome pull requests for features and bug fixes. We're also more than happy to have you report bugs and reach out to us with comments, suggestions, or other ideas. Please read our [Innersourcing](/community/innersourcing) guide for more details.\n\n\n
\n\n\n## Designers\n\n
\n\n\nYes! We have standardized on Figma as our preferred tool for designing Brightlayer UI applications. We have a [Component Sticker Sheet](https://www.figma.com/community/file/1024360297793425107) as well as a [Design Pattern Sticker Sheet](https://www.figma.com/community/file/1023327014725714313) that give you access to a wide array of design elements that you can use to kick start your projects. \n\n\n\n\n\nAt this time, we have standardized on Figma as our design tool of choice for Brightlayer UI applications and will not be maintaining resources for other tools. This is to ensure that teams are able to be working from the same set of resources to help maintain consistency and re-usability across products. If you would like to learn more about Figma or getting access for you team, please get in touch with us.\n\n\n\n\n\nWe will be continuously updating the [Design Patterns](/patterns) section with new patterns and code samples as they are available. We will prioritize patterns and examples based on interest expressed from development teams. If there is something you want to see, please contact us.\n\nIf you have built something that you would like to share, check out our information on [innersourcing](/community/innersourcing) and [Contact Us](/community/contactus) with a demo.\n\n\n\n\n\nIf you are interested in seeing some examples of past and present projects that have been designed using Brightlayer UI, please get in touch with us. We would be more than happy to point you to some reference materials from other projects.\n\n\n\n\n\nBrightlayer UI is not meant to limit your creativity or make you feel like you are designing in a box. We want Brightlayer UI products to feel like they are part of the same family, but we do not want them to all feel like the same application. There are some aspects of applications that need to be the same across products to drive this consistency, but other areas are fair game for you to develop your own style. You can learn more by reading our page on [Product Identity](/design/project-identity).\n\n\n\n\n\nIf you are designing your project using the Brightlayer UI assets we provide, these should be achievable without much issue on the development side. If you have specific concerns, please feel free to contact our development team and we can help your developers find a solution that will work.\n\n\n\n\n\nIf you are interested in contributing to Brightlayer UI, that's awesome! We would love to see what you have designed. If you have components or patterns that you think would be valuable to share with the rest of the Brightlayer UI community, please get in touch with us for a discussion. You can also find more information on our [Innersourcing](/community/innersourcing#how-we-innersource-new-features) page.\n\n\n
\n\nDon't see what you're looking for? [Contact Us](/community/contactus)." - }, - "/resources/developer": { "title": "Developer Resources" }, - "/resources/designer": { "title": "Designer Resources" }, - "/roadmap": { "title": "Roadmap" }, - "/release-notes": { "title": "Release Notes" }, - "/attributions": { "title": "Attributions" } + "/resources/developer": { "title": "Developer Resources" } }