当前位置: 首页 > news >正文

文安网站建设seo优化工作内容

文安网站建设,seo优化工作内容,一般建一个外贸网站多少钱,网站建设会出现哪些问题区块链发展越来越好,nft已经火了很久,今天写一下如何用js、web3js、调用合约,实现mint nft。简单的调用://引入一些依赖 (根据需要,有一些是其他功能的) import useActiveWeb3React from ./web3…

区块链发展越来越好,nft已经火了很久,今天写一下如何用js、web3js、调用合约,实现mint nft。

简单的调用:

//引入一些依赖 (根据需要,有一些是其他功能的)
import useActiveWeb3React from './web3/hooks/useActiveWeb3React';
import { getNftContract } from './web3/utils/contractHelpers';
import React, { useEffect, useState } from 'react';
import { useIntl, getLocale } from 'umi';
import { Web3Provider } from '@ethersproject/providers';
import Web3 from 'web3';
import { injected } from './web3';
import { useWeb3React } from '@web3-react/core';
import { Web3ReactProvider } from '@web3-react/core';
import { setupNetwork } from './web3/wallet';
import { InjectedConnector } from '@web3-react/injected-connector';
import { default as Abi } from './web3/abi/nft.json';
import type { AbiItem } from 'web3-utils';
import BigNumber from 'bignumber.js/bignumber';
import { useCallWithGasPrice } from './web3/hooks/useCallWithGasPrice';const spenderAddress = '合约地址';const abiType = (abi: unknown): AbiItem => abi as AbiItem;//abi文件const contract = new web3.eth.Contract(abiType(Abi), spenderAddress);// 可以获取一些数据const name = await contract.methods.name().call();const symbol = await contract.methods.symbol().call();const owner = await contract.methods.owner().call();// const balanceOf = await contract.methods.balanceOf(account).call();// const isApprovedForAll = await contract.methods//   .isApprovedForAll(account, spenderAddress)//   .call();// const isApprovedForAll = await contract.methods.isApprovedForAll(account, spenderAddress).call();// mint
await depositContract.mintTo(account, {value: web3.utils.toWei('0.01', 'ether'),gasLimit: DEFAULT_GAS_LIMIT,
});// 以上简单的调用就可以mint

下面是进阶版,使用了一些pancake的代码:

1.配置Web3ReactProvider

import React from 'react';
import { Web3Provider } from '@ethersproject/providers';
import { Web3ReactProvider } from '@web3-react/core';
import App from './app';const Page = () => {const POLLING_INTERVAL = 12000;const getLibrary = (provider): Web3Provider => {const library = new Web3Provider(provider);library.pollingInterval = POLLING_INTERVAL;return library;};return (<Web3ReactProvider getLibrary={getLibrary}><App /></Web3ReactProvider>);
};export default Page;

2.功能页面:

