<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Akhilesh Thite</title>
    <description>The latest articles on Forem by Akhilesh Thite (@akhileshthite).</description>
    <link>https://forem.com/akhileshthite</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F673533%2F176666cc-9378-48da-bea0-a5d82e852e74.png</url>
      <title>Forem: Akhilesh Thite</title>
      <link>https://forem.com/akhileshthite</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/akhileshthite"/>
    <language>en</language>
    <item>
      <title>How to keep EC2 instance running after SSH is terminated?</title>
      <dc:creator>Akhilesh Thite</dc:creator>
      <pubDate>Tue, 05 Apr 2022 09:59:28 +0000</pubDate>
      <link>https://forem.com/akhileshthite/how-to-keep-ec2-instance-running-after-ssh-is-terminated-45k8</link>
      <guid>https://forem.com/akhileshthite/how-to-keep-ec2-instance-running-after-ssh-is-terminated-45k8</guid>
      <description>&lt;p&gt;In this blog post, I'm going to list a few commands that will help you to keep the EC2 instance running after SSH is terminated.&lt;/p&gt;

&lt;h2&gt;
  
  
  Author
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://twitter.com/AkhileshThite_" rel="noopener noreferrer"&gt;Akhilesh Thite&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Linux &amp;amp; Mac users
&lt;/h2&gt;

&lt;p&gt;First, Log in to the server with your SSH key.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;To keep the server running in background&lt;/strong&gt;, use the following command.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;screen -d -m
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;Let's assume you have a &lt;strong&gt;python web application&lt;/strong&gt;, then your command would look like this:&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;screen -d -m python app.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;Or if you're using &lt;strong&gt;node&lt;/strong&gt;, then your command would look like this:&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;screen -d -m npm start
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;To list the available screens&lt;/strong&gt;, use the following command.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;screen -ls
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;To restart the session&lt;/strong&gt;, use the following command.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;screen -r [session restart]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;To quit the session&lt;/strong&gt;, use the following command.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;screen -X -S [session you want to kill] quit
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Windows (PuTTY) users
&lt;/h2&gt;

&lt;p&gt;First, SSH into your remote box. Type &lt;strong&gt;&lt;code&gt;screen&lt;/code&gt;&lt;/strong&gt;, then start the process you want.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Press &lt;strong&gt;&lt;code&gt;Ctrl-A&lt;/code&gt;&lt;/strong&gt; then &lt;strong&gt;&lt;code&gt;Ctrl-D&lt;/code&gt;&lt;/strong&gt;. This will detach your screen session but leave your processes running. Now, you can log out of the remote box.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;If you want to come back later, log on again and type &lt;strong&gt;&lt;code&gt;screen -r&lt;/code&gt;&lt;/strong&gt;, this will resume your screen session and you can see the output of your process.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Have any questions or suggestions? Leave a comment down below.&lt;br&gt;
&lt;strong&gt;Thank you!&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>aws</category>
      <category>productivity</category>
      <category>linux</category>
      <category>beginners</category>
    </item>
    <item>
      <title>DHost: Publish static websites right from VS Code!</title>
      <dc:creator>Akhilesh Thite</dc:creator>
      <pubDate>Tue, 15 Mar 2022 14:03:56 +0000</pubDate>
      <link>https://forem.com/akhileshthite/dhost-publish-static-websites-right-from-vs-code-40n6</link>
      <guid>https://forem.com/akhileshthite/dhost-publish-static-websites-right-from-vs-code-40n6</guid>
      <description>&lt;p&gt;&lt;strong&gt;DHost VS Code Extension allows you to instantly publish static websites to &lt;a href="https://ipfs.io/" rel="noopener noreferrer"&gt;IPFS&lt;/a&gt; by using &lt;a href="https://web3.storage/" rel="noopener noreferrer"&gt;web3.storage&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The idea was to build a decentralized dev tool that can instantly publish websites from VS Code without any third-party centralized cloud services. Now, with DHost you can publish and share your websites quickly right from VS Code with anyone in the world!&lt;/p&gt;

&lt;h3&gt;
  
  
  💻 Install extension from &lt;a href="https://marketplace.visualstudio.com/items?itemName=DHost.dhost" rel="noopener noreferrer"&gt;here&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnlf9eakpfr4tr2hmrwfa.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnlf9eakpfr4tr2hmrwfa.gif" alt="Image description" width="600" height="338"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;✅ &lt;strong&gt;Decentralized&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Instant hosting&lt;/strong&gt; (Publish your website with just 2 commands)&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Unlimited uploads&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Accessible to anyone&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Permanent storage&lt;/strong&gt; (web3.storage helps to permanently pin your content)&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Secure&lt;/strong&gt; (Share IPFS links instead of IP Address and host for development)&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Free&lt;/strong&gt; to use&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;DHost even supports build directory uploads (production build of the app made with react.js, vue.js, etc.)&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Steps to use
