From 0edb329f4ca7bbabb264321ef026cd9f17f79c3f Mon Sep 17 00:00:00 2001 From: canguruhh Date: Tue, 8 Oct 2019 12:49:21 +0800 Subject: [PATCH 1/3] Theming for standalone github pages --- README.md | 13 ++--- _config.yml | 3 +- _layouts/default.html | 51 +++++++++++++++++++ tutorials/1-Metaverse-Wallet/README.md | 15 ++++-- tutorials/2-Avatars-and-MSTs/README.md | 9 ++-- tutorials/3-MITs/README.md | 12 ++++- .../tutorial.md | 0 7 files changed, 83 insertions(+), 20 deletions(-) create mode 100644 _layouts/default.html rename tutorials/{4-commaindline => 4-commandline}/tutorial.md (100%) diff --git a/README.md b/README.md index 2f313bc..a7b558b 100644 --- a/README.md +++ b/README.md @@ -48,14 +48,9 @@ These tutorials are designed * each tutorial comes with complete solutions to show you how its done in the end. Don't look till you're done! -1 - Integrate metaverse wallet into your dapp with your DID -2 - Issue and transfer MST’s -3 - Issue and transfer MIT’s -4 - learn the metaverse command line -5 - create metaverse wallet plugin -6 - execute coin swaps -7 - create multisig transactions -8 - understanding Metaverse MIPs +1. [Integrate Metaverse wallet into your dapp with your DID](tutorials/1-Metaverse-Wallet) +2. [Issue and transfer MST’s](tutorials/2-Avatars-and-MSTs) +3. [Issue and transfer MIT’s](tutorials/3-MITs) For more information refer to the [Metaverse Documentation](https://docs.mvs.org/docs/) @@ -159,4 +154,4 @@ Metaverse You should see the "blockchain" (from mvs-blockchain-js) and Metaverse (from metaversjs) objects show up in the console. -You should now be fully set up and ready to begin tutorial 1. +You should now be fully set up and ready to begin [tutorial 1](tutorials/1-Metaverse-Wallet). diff --git a/_config.yml b/_config.yml index c419263..0877766 100644 --- a/_config.yml +++ b/_config.yml @@ -1 +1,2 @@ -theme: jekyll-theme-cayman \ No newline at end of file +theme: jekyll-theme-minimal +logo: https://app.myetpwallet.com/assets/logo.png \ No newline at end of file diff --git a/_layouts/default.html b/_layouts/default.html new file mode 100644 index 0000000..64f7569 --- /dev/null +++ b/_layouts/default.html @@ -0,0 +1,51 @@ + + + + + + + + + + + +
+
+ {% if site.logo %} + Logo +

+ {% endif %} + +

Home

+

Tutorial 1Create Wallet

+

Tutorial 2Avatars and Smart Token

+

Tutorial 3Identifiable Token

+ +
+
+ + {{ content }} + +
+ +
+ + {% if site.google_analytics %} + + {% endif %} + + \ No newline at end of file diff --git a/tutorials/1-Metaverse-Wallet/README.md b/tutorials/1-Metaverse-Wallet/README.md index df8debb..acc2b14 100644 --- a/tutorials/1-Metaverse-Wallet/README.md +++ b/tutorials/1-Metaverse-Wallet/README.md @@ -1,3 +1,5 @@ +# Tutorial 1 - Metaverse Wallet + In this tutorial you will learn how to * Create a Metaverse wallet @@ -6,7 +8,7 @@ In this tutorial you will learn how to * Send transactions programatically * Integrate wallet into your dApp -### Introduction +## Introduction Metaverse is a UTXO based blockchain @@ -24,7 +26,7 @@ For more information on UTXO's look here https://komodoplatform.com/whats-utxo/ In Metaverse, as with Bitcoin, you can generate deterministic wallets using by memnonic code words. This gives you multiple addresses you can send and recieve transactions from. -### Hands on Tutorial +## Hands on Tutorial Note: Explicit detailed instructions are given to work with Metaverse, but not always so with HTML elements. If you get stuck with coding HTML elements, you can always refer to w3schools.com @@ -41,7 +43,7 @@ Create front end Open tut1.html and use this HTML front end as the base of your app. ``` -< + @@ -180,7 +182,7 @@ async function sendETP(amount){ } ``` -### Test NodeJS +## Test NodeJS To test your nodejs code, Create a function called run() and make sure it gets executed in the script. @@ -213,7 +215,7 @@ node tut1.js You should see an ETP balance, and a transaction hash in your terminal. You can take the transaction hash and view the transaction in the [Metaverse Testnet Blockchain Explorer](https://explorer-testnet.mvs.org/). -### Connect to Dapp +## Connect to Dapp To interact with metaversejs in your webapp, you need to reference metaversejs in your HTML. @@ -240,3 +242,6 @@ Verify that you have connected metaverse to the webapp by opening the browser co _TODO: Expand upon once metaversjs referencing is completed_ Now connect elements to the js functions and youre done! + +## Whats next? +Continue with the next tutorial and learn how to [issue and transfer Metaverse Smart Token (MST)](../2-Avatars-and-MSTs) \ No newline at end of file diff --git a/tutorials/2-Avatars-and-MSTs/README.md b/tutorials/2-Avatars-and-MSTs/README.md index c4f05cc..c4e2499 100644 --- a/tutorials/2-Avatars-and-MSTs/README.md +++ b/tutorials/2-Avatars-and-MSTs/README.md @@ -1,3 +1,5 @@ +# Tutorial 2 - Avatars and Smart Token + In this tutorial you will learn how to * Register an Avatar @@ -159,7 +161,7 @@ async function transferMST() { ``` -### Connect to your dApp +## Connect to your dApp To interact with metaversejs in your webapp, you need to reference metaversejs in your HTML. @@ -179,6 +181,7 @@ Also reference your tut2.js file. Verify that you have connected metaverse to the webapp by opening the browser console and typing "Metaverse". You should see the Metaverse object come up and look something like - - Next connect elements to the js functions and youre done! + +## Whats next? +Continue with the next tutorial and learn how to work with [Metaverse Identifiable Token (MIT)](../3-MITs) \ No newline at end of file diff --git a/tutorials/3-MITs/README.md b/tutorials/3-MITs/README.md index 93925d1..39c8cb4 100644 --- a/tutorials/3-MITs/README.md +++ b/tutorials/3-MITs/README.md @@ -1,3 +1,5 @@ +# Tutorial 3 - Metaverse Identifiable Token (MIT) + In this tutorial you will learn how to * What an MIT is @@ -7,7 +9,7 @@ In this tutorial you will learn how to * Integrate MIT's into your app -### Introduction +## Introduction What are MIT's MIT stands for Metaverse Identifiable Token. MIT is Metaverse's non-fungible token standard. You can think of them as single Issue Assets with a unique identifying symbol. MIT's can also store a content string. @@ -21,7 +23,7 @@ MIT's can be used to: MIT's can be transferred between avatars. Only Avatars can issue MIT's -### Hands on Tutorial +## Hands on Tutorial First lets create an html front end @@ -141,3 +143,9 @@ Verify that you have connected metaverse to the webapp by opening the browser co ''' ''' Next connect elements to the js functions and youre done! + +## Whats next? + +You have completed the Metaverse Tutorial series. For further information checkout the [examples](https://github.com/antron3000/MetaverseTutorials/tree/master/examples) section or read the official [Metaverse Documentation](https://docs.mvs.org). + +Join the Metaverse developer community today and build amazing dapps. \ No newline at end of file diff --git a/tutorials/4-commaindline/tutorial.md b/tutorials/4-commandline/tutorial.md similarity index 100% rename from tutorials/4-commaindline/tutorial.md rename to tutorials/4-commandline/tutorial.md From b681b8d84cbf6fe710da7b54f7fb6b2f9da316ad Mon Sep 17 00:00:00 2001 From: canguruhh Date: Tue, 8 Oct 2019 14:54:57 +0800 Subject: [PATCH 2/3] Logo --- _config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_config.yml b/_config.yml index 0877766..306506c 100644 --- a/_config.yml +++ b/_config.yml @@ -1,2 +1,2 @@ theme: jekyll-theme-minimal -logo: https://app.myetpwallet.com/assets/logo.png \ No newline at end of file +logo: logo.png From 1300dd7373abcd19c74ad65ef77d86580ddc0d9e Mon Sep 17 00:00:00 2001 From: canguruhh Date: Tue, 8 Oct 2019 15:04:09 +0800 Subject: [PATCH 3/3] Add logo --- logo.png | Bin 0 -> 18778 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 logo.png diff --git a/logo.png b/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..8c0505624fc6852a1baa0bd02e3be3863e899c98 GIT binary patch literal 18778 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
    T9|D#?GM{YieKb1JqmCA-w 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