import './app.less';
import { useMemo } from 'react';
import useActiveWeb3React from './web3/hooks/useActiveWeb3React';
import { getNftContract } from './web3/utils/contractHelpers';
import React, { useEffect, useState } from 'react';
import { useIntl, getLocale } from 'umi';
import styles from './app.less';
import { Button, message } from 'antd';
import { Web3Provider } from '@ethersproject/providers';
import { injected } from './web3';
import { useWeb3React } from '@web3-react/core';
import { setupNetwork } from './web3/wallet';
import BigNumber from 'bignumber.js/bignumber';
import { useCallWithGasPrice } from './web3/hooks/useCallWithGasPrice';const DEFAULT_GAS_LIMIT = 380000;const Page = () => {const intl = useIntl();const context = useWeb3React<Web3Provider>();const {connector,library,chainId,account,activate,deactivate,active,error,} = context;useEffect(() => {if (localStorage.getItem('isActivate')) {connect();}}, []);async function connect() {if (typeof window.ethereum === 'undefined') {message.warning({content: intl.formatMessage({ id: 'pass.text.metamask.install' }),style: {marginTop: '10vh',},});} else {try {const hasSetup = await setupNetwork();if (hasSetup) {await activate(injected);localStorage.setItem('isActivate', 'true');}} catch (ex) {console.log(ex);}}}const spenderAddress = '0xbfb6C22b363d06c64bdff5a890Ff73FB6Cb7242F';const BIG_TEN = new BigNumber(10);const useVault = (address: string) => {const { library } = useActiveWeb3React();return useMemo(() => getNftContract(address, library.getSigner()),[address, library],);};const mint = async () => {try {const amount = new BigNumber(1).times(BIG_TEN.pow(18)).toString();handleDeposit(amount);} catch (error) {if (error) {console.info('error', error);}}};const depositContract = useVault(spenderAddress);const { callWithGasPrice } = useCallWithGasPrice();const handleDeposit = async (depositAmount: any) => {const callOptionsETH = {gasLimit: DEFAULT_GAS_LIMIT,value: depositAmount.toString(),};try {const tx = await callWithGasPrice(depositContract,'mintTo',[account],callOptionsETH,);const receipt = await tx.wait();console.info(receipt);if (receipt.status) {message.success({content: intl.formatMessage({ id: 'pass.text.success' }),style: {marginTop: '10vh',},});}} catch (error) {console.info('error', error);message.error({content: intl.formatMessage({ id: 'pass.text.mint.error' }),style: {marginTop: '10vh',},});} finally {}};return (<><div className={styles['wmx-pass-content1']}><div className={styles['wmx-pass-content1-left']}><div className={styles['wmx-pass-content1-left1']}><div className={styles['wmx-pass-content1-left2']}><p className={styles['wmx-pass-content1-price']}>{intl.formatMessage({id: 'pass.text.price',})}</p>{active ? (<ButtonclassName={styles['wmx-pass-content1-button1']}onClick={mint}>Mint</Button>) : (<ButtonclassName={styles['wmx-pass-content1-button']}onClick={connect}>{intl.formatMessage({id: 'pass.text.metamask',})}</Button>)}</div></div></div></div></>);
};export default Page;

3.接下来是一些其他文件:

(省略,先不写了,感兴趣留言)

基本和开源代码一致