&lt;/h2&gt;

&lt;p&gt;Open command palette&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Windows &amp;amp; Linux: &lt;code&gt;Ctrl + Shift + P&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;MacOS: &lt;code&gt;Command + Shift + P&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  1. Select the folder
&lt;/h3&gt;

&lt;p&gt;Select the folder of your static website by &lt;code&gt;dhost.select&lt;/code&gt; command.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F05ot6up0tf8ex2wzytge.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F05ot6up0tf8ex2wzytge.png" alt="Image description" width="600" height="59"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;After selecting the folder, the "Folder selected!" popup will appear.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmv8occhzikp7sgtkfo7z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmv8occhzikp7sgtkfo7z.png" alt="Image description" width="451" height="45"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;h3&gt;
  
  
  2. Publish to IPFS
&lt;/h3&gt;

&lt;p&gt;Now, publish your static website by &lt;code&gt;dhost.publish&lt;/code&gt; command.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8vrfo16sd0lmkt94p3ec.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8vrfo16sd0lmkt94p3ec.png" alt="Image description" width="602" height="60"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;It'll take a few seconds to publish.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7aze95hvmswvhihea4ke.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7aze95hvmswvhihea4ke.png" alt="Image description" width="248" height="21"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;After publishing successfully, it'll show the IPFS &lt;code&gt;CID&lt;/code&gt; of your website and an option to open the website (IPFS gateway URI).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvazg3s2cvkc4t9k8agvy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvazg3s2cvkc4t9k8agvy.png" alt="Image description" width="451" height="147"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;If you have any queries, then create a &lt;a href="https://github.com/buidltools/support/discussions" rel="noopener noreferrer"&gt;discussion thread&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Working
&lt;/h2&gt;

&lt;p&gt;DHost uses web3.storage, basically it makes the content available over IPFS and permanently pins the content with the help of &lt;a href="https://filecoin.io/" rel="noopener noreferrer"&gt;Filecoin&lt;/a&gt; infrastructure. Read more about web3.storage and how it works &lt;a href="https://web3.storage/about/" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;br&gt;
We have our separate DHost API Token on web3.storage, it allows up to 1TB of content pinning, after that we can request more storage for our respective use.&lt;/p&gt;

&lt;p&gt;After uploading your website to IPFS, web3.storage returns a &lt;a href="https://docs.ipfs.io/concepts/content-addressing/" rel="noopener noreferrer"&gt;CID&lt;/a&gt; &lt;code&gt;Qmeq5NxNX644KHNji..&lt;/code&gt;, which is a hash for an array of files stored on IPFS, and that later is combined with IPFS gateway link &lt;code&gt;https://ipfs.infura.io/ipfs/&lt;/code&gt; to access the website.&lt;/p&gt;

&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;p&gt;💻 VSCode Marketplace: &lt;a href="https://marketplace.visualstudio.com/items?itemName=DHost.dhost" rel="noopener noreferrer"&gt;https://marketplace.visualstudio.com/items?itemName=DHost.dhost&lt;/a&gt;&lt;br&gt;
👾 GitHub: &lt;a href="https://github.com/buidltools/vscode-dhost" rel="noopener noreferrer"&gt;https://github.com/buidltools/vscode-dhost&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Built by ~ &lt;strong&gt;BUIDL Tools&lt;/strong&gt; &lt;br&gt;
🌐 Website: &lt;a href="https://buidltools.com/" rel="noopener noreferrer"&gt;https://buidltools.com/&lt;/a&gt;&lt;br&gt;
🐦 Twitter: &lt;a href="https://twitter.com/buidltools" rel="noopener noreferrer"&gt;https://twitter.com/buidltools&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thank you!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>web3</category>
      <category>ipfs</category>
      <category>vscode</category>
    </item>
    <item>
      <title>Get started with VR programming for Metaverse</title>
      <dc:creator>Akhilesh Thite</dc:creator>
      <pubDate>Sat, 29 Jan 2022 12:33:42 +0000</pubDate>
      <link>https://forem.com/akhileshthite/get-started-with-vr-programming-for-metaverse-59i8</link>
      <guid>https://forem.com/akhileshthite/get-started-with-vr-programming-for-metaverse-59i8</guid>
      <description>&lt;p&gt;Hey! It's &lt;a href="https://twitter.com/AkhileshThite_" rel="noopener noreferrer"&gt;Akhilesh&lt;/a&gt; here. This is gonna be a short post. So, I was wandering on GitHub and discovered &lt;a href="https://aframe.io/" rel="noopener noreferrer"&gt;A-Frame&lt;/a&gt;. It's a web framework for building VR (virtual reality) experiences.&lt;/p&gt;

