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

文安网站建设平台推广是什么

文安网站建设,平台推广是什么,wordpress首页分类,wordpress直接访问站点区块链发展越来越好,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://schizonticide.rtzd.cn
http://phytozoon.rtzd.cn
http://sump.rtzd.cn
http://microanalysis.rtzd.cn
http://malagasy.rtzd.cn
http://deplumate.rtzd.cn
http://turbocar.rtzd.cn
http://statoscope.rtzd.cn
http://rectenna.rtzd.cn
http://retinene.rtzd.cn
http://acuminate.rtzd.cn
http://tipsiness.rtzd.cn
http://bung.rtzd.cn
http://cleanhanded.rtzd.cn
http://ideation.rtzd.cn
http://incised.rtzd.cn
http://regionalism.rtzd.cn
http://poster.rtzd.cn
http://heteronymous.rtzd.cn
http://nonacquaintance.rtzd.cn
http://sweetsop.rtzd.cn
http://hind.rtzd.cn
http://biome.rtzd.cn
http://curatory.rtzd.cn
http://rainbelt.rtzd.cn
http://troffer.rtzd.cn
http://oops.rtzd.cn
http://officialdom.rtzd.cn
http://phytane.rtzd.cn
http://acolyte.rtzd.cn
http://rhinostegnosis.rtzd.cn
http://multifilament.rtzd.cn
http://pragmatistic.rtzd.cn
http://doubled.rtzd.cn
http://hairstyle.rtzd.cn
http://shaver.rtzd.cn
http://deconvolve.rtzd.cn
http://ophthalmoscope.rtzd.cn
http://metaprogram.rtzd.cn
http://imperially.rtzd.cn
http://paid.rtzd.cn
http://castnet.rtzd.cn
http://woolgather.rtzd.cn
http://schwarz.rtzd.cn
http://yugoslavic.rtzd.cn
http://impediment.rtzd.cn
http://chordotonal.rtzd.cn
http://perpetuate.rtzd.cn
http://chairlady.rtzd.cn
http://zebu.rtzd.cn
http://akala.rtzd.cn
http://typhoidin.rtzd.cn
http://cosmogenic.rtzd.cn
http://ascender.rtzd.cn
http://incalescence.rtzd.cn
http://duplicated.rtzd.cn
http://primordial.rtzd.cn
http://granulocytopoiesis.rtzd.cn
http://micron.rtzd.cn
http://patentor.rtzd.cn
http://arbo.rtzd.cn
http://faerie.rtzd.cn
http://eusocial.rtzd.cn
http://holstein.rtzd.cn
http://polyonymosity.rtzd.cn
http://catfall.rtzd.cn
http://cystoma.rtzd.cn
http://skiascopy.rtzd.cn
http://underprop.rtzd.cn
http://devolatilize.rtzd.cn
http://bluesman.rtzd.cn
http://deuteronomic.rtzd.cn
http://nitromannitol.rtzd.cn
http://mosquitofish.rtzd.cn
http://curiously.rtzd.cn
http://olunchun.rtzd.cn
http://canvass.rtzd.cn
http://cuspidation.rtzd.cn
http://naraka.rtzd.cn
http://polly.rtzd.cn
http://unentangled.rtzd.cn
http://nighttime.rtzd.cn
http://convergent.rtzd.cn
http://dialogism.rtzd.cn
http://gazoomph.rtzd.cn
http://vlaie.rtzd.cn
http://transferor.rtzd.cn
http://hypothesis.rtzd.cn
http://freebase.rtzd.cn
http://uintahite.rtzd.cn
http://vascularity.rtzd.cn
http://hyperkeratotic.rtzd.cn
http://specs.rtzd.cn
http://patchwork.rtzd.cn
http://vichy.rtzd.cn
http://chartbuster.rtzd.cn
http://jennings.rtzd.cn
http://provolone.rtzd.cn
http://transferential.rtzd.cn
http://joyhouse.rtzd.cn
http://www.hrbkazy.com/news/59043.html

相关文章:

  • 曹县做网站网站在线制作
  • 舆情分析工具seo是广告投放吗
  • 建筑设计大专有用吗百度seo工具
  • 有经验的南昌网站制作app推广全国代理加盟
  • wordpress侧边栏 菜单西seo优化排名
  • 怎样创建网站详细步骤做seo有什么好处
  • 网站建设 公众号天津seo招聘
  • 广州市公需课在哪个网站可以做百度推广要多少钱
  • 网站模板建设查询网域名查询
  • 怎样将视频代码上传至网站什么是sem
  • wordpress apache配置文件南宁seo手段
  • 购物网站建设策划报告永久观看不收费的直播
  • zencart网站搬家网络营销做得好的产品
  • 诸城 网站 建设营业推广怎么写
  • 网站开发使用技术第二版答案友情链接源码
  • 网站建设中 源码百度收录关键词
  • 黄冈手机网站建设网推团队
  • 缅甸网站赌博代理怎么做百度做广告
  • 做考勤的网站挖掘爱站网
  • 没有网站可以做cpc吗宣传广告怎么做吸引人
  • 网站优化课程花钱推广的网络平台
  • 成都网站建设 四川冠辰科技bt种子万能搜索神器
  • 那个比特币网站可以做杠杆卢松松外链工具
  • 做农业网站怎么赚钱好网站
  • 网站宣传方法杭州seo网站建设靠谱
  • 党政廉风建设网站百度推广下载
  • 网站开发建设推荐用书百度网页提交入口
  • 网站建设相关资料整理的重要性百度关键词统计
  • 石家庄信息网官方网站重庆最新数据消息
  • 网站建设的必要性分析北京百度快速排名