try to send transaction to verify the SBT number

This commit is contained in:
Ting-Jun Wang 2023-06-08 19:27:14 +08:00
parent 7c4c1760bc
commit af788a526e
Signed by: snsd0805
GPG Key ID: 8DB0D22BC1217D33
4 changed files with 6055 additions and 76 deletions

2
.env.example Normal file
View File

@ -0,0 +1,2 @@
VITE_CHAIN_ID =
VITE_SBT_ADDR =

1
.gitignore vendored
View File

@ -26,3 +26,4 @@ coverage
*.njsproj
*.sln
*.sw?
.env

6081
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,10 +1,53 @@
<script>
import Web3 from 'web3';
import SBT from '@/assets/SBT.json'
import WarningModal from '../components/WarningModal.vue'
import SuccessModal from '../components/SuccessModal.vue'
import { useClientStore } from '../stores/Client.js'
export default {
name: 'PageFooter'
components: { WarningModal, SuccessModal },
name: 'PageFooter',
data () {
return {
SBTAddress: import.meta.env.VITE_SBT_ADDR,
number: '',
warningModalStatus: false,
successModalStatus: false,
msg: '',
}
},
methods: {
async check () {
console.log(this.SBTAddress)
const web3 = new Web3(window.ethereum)
const clientAddr = (await web3.eth.getAccounts())[0]
var token = new web3.eth.Contract(SBT, this.SBTAddress)
var returnNumber = await token.methods.getAccountNumber(clientAddr).call()
if (returnNumber != 0 && returnNumber == number) {
this.successModalStatus = true
this.msg = 'Success: '+returnNumber
} else {
this.warningModalStatus = true
this.msg = 'Fail: '+returnNumber
}
}
}
}
</script>
<template>
SBT
<button class='button is-info is-large'>mint</button>
<hr>
<form>
number: <input type='text' v-model='number'>
<input type='submit' class='button is-success'>
</form>
<button class='button is-info is-large' @click='check'>check</button>
<WarningModal :active="warningModalStatus" :errorMsg="msg" @closeModal="warningModalStatus=false"></WarningModal>
<SuccessModal :active="successModalStatus" :successMsg="msg" @closeModal="successModalStatus=false" link="/signup/linksbt" btnName="繼續"></SuccessModal>
</template>