&lt;h2&gt;
  
  
  Get started
&lt;/h2&gt;

&lt;p&gt;To get started, first you have to import A-Frame library via external script tag.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;script &lt;/span&gt;&lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"https://aframe.io/releases/1.2.0/aframe.min.js"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To create objects in VR, learn about their HTML primitives &lt;code&gt;(a-scene, a-box, a-sphere, a-cylinder, a-sky, etc.)&lt;/code&gt; from &lt;a href="https://aframe.io/docs/1.2.0/introduction/html-and-primitives.html" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Here's a basic template to get started.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;html&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;head&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;script &lt;/span&gt;&lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"https://aframe.io/releases/1.2.0/aframe.min.js"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;a-scene&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;a-box&lt;/span&gt; &lt;span class="na"&gt;position=&lt;/span&gt;&lt;span class="s"&gt;"-1 0.5 -3"&lt;/span&gt; &lt;span class="na"&gt;rotation=&lt;/span&gt;&lt;span class="s"&gt;"0 45 0"&lt;/span&gt; &lt;span class="na"&gt;color=&lt;/span&gt;&lt;span class="s"&gt;"#4CC3D9"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/a-box&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;a-sphere&lt;/span&gt; &lt;span class="na"&gt;position=&lt;/span&gt;&lt;span class="s"&gt;"0 1.25 -5"&lt;/span&gt; &lt;span class="na"&gt;radius=&lt;/span&gt;&lt;span class="s"&gt;"1.25"&lt;/span&gt; &lt;span class="na"&gt;color=&lt;/span&gt;&lt;span class="s"&gt;"#EF2D5E"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/a-sphere&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;a-cylinder&lt;/span&gt; &lt;span class="na"&gt;position=&lt;/span&gt;&lt;span class="s"&gt;"1 0.75 -3"&lt;/span&gt; &lt;span class="na"&gt;radius=&lt;/span&gt;&lt;span class="s"&gt;"0.5"&lt;/span&gt; &lt;span class="na"&gt;height=&lt;/span&gt;&lt;span class="s"&gt;"1.5"&lt;/span&gt; &lt;span class="na"&gt;color=&lt;/span&gt;&lt;span class="s"&gt;"#FFC65D"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/a-cylinder&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;a-plane&lt;/span&gt; &lt;span class="na"&gt;position=&lt;/span&gt;&lt;span class="s"&gt;"0 0 -4"&lt;/span&gt; &lt;span class="na"&gt;rotation=&lt;/span&gt;&lt;span class="s"&gt;"-90 0 0"&lt;/span&gt; &lt;span class="na"&gt;width=&lt;/span&gt;&lt;span class="s"&gt;"4"&lt;/span&gt; &lt;span class="na"&gt;height=&lt;/span&gt;&lt;span class="s"&gt;"4"&lt;/span&gt; &lt;span class="na"&gt;color=&lt;/span&gt;&lt;span class="s"&gt;"#7BC8A4"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/a-plane&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;a-sky&lt;/span&gt; &lt;span class="na"&gt;color=&lt;/span&gt;&lt;span class="s"&gt;"#ECECEC"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/a-sky&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/a-scene&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output: &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwug3mq05q9esxipin708.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwug3mq05q9esxipin708.gif" alt="metaverse vr programming a-frame" width="600" height="314"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Website:&lt;/strong&gt; &lt;a href="https://aframe.io/" rel="noopener noreferrer"&gt;https://aframe.io/&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/aframevr/aframe" rel="noopener noreferrer"&gt;https://github.com/aframevr/aframe&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Documentation:&lt;/strong&gt; &lt;a href="https://aframe.io/docs/1.2.0/introduction/" rel="noopener noreferrer"&gt;https://aframe.io/docs/1.2.0/introduction/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you know any VR programming resources, then please feel free to comment down below, I would love to add them here with full credits.&lt;/p&gt;

&lt;h2&gt;
  
  
  Thank you!
&lt;/h2&gt;

</description>
      <category>metaverse</category>
      <category>vr</category>
      <category>programming</category>
      <category>web3</category>
    </item>
    <item>
      <title>How to contribute to open-source for the first time?</title>
      <dc:creator>Akhilesh Thite</dc:creator>
      <pubDate>Fri, 28 Jan 2022 15:06:55 +0000</pubDate>
      <link>https://forem.com/akhileshthite/contributing-to-open-source-for-the-first-time-1782</link>
      <guid>https://forem.com/akhileshthite/contributing-to-open-source-for-the-first-time-1782</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Getting started with open source and want to make your first PR? &lt;br&gt;
