<?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>DEV Community: Kevin Kuo</title>
    <description>The latest articles on DEV Community by Kevin Kuo (@kevinkuo0320).</description>
    <link>https://dev.to/kevinkuo0320</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%2F901905%2Fd95aaeac-0865-48e2-a0e4-725f97286525.jpeg</url>
      <title>DEV Community: Kevin Kuo</title>
      <link>https://dev.to/kevinkuo0320</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kevinkuo0320"/>
    <language>en</language>
    <item>
      <title>Run a Substrate Node Template on a Remote Server</title>
      <dc:creator>Kevin Kuo</dc:creator>
      <pubDate>Tue, 02 Aug 2022 07:16:00 +0000</pubDate>
      <link>https://dev.to/kevinkuo0320/run-a-substrate-node-template-on-a-remote-server-j6f</link>
      <guid>https://dev.to/kevinkuo0320/run-a-substrate-node-template-on-a-remote-server-j6f</guid>
      <description>&lt;p&gt;Substrate node template is the first step to develop a Polkadot substrate-based parachains. The node template can be hosted on your local computer or a remote server. This guide will show you how to set up and run a substrate node template on a server.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;1, Connect to remote server by using PuTTY client&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--SLMPWs7x--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zba0tiq57gu3sllysg8d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SLMPWs7x--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zba0tiq57gu3sllysg8d.png" alt="Image description" width="448" height="439"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;2, Update Rust environment using following command:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;rustup component add rust — src — — toolchain nightly
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;strong&gt;3, Verify that you have the WebAssembly target installed by running the following command:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;rustup target add wasm32 — unknown — unknown — — toolchain nightly
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--fJi1Nv9t--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/45viw4gen6dqwew5sizy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fJi1Nv9t--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/45viw4gen6dqwew5sizy.png" alt="Image description" width="665" height="71"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You should see everything is up to date after being installed successfully&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;4, Install Substrate contracts node:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git clone https://github.com/substrate-developer-hub/substrate-node-template

cd substrate-node-template &amp;amp;&amp;amp; git checkout polkadot-v0.9.26

cargo build — release
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It may takes about 10–15 mins to compile.&lt;/p&gt;




&lt;p&gt;5, Run substrate node:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;./target/release/node-template — dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You should see the terminal looks like the above. Congratulation! You have successfully installed a substrate node template on a remote server. Next step is to interact with the node from the browser, go check out my previous article!&lt;/p&gt;

&lt;p&gt;Thanks for reading! Feel free to reach out to me if you have any questions.&lt;/p&gt;

</description>
      <category>substrate</category>
      <category>polkadot</category>
      <category>rust</category>
      <category>blockchain</category>
    </item>
    <item>
      <title>How to interact with Polkadot Substrate Node from front-end web browser</title>
      <dc:creator>Kevin Kuo</dc:creator>
      <pubDate>Tue, 02 Aug 2022 07:02:00 +0000</pubDate>
      <link>https://dev.to/kevinkuo0320/how-to-interact-with-polkadot-substrate-node-from-front-end-web-browser-52hi</link>
      <guid>https://dev.to/kevinkuo0320/how-to-interact-with-polkadot-substrate-node-from-front-end-web-browser-52hi</guid>
      <description>&lt;p&gt;Substrate allows developers to build their own customised Parachains, but how can we easily &lt;br&gt;
&lt;strong&gt;interact with the substrate node from the web browser?&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;I have found 3 ways to interact, you can choose it according to your use case:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1, Substrate Front End Template (Basic Level)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Link: &lt;a href="https://substrate-developer-hub.github.io/substrate-front-end-template/"&gt;https://substrate-developer-hub.github.io/substrate-front-end-template/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It allows developers basic functionalities for interacting with the pallets including Pallet Interactor, Transfer, Upgrade runtime and Event viewer. You can fork the source code from the Github repo to create customise components to interact according to different pallets.&lt;/p&gt;

&lt;p&gt;Use cases: Use when you just need to perform basic transaction with the pallets and look up for the events.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--bPTN63jn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m6x8anbkxwvmmc5ddtxb.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--bPTN63jn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m6x8anbkxwvmmc5ddtxb.PNG" alt="Image description" width="880" height="814"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;2, Polkadot.js App (Advanced Level)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Link: &lt;a href="https://polkadot.js.org/apps/"&gt;https://polkadot.js.org/apps/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It provides the most extensive functionalities with generating new accounts, smart contract deployment (provided the contracts pallets being installed), block details, and connecting to different networks.&lt;/p&gt;

&lt;p&gt;Use cases: Use when you need to implement those features that Substrate Front End Template is not available to use.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--pltMIe05--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c49lg754b6ummp4l4yjr.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--pltMIe05--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c49lg754b6ummp4l4yjr.PNG" alt="Image description" width="880" height="625"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;3, ParityTech Contracts UI (Smart contracts ONLY)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Link: &lt;a href="https://paritytech.github.io/contracts-ui/"&gt;https://paritytech.github.io/contracts-ui/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It only allows for smart contract deployment and transactions, cannot interact with pallets transactions. You can add contract pallets into your runtime node, or simply use this pre-configured node template.&lt;/p&gt;

&lt;p&gt;Use case: Use when you only need to interact with smart contract.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--xk1f9IUd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ek644cyddbts825rqi44.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--xk1f9IUd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ek644cyddbts825rqi44.PNG" alt="Image description" width="880" height="528"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;To connect to a specific ip address, just add the &lt;br&gt;
&lt;code&gt;?rpc=wss://your ip&lt;/code&gt;address to the end of the link. For example:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://polkadot.js.org/apps/?rpc=wss://10.194.120.80"&gt;https://polkadot.js.org/apps/?rpc=wss://10.194.120.80&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://paritytech.github.io/contracts-ui/#/?rpc=wss://10.194.120.80"&gt;https://paritytech.github.io/contracts-ui/#/?rpc=wss://10.194.120.80&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Thank you for reading! Feel free to reach out to me if you have any questions!&lt;/p&gt;

</description>
      <category>substrate</category>
      <category>polkadot</category>
      <category>blockchain</category>
      <category>rust</category>
    </item>
  </channel>
</rss>