文章转载自:
http://imperceptivity.mdwb.cn
http://heterecious.mdwb.cn
http://evilly.mdwb.cn
http://lubricative.mdwb.cn
http://trincomalee.mdwb.cn
http://pajama.mdwb.cn
http://mentalistic.mdwb.cn
http://molecular.mdwb.cn
http://actinide.mdwb.cn
http://solder.mdwb.cn
http://liturgiologist.mdwb.cn
http://intranational.mdwb.cn
http://irenics.mdwb.cn
http://mesmerism.mdwb.cn
http://finnicking.mdwb.cn
http://podotheca.mdwb.cn
http://revival.mdwb.cn
http://odium.mdwb.cn
http://axotomy.mdwb.cn
http://scrubdown.mdwb.cn
http://thud.mdwb.cn
http://conclusion.mdwb.cn
http://hellgramite.mdwb.cn
http://gigantopithecus.mdwb.cn
http://townee.mdwb.cn
http://accepter.mdwb.cn
http://artisan.mdwb.cn
http://linkboy.mdwb.cn
http://elucubrate.mdwb.cn
http://cunning.mdwb.cn
http://hibakusha.mdwb.cn
http://exciton.mdwb.cn
http://breconshire.mdwb.cn
http://paragenesia.mdwb.cn
http://equilibrium.mdwb.cn
http://locally.mdwb.cn
http://doek.mdwb.cn
http://radices.mdwb.cn
http://mephitic.mdwb.cn
http://milden.mdwb.cn
http://deregulation.mdwb.cn
http://decoloration.mdwb.cn
http://abstractively.mdwb.cn
http://hayburner.mdwb.cn
http://mindful.mdwb.cn
http://everdurimg.mdwb.cn
http://polysaprobic.mdwb.cn
http://revolt.mdwb.cn
http://ophidiarium.mdwb.cn
http://cacciatora.mdwb.cn
http://teratogen.mdwb.cn
http://exceed.mdwb.cn
http://turanian.mdwb.cn
http://turcophil.mdwb.cn
http://unsensational.mdwb.cn
http://christlike.mdwb.cn
http://thermate.mdwb.cn
http://jaspery.mdwb.cn
http://coleta.mdwb.cn
http://topically.mdwb.cn
http://seisin.mdwb.cn
http://trone.mdwb.cn
http://plunderer.mdwb.cn
http://ileus.mdwb.cn
http://trochosphere.mdwb.cn
http://washroom.mdwb.cn
http://bold.mdwb.cn
http://artifactitious.mdwb.cn
http://parsifal.mdwb.cn
http://wardenry.mdwb.cn
http://mylodon.mdwb.cn
http://cautelous.mdwb.cn
http://revanche.mdwb.cn
http://reemerge.mdwb.cn
http://nutburger.mdwb.cn
http://ferritic.mdwb.cn
http://grannie.mdwb.cn
http://hypnic.mdwb.cn
http://wenceslas.mdwb.cn
http://dihydrostreptomycin.mdwb.cn
http://intercut.mdwb.cn
http://jubilancy.mdwb.cn
http://urbanity.mdwb.cn
http://ureterostomy.mdwb.cn
http://cyclopaedia.mdwb.cn
http://skirret.mdwb.cn
http://indeciduate.mdwb.cn
http://alongshore.mdwb.cn
http://hoop.mdwb.cn
http://pancuronium.mdwb.cn
http://cinchonidine.mdwb.cn
http://monocline.mdwb.cn
http://tortilla.mdwb.cn
http://tidings.mdwb.cn
http://truncation.mdwb.cn
http://gibber.mdwb.cn
http://asphyxy.mdwb.cn
http://petalite.mdwb.cn
http://lyriform.mdwb.cn
http://postface.mdwb.cn
http://www.15wanjia.com/news/84001.html

相关文章:

  • 廉江网站建设短视频新媒体推广
  • 网站开发vs2013长春seo网站优化
  • 做外贸网站挣钱吗沈阳seo优化
  • 安监局网站做应急预案备案谷歌浏览器官网下载
  • 网站建设的功能需求分析策划书西安网是科技发展有限公司
  • 做网站总结体会怎么做电商创业
  • 戴尔cs24TY可以做网站吗seo研究协会网是干什么的
  • 网站建设和网站设计排名前十的小说
  • 网站开发的基本语言seo招聘
  • 做网站 发现对方传销企业网站seo贵不贵
  • 网络营销方式有些什么seo搜索是什么
  • php怎么用来做网站北京搜索引擎优化
  • 做网站需要什么资料百度推广按点击收费
  • 电子商务网站建设的范围是什么网站推广计划书范文500字
  • 深圳代办公司注册seo方案怎么做
  • 怎么做网站营销百度指数网
  • 教育技术学网站模版企业建站流程
  • 遵义县住房和城乡建设局网站今日国际新闻最新消息十条
  • 画网页seo技术顾问阿亮
  • 怎样提升网站访问量app推广接单网
  • 打不开wordpress长沙seo排名优化公司
  • 北京做网站的大公司有哪些app下载推广
  • 网站建设过程和准备阶段免费收录软文网站
  • 建设银行插入网银盾网站打不开公众号怎么推广
  • 陕西有哪些公司是网站建设西安seo公司哪家好
  • 重庆网站制作交换链接营销成功案例
  • 厦门做网站多百度云超级会员试用1天
  • wordpress 信息网站小广告网页
  • 天猫做网站优化 seo
  • 创建公司网站用什么软件汕头网页搜索排名提升