In this tutorial, we'll cover everything from git installation to git commands. Before we start, here's a quick  intro to Git and GitHub.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub&lt;/strong&gt; is widely used code hosting platform in the world, where you can manage, collaborate and develop your software.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Git&lt;/strong&gt; is version control system, that keeps track of every single commit or change you are making in a project.&lt;/p&gt;
&lt;h2&gt;
  
  
  Author
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://twitter.com/AkhileshThite_" rel="noopener noreferrer"&gt;Akhilesh Thite&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Git installation
&lt;/h2&gt;

&lt;p&gt;Install Git from this link:- &lt;a href="https://git-scm.com/downloads" rel="noopener noreferrer"&gt;&lt;/a&gt;&lt;a href="https://git-scm.com/downloads" rel="noopener noreferrer"&gt;https://git-scm.com/downloads&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To check the Git version&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git &lt;span class="nt"&gt;--version&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To set the global Git username &amp;amp; email address&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git config &lt;span class="nt"&gt;--global&lt;/span&gt; user.name &lt;span class="s2"&gt;"your name"&lt;/span&gt;
git config &lt;span class="nt"&gt;--global&lt;/span&gt; user.email &lt;span class="s2"&gt;"your email"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now that you've installed git on your local machine, you can start contributing! You can find a repository with "first-timers" issue tag, or here's a &lt;a href="https://github.com/CuriousGrids/FirstTimers" rel="noopener noreferrer"&gt;repository&lt;/a&gt; specifically made for first timers.&lt;/p&gt;

&lt;h2&gt;
  
  
  STEPS to contribute
&lt;/h2&gt;

