BUILD DAPP USING JS AND?SOLIDITY

BUILD DAPP USING JS AND?SOLIDITY

YOUR MOOD GOONA STORE IN BLOCKCHAIN

WE HAVE FOUR PARTS TO MAKE THIS DAPP

1: HTML

2: CSS

3: SOLIDITY

4: JS

— — — — — — — — — — — — — — — — — — — — — — — — — —?

1 HTML?:

<div class=” container”>

<h1 >This is my fristDapp</h1>

<p>Here we are going to set up some mood</p>

<label for=”mood”>Input</label>

<input type=”text” name=”” id=”mood” />

<div>

<button onclick=”getMood()”>get Mood</button>

</div>

<div>

<button onclick=”setMood()”>set Mood</button>

</div>

</div>

— — — — — — — — — — — — — — — — — — — — — — — — — — — — —

2 CSS:

body {

text-align: center;

font-family: Arial, Helvetica, sans-serif;

}

div {

background-color: aqua;

width: 25%;

margin: 0 auto;

display: flex;

flex-direction: column;

}

.container{

border: 5px solid?;

}

button {

border: none;

width: 150%;

margin: 20px 0px 5px 0px;

}

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — -

3 SOLIDITY?:

// spdx licence identifire?:MIT;

pragma solidity ^0.8.7?;

contract MoodDiary{

string mood;

function getMood() public view returns(string memory){

return mood;

}

function setMood(string memory _mood) public {

mood = _mood;

}

}

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

4 Javascript?:( actual code is written in bold, and the rest is explaination)

<! — ether.js is a library for interacting with the Ethereum Blockchain and its ecosystem. →
<! — importing ether.js source — — — — — — — — — — — — →

<script

src=”https://cdn.ethers.io/lib/ethers-5.2.umd.min.js"

type=”application/javascript”

></script>

<! — another script for writing our code — — — — — — — →

<script>

// window.ethereum.enable() is looking at the window?, this is injected web3, it is goona detect if i have a wallet or metamask installed in browser, remix also doing this, it just check is your browser have wallet

window.ethereum.enable();

//?.web3Provider(), i can use because of src in above script tag

var provider = new ethers.providers.Web3Provider(

window.ethereum,

“rinkeby”

);

console.log(provider);
/* it return an object
Web3Provider {_
isProvider: true,
_events: Array(0),
_emitted: {…}, formatter:
Formatter,
anyNetwork: false,?…}
*/
// we made four variables — — — — — — — — — — — — — — — — -
/*
value of MoodContractAddress = we get from our smart contract
value of MoodContractABI = we get from our smart contract
value of MoodContract = we find below
value of signer = we find below
*/

var MoodContractAddress = “0x9F7C4C49bE4ceC8839FA0AA06b00Fa2Bc0a9B0e4”;

var MoodContractABI =?[

{

inputs: [

{

internalType: “string”,

name: “_mood”,

type: “string”,

},

],

name: “setMood”,

outputs: [],

stateMutability: “nonpayable”,

type: “function”,

},

{

inputs: [],

name: “getMood”,

outputs: [

{

internalType: “string”,

name: “”,

type: “string”,

},

],

stateMutability: “view”,

type: “function”,

},

];

var MoodContract;

var signer;

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — —?

provider.send(“eth_requestAccounts”, [])

// console.log(provider.send(“eth_requestAccounts”, []))
// it return promise

.then(() =>?{

provider.listAccounts()

// console.log(provider.listAccounts() )
// it return promise pending

.then((accounts) =>?{

console.log(accounts);

// it return my account [‘0x5723572d0Dae9DF5575565203cF979eF087052dc’]

signer = provider.getSigner(accounts[0]);

// console.log(signer)
/* it return an object?,
JsonRpcSigner {
_isSigner: true, provider:
Web3Provider, _address: ‘0x5723572d0Dae9DF5575565203cF979eF087052dc’,
_index: null}
*/

MoodContract = new ethers.Contract(

MoodContractAddress,

MoodContractABI,

signer

);

console.log(MoodContract);

/* it return an object
Contract {
interface: Interface,
provider: Web3Provider,
signer: JsonRpcSigner,
callStatic: {…},
estimateGas: {…},?…}
*/

});

});

// i have to make these two function asyncronus because it will not stop other executions

async function getMood() {

let getMoodPromise = MoodContract.getMood();

// getMood is a method inside MoodContract object

console.log(getMoodPromise);

var Mood = await getMoodPromise;

console.log(Mood);

}

async function setMood() {

let mood = document.getElementById(“mood”).value;

setMoodPromise = MoodContract.setMood(mood);

// setMood is a method inside MoodContract object

console.log(setMoodPromise);

await setMoodPromise;

}

</script>

要查看或添加评论,请登录

VISHNU VISHWAKARMA的更多文章

  • Q and A like app

    Q and A like app

    js required:- (code in bold) let plusIcon = document.querySelector(‘.

  • Toggle Nav-bar

    Toggle Nav-bar

    // you can toggle anything by adding or removing classes JS required :-( code written in bold) // classList —…

  • SUPERHERO APP

    SUPERHERO APP

    Our app will look like this , let’s do HTML REQUIRED:- we can add and update image from javascript using

  • Bill calculator project

    Bill calculator project

    HTML REQUIRED :- link rel=”preconnect” href=”https://fonts.googleapis.

社区洞察

其他会员也浏览了