&lt;p&gt;Before you follow all these STEPS, make sure you &lt;code&gt;fork&lt;/code&gt; the repository in your GitHub account.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1- Clone the repository using HTTPS or SSH (If you don't have 2FA enabled).&lt;/strong&gt;&lt;br&gt;
This will basically download the git initialized repository on your computer.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/&amp;lt;username&amp;gt;/&amp;lt;RepositoryName&amp;gt;.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Personal Access Token (PAT) is required if you enable 2FA on your Github account &lt;a href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token" rel="noopener noreferrer"&gt;[link]&lt;/a&gt;. For that, use the following command instead of the normal URL command.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://&amp;lt;GitHubToken&amp;gt;@github.com/&amp;lt;username&amp;gt;/&amp;lt;RepositoryName&amp;gt;.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;2. Create a new branch.&lt;/strong&gt;&lt;br&gt;
Creating a new branch allows you to isolate your changes from the master (main) branch. If your changes goes well, you always have the option to merge your changes into the master branch. If things don't go so well you can always discard the branch or keep it within your local repository.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git branch YourBranchName
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;3. Shift to your branch from master (&lt;code&gt;main&lt;/code&gt;) branch.&lt;/strong&gt;&lt;br&gt;
By default you're on main branch. So to switch from main, use the following command.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git checkout YourBranchName
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Make changes in the project.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Add all the changes you've made.&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git add &lt;span class="nb"&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;5. Make a commit message of the changes you've made. Learn more about conventional commits &lt;a href="https://www.conventionalcommits.org/en/v1.0.0/" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git commit &lt;span class="nt"&gt;-m&lt;/span&gt; &lt;span class="s1"&gt;'Add my contribution'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;6. Shift to the master (&lt;code&gt;main&lt;/code&gt;) branch.&lt;/strong&gt;&lt;br&gt;
Now, switch back to main branch to merge all the changes.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git checkout main
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;7. Merge everything from your branch to the master (&lt;code&gt;main&lt;/code&gt;) branch.&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git merge YourBranchName
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;8. Get ready to push from your local machine.&lt;/strong&gt;&lt;br&gt;
You cannot directly push the changes from your local machine, to do that we have to create a new connection record to a remote repository. After adding a remote, you'll be able to use as a convenient shortcut for in other Git commands.&lt;/p&gt;

&lt;p&gt;If you don't have 2FA enabled, then use the normal HTTPS or SSH link.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git remote add &amp;lt;message&amp;gt; https://github.com/&amp;lt;username&amp;gt;/&amp;lt;RepositoryName&amp;gt;.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Personal Access Token (PAT) is required if you enable 2FA on your Github account &lt;a href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token" rel="noopener noreferrer"&gt;[link]&lt;/a&gt;.&lt;br&gt;
For that, use the following command instead of the normal URL command.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git remote add &amp;lt;message&amp;gt; https://&amp;lt;GitHubToken&amp;gt;@github.com/&amp;lt;username&amp;gt;/&amp;lt;RepositoryName&amp;gt;.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;9. Push everything on your forked repository.&lt;/strong&gt;&lt;br&gt;
This will push all the changes you've made to the master (&lt;code&gt;main&lt;/code&gt;) branch of your forked repository.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git push &lt;span class="nt"&gt;-u&lt;/span&gt; &amp;lt;message&amp;gt; main
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now, click on &lt;code&gt;Pull Request&lt;/code&gt; button, you'll have the option to &lt;strong&gt;create a pull request&lt;/strong&gt;. i.e., &lt;code&gt;&amp;lt;your forked repo&amp;gt; -&amp;gt; &amp;lt;original repo&amp;gt;&lt;/code&gt;, That's it you're done!  &lt;/p&gt;

&lt;h2&gt;
  
  
  Thank you!
&lt;/h2&gt;

</description>
      <category>opensource</category>
      <category>github</category>
      <category>git</category>
      <category>beginners</category>
    </item>
    <item>
      <title>DScan: Decentralized QR code generator chrome extension</title>
      <dc:creator>Akhilesh Thite</dc:creator>
      <pubDate>Tue, 30 Nov 2021 18:59:12 +0000</pubDate>
      <link>https://forem.com/akhileshthite/dscan-decentralized-qr-code-generator-use-web3-for-file-sharing-2lp8</link>
      <guid>https://forem.com/akhileshthite/dscan-decentralized-qr-code-generator-use-web3-for-file-sharing-2lp8</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;DScan is a chrome extension that uploads the content to &lt;a href="https://ipfs.io/" rel="noopener noreferrer"&gt;IPFS&lt;/a&gt; and generates decentralized QR codes. It is compatible with chromium-based browsers. Built by &lt;a href="https://buidltools.com" rel="noopener noreferrer"&gt;BUIDL Tools&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Benefits
&lt;/h2&gt;

&lt;p&gt;DScan allows you to quickly upload files as well as folders to &lt;a href="https://ipfs.io/" rel="noopener noreferrer"&gt;IPFS&lt;/a&gt; by using &lt;a href="https://web3.storage/" rel="noopener noreferrer"&gt;web3.storage&lt;/a&gt; and get a "decentralized QR code" with IPFS &lt;a href="https://docs.ipfs.io/concepts/content-addressing/" rel="noopener noreferrer"&gt;CID&lt;/a&gt;. Later you can share the QR code or hosted &lt;a href="https://docs.ipfs.io/concepts/ipfs-gateway/" rel="noopener noreferrer"&gt;gateway&lt;/a&gt; link with everyone for easy and decentralized file sharing.&lt;/p&gt;

&lt;p&gt;Benefits of DScan for file sharing:&lt;br&gt;
✅ &lt;strong&gt;Decentralized storage&lt;/strong&gt;&lt;br&gt;
✅ &lt;strong&gt;Unlimited uploads&lt;/strong&gt;&lt;br&gt;
✅ &lt;strong&gt;Fast upload speed&lt;/strong&gt; (will take around half hour to upload upto 1GB of data)&lt;br&gt;
✅ &lt;strong&gt;Permanent pinning&lt;/strong&gt; (web3.storage helps to permanently pin your content)&lt;br&gt;
✅ &lt;strong&gt;Zero compression&lt;/strong&gt;&lt;br&gt;
✅ &lt;strong&gt;Private&lt;/strong&gt; (Share QR codes or links instead of original data)&lt;br&gt;
✅ &lt;strong&gt;Free&lt;/strong&gt; to use&lt;br&gt;
✅ &lt;strong&gt;User-friendly&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Working
&lt;/h2&gt;

&lt;p&gt;DScan uses web3.storage, basically it makes the content available over IPFS and permanently pins the content with the help of &lt;a href="https://filecoin.io/" rel="noopener noreferrer"&gt;Filecoin&lt;/a&gt; infrastructure. Read more about web3.storage and how it works &lt;a href="https://web3.storage/about/" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;br&gt;
We have our separate DScan API Token on web3.storage, it allows up to 1TB of content pinning, after that we can request more storage for our respective use.&lt;/p&gt;

&lt;p&gt;After uploading the content to IPFS, web3.storage returns a CID &lt;code&gt;Qmeq5NxNX644KHNjiWWbWTJHE94BQrXpMDqW4hVNs1WHrk&lt;/code&gt;, which is a hash for an array of files stored on IPFS (for files &lt;code&gt;{wrapWithDirectory: false}&lt;/code&gt;), and that later is combined with IPFS gateway link &lt;code&gt;https://dweb.link/ipfs/&lt;/code&gt; to access the content.&lt;br&gt;
QR code is generated with the help of IPFS gateway link &lt;code&gt;https://dweb.link/ipfs/Qmeq5NxNX644KHNjiWWbWTJHE94BQrXpMDqW4hVNs1WHrk&lt;/code&gt;, which later you can scan.&lt;/p&gt;

&lt;p&gt;Remember, anyone can access the content if they have your CID unless there is some encryption involved. So, make sure you save the CID securely for private uploading (we DO NOT recommend uploading confidential content). IPFS folks are currently working on the private network, read more about it &lt;a href="https://github.com/ipfs/go-ipfs/blob/master/docs/experimental-features.md#private-networks" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi62exu5u0c5rlhk5dc5g.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi62exu5u0c5rlhk5dc5g.gif" alt="Image description" width="480" height="720"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Use
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Step 1:&lt;/strong&gt; Install the extension from &lt;a href="https://chrome.google.com/webstore/detail/dscan-decentralized-qr-co/idpfgkgogjjgklefnkjdpghkifbjenap" rel="noopener noreferrer"&gt;Chrome web store&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2:&lt;/strong&gt; Click on the "upload" button and select the file or folder you want to upload.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe9t9iga06bn841ikagx1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe9t9iga06bn841ikagx1.png" alt="Image description" width="399" height="599"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3:&lt;/strong&gt; It'll show generated QR code, IPFS CID, and hosted gateway link.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4ow82g6spvlh2uiw3mjc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4ow82g6spvlh2uiw3mjc.png" alt="Image description" width="399" height="598"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;You can download the generated QR code and then, it's ready for scanning!&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi9vqo5n8pvqmx8yknwmo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi9vqo5n8pvqmx8yknwmo.png" alt="Image description" width="399" height="598"&gt;&lt;/a&gt; &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You also have an option to copy the CID and gateway URI.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgbl1hzm93j27o3v0ftgw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgbl1hzm93j27o3v0ftgw.png" alt="Image description" width="399" height="598"&gt;&lt;/a&gt; &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Want to contribute?
&lt;/h2&gt;

&lt;p&gt;Contributions are always welcome! Here are some &lt;a href="https://github.com/AkhileshThite/dscan/issues" rel="noopener noreferrer"&gt;issues&lt;/a&gt; to get started.&lt;/p&gt;

&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;p&gt;💻 Extension: &lt;a href="https://chrome.google.com/webstore/detail/dscan-decentralized-qr-co/idpfgkgogjjgklefnkjdpghkifbjenap" rel="noopener noreferrer"&gt;https://chrome.google.com/webstore/detail/dscan-decentralized-qr-co/idpfgkgogjjgklefnkjdpghkifbjenap&lt;/a&gt;&lt;br&gt;
👾 GitHub: &lt;a href="https://github.com/buidltools/dscan" rel="noopener noreferrer"&gt;https://github.com/buidltools/dscan&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Built by ~ &lt;strong&gt;BUIDL Tools&lt;/strong&gt; &lt;br&gt;
🌐 Website: &lt;a href="https://buidltools.com/" rel="noopener noreferrer"&gt;https://buidltools.com/&lt;/a&gt;&lt;br&gt;
🐦 Twitter: &lt;a href="https://twitter.com/buidltools" rel="noopener noreferrer"&gt;https://twitter.com/buidltools&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Have any questions or suggestions? Leave a comment down below.&lt;br&gt;
Thank you!&lt;/p&gt;

</description>
      <category>web3</category>
      <category>extension</category>
      <category>ipfs</category>
      <category>webpack</category>
    </item>
    <item>
      <title>How to Deploy Smart Contracts on Polygon (Matic) Network? How to Handle Different Errors?</title>
      <dc:creator>Akhilesh Thite</dc:creator>
      <pubDate>Sat, 07 Aug 2021 21:00:30 +0000</pubDate>
      <link>https://forem.com/akhileshthite/how-to-deploy-smart-contracts-on-polygon-matic-network-how-to-handle-different-errors-3l2k</link>
      <guid>https://forem.com/akhileshthite/how-to-deploy-smart-contracts-on-polygon-matic-network-how-to-handle-different-errors-3l2k</guid>
      <description>&lt;p&gt;In this tutorial, we will cover how to deploy smart contracts to the Polygon (Matic) Mumbai test network. We'll cover some of the possible errors which might occur during the deployment. So, grab a cup of coffee ☕️ and follow the steps.&lt;/p&gt;

&lt;h2&gt;
  
  
  After this tutorial you will be able to:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Deploy the smart contracts on polygon (Matic) Mumbai Test Network.&lt;/li&gt;
&lt;li&gt;Tackle the errors while deploying the smart contracts on polygon (Matic) Mumbai Test Network.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Author
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://twitter.com/AkhileshThite_" rel="noopener noreferrer"&gt;Akhilesh Thite&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  1. MetaMask setup.
&lt;/h2&gt;

&lt;p&gt;To deploy the smart contracts on Matic you first have to create a Matic network in MetaMask wallet.&lt;br&gt;
&lt;code&gt;Settings -&amp;gt; Networks -&amp;gt; Add network -&amp;gt; Save&lt;/code&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffi0loekxcaa54jxdrf2b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffi0loekxcaa54jxdrf2b.png" alt="MetaMask Setup" width="346" height="599"&gt;&lt;/a&gt;&lt;br&gt;
To get test Matic for deployment and testing, &lt;br&gt;
&lt;code&gt;go to -&amp;gt;&lt;/code&gt; &lt;a href="https://faucet.matic.network" rel="noopener noreferrer"&gt;Matic Faucet&lt;/a&gt; &lt;code&gt;-&amp;gt; Select Mumbai -&amp;gt; Paste wallet address -&amp;gt; Submit&lt;/code&gt;&lt;br&gt;
Done! check your wallet, you'll see some Matic there.&lt;/p&gt;
&lt;h2&gt;
  
  
  2. truffle-config
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;truffle-config.js&lt;/code&gt; for Mac users&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;truffle.js&lt;/code&gt; for Windows users
The truffle-config file is an important file to understand. In this file, we must configure the path to the DTube Solidity file (smart contract), the contract ABI, and define the available &lt;strong&gt;networks&lt;/strong&gt;.
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;HDWalletProvider&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;@truffle/hdwallet-provider&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nf"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;dotenv&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;config&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt; &lt;span class="c1"&gt;// Load .env file&lt;/span&gt;

&lt;span class="nx"&gt;module&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;exports&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;networks&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
   &lt;span class="c1"&gt;// For Ganache, your personal blockchain&lt;/span&gt;
   &lt;span class="na"&gt;development&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="na"&gt;host&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;127.0.0.1&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;     &lt;span class="c1"&gt;// Localhost (default: none)&lt;/span&gt;
      &lt;span class="na"&gt;port&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;8545&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;            &lt;span class="c1"&gt;// Standard Ethereum port &lt;/span&gt;
      &lt;span class="na"&gt;network_id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;*&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;       &lt;span class="c1"&gt;// Any network (default: none)&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="na"&gt;contracts_directory&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./src/contracts/&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;contracts_build_directory&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./src/abis/&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;compilers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;solc&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="na"&gt;optimizer&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="na"&gt;enabled&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;runs&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;200&lt;/span&gt;
      &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Ensure you create an &lt;code&gt;.env&lt;/code&gt; file in the project root directory (&lt;code&gt;~/DTube/.env&lt;/code&gt;) and paste into it the Secret Recovery Phrase (12 words) of your preferably newly generated and testnet-only MetaMask wallet with the variable name MNEMONIC. This will be loaded by truffle at runtime, and the environment variable can then be accessed with &lt;code&gt;process.env.MNEMONIC&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;MNEMONIC= 12 secret words here..
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now, let's add &lt;code&gt;matic&lt;/code&gt; network in our truffle-config file which will contain our environment variable MNEMONIC and RPC URL.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;    &lt;span class="nx"&gt;matic&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="nl"&gt;provider&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;HDWalletProvider&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;process&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;env&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;MNEMONIC&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
      &lt;span class="s2"&gt;`https://rpc-mumbai.matic.today`&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
      &lt;span class="nx"&gt;network_id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;80001&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="nx"&gt;confirmations&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="nx"&gt;timeoutBlocks&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="nx"&gt;skipDryRun&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="nx"&gt;gas&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;6000000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="nx"&gt;gasPrice&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;10000000000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can set the gas price and gas limits for faster transactions as shown in the above code block.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Deploy Smart Contracts
&lt;/h2&gt;

&lt;p&gt;Command: &lt;code&gt;truffle migrate --network matic&lt;/code&gt;&lt;br&gt;
If you're deploying it second time then deploy with this command just to &lt;strong&gt;reset&lt;/strong&gt; and avoid JSON errors.&lt;br&gt;
Command: &lt;code&gt;truffle migrate --network matic --reset&lt;/code&gt;&lt;br&gt;
If everything worked fine, you'll see something like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;2_deploy_contracts.js
=====================

   Replacing 'MyContract'
   ------------------
   &amp;gt; transaction hash:    0x1c94d095a2f629521344885910e6a01076188fa815a310765679b05abc09a250
   &amp;gt; Blocks: 5            Seconds: 5
   &amp;gt; contract address:    0xbFa33D565Fcb81a9CE8e7a35B61b12B04220A8EB
   &amp;gt; block number:        2371252
   &amp;gt; block timestamp:     1578238698
   &amp;gt; account:             0x9fB29AAc15b9A4B7F17c3385939b007540f4d791
   &amp;gt; balance:             79.409358061899298312
   &amp;gt; gas used:            1896986
   &amp;gt; gas price:           0 gwei
   &amp;gt; value sent:          0 ETH
   &amp;gt; total cost:          0 ETH

   Pausing for 2 confirmations...
   ------------------------------
   &amp;gt; confirmation number: 5 (block: 2371262)
initialised!

   &amp;gt; Saving migration to chain.
   &amp;gt; Saving artifacts
   -------------------------------------
   &amp;gt; Total cost:                   0 ETH


Summary
=======
&amp;gt; Total deployments:   2
&amp;gt; Final cost:          0 ETH
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;Code snippet from matic truffle docs.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Dealing with different errors
&lt;/h2&gt;

&lt;p&gt;If you get any of these errors then follow these steps&lt;/p&gt;

&lt;h3&gt;
  
  
  Error:
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Error: PollingBlockTracker - encountered an error while attempting to update latest block:
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Fix_1:
&lt;/h3&gt;

&lt;p&gt;Change &lt;code&gt;https://rpc-mumbai.matic.today&lt;/code&gt; by using &lt;a href="https://infura.io" rel="noopener noreferrer"&gt;Infura custom RPC&lt;/a&gt;&lt;br&gt;
&lt;code&gt;infura -&amp;gt; Create new project -&amp;gt; Settings -&amp;gt; Endpoints -&amp;gt; Polygon Mumbai&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;    &lt;span class="nx"&gt;matic&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="nl"&gt;provider&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;HDWalletProvider&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;process&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;env&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;MNEMONIC&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
      &lt;span class="s2"&gt;`https://polygon-mumbai.infura.io/v3/process.env.PROJECT_ID`&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
      &lt;span class="nx"&gt;network_id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;80001&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="nx"&gt;confirmations&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="nx"&gt;timeoutBlocks&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="nx"&gt;skipDryRun&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Paste your PROJECT_ID there from .env file.&lt;br&gt;
&lt;code&gt;truffle migrate --network matic --reset&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;If still dealing with error, try this 2nd fix.&lt;/p&gt;
&lt;h3&gt;
  
  
  Fix_2:
&lt;/h3&gt;

&lt;p&gt;Change &lt;code&gt;https://rpc-mumbai.matic.today&lt;/code&gt; by using &lt;a href="https://rpc.maticvigil.com/" rel="noopener noreferrer"&gt;Matic custom RPC&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;    &lt;span class="nx"&gt;matic&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="nl"&gt;provider&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;HDWalletProvider&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;process&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;env&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;MNEMONIC&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
      &lt;span class="s2"&gt;`https://rpc-mumbai.maticvigil.com/v1/process.env.PROJECT_ID`&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
      &lt;span class="nx"&gt;network_id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;80001&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="nx"&gt;confirmations&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="nx"&gt;timeoutBlocks&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="nx"&gt;skipDryRun&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Paste your PROJECT_ID there from .env file.&lt;br&gt;
&lt;code&gt;truffle migrate --network matic --reset&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Error:
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;*** Deployment Failed ***

"Migrations" -- only replay-protected (EIP-155) transactions allowed over RPC.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Fix:
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;npm install @truffle/hdwallet-provider@1.4.0&lt;/code&gt;&lt;br&gt;
Truffle hdwallet-provider version 1.4.0 will fix this error.&lt;/p&gt;

&lt;h3&gt;
  
  
  Error:
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Error:  *** Deployment Failed ***

"Migrations" -- Transaction was not mined within 750 seconds, please make sure your transaction was properly sent. Be aware that it might still be mined!.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Fix:
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;    &lt;span class="nx"&gt;matic&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="nl"&gt;provider&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;HDWalletProvider&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;process&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;env&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;MNEMONIC&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
      &lt;span class="s2"&gt;`https://rpc-mumbai.maticvigil.com/v1/process.env.PROJECT_ID`&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
      &lt;span class="nx"&gt;network_id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;80001&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="nx"&gt;confirmations&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="nx"&gt;timeoutBlocks&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="nx"&gt;skipDryRun&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="nx"&gt;networkCheckTimeout&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;100000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Just add &lt;code&gt;networkCheckTimeout: 100000&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If you discover any new errors and If you know the solution for it, then feel free to comment down below, I'll add that Error-Fix here&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  References
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;Truffle docs: &lt;a href="https://www.trufflesuite.com/docs/truffle/overview" rel="noopener noreferrer"&gt;https://www.trufflesuite.com/docs/truffle/overview&lt;/a&gt;&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Polygon (Matic) docs: &lt;a href="https://docs.matic.network/docs/develop/getting-started" rel="noopener noreferrer"&gt;https://docs.matic.network/docs/develop/getting-started&lt;/a&gt;&lt;/em&gt;&lt;br&gt;
&lt;em&gt;GitHub repo: &lt;a href="https://github.com/AkhileshThite/DTube" rel="noopener noreferrer"&gt;https://github.com/AkhileshThite/DTube&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Thank you!
&lt;/h2&gt;

</description>
      <category>blockchain</category>
      <category>webdev</category>
      <category>smartcontracts</category>
      <category>matic</category>
    </item>
  </channel>
</rss>
