国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

DAPP開(kāi)發(fā)【09】NFT交易市場(chǎng)開(kāi)發(fā)(hardhat測(cè)試)

這篇具有很好參考價(jià)值的文章主要介紹了DAPP開(kāi)發(fā)【09】NFT交易市場(chǎng)開(kāi)發(fā)(hardhat測(cè)試)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

測(cè)試文件下新建market.js文件
DAPP開(kāi)發(fā)【09】NFT交易市場(chǎng)開(kāi)發(fā)(hardhat測(cè)試),DAPP,區(qū)塊鏈

扁平化,將所有依賴放在tmp.sol,可以去給他人使用
npx hardhat flatten > tmp.sol
DAPP開(kāi)發(fā)【09】NFT交易市場(chǎng)開(kāi)發(fā)(hardhat測(cè)試),DAPP,區(qū)塊鏈

測(cè)試文件文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-794425.html

const {expect} = require('chai');
const {ethers} = require('hardhat');

describe('Market',async function(){
    //定義三個(gè)合約,兩個(gè)賬戶
    let usdt,nft,market,accountA,accountB;
    
    beforeEach(async () =>{  
        //hardhat提供兩個(gè)賬戶
        [accountA,accountB] = await ethers.getSigners();
        //部署三個(gè)合約
        const USDT = await ethers.getContractFactory('cUSDT');
        usdt = await USDT.deploy();

        const MyNFT = await ethers.getContractFactory('NFTM');
        nft = await MyNFT.deploy(accountA.address);

        const Market = await ethers.getContractFactory('Market');
        market = await Market.deploy(usdt.target,nft.target);

        //給賬戶1挖1usdt的 erc20  部署erc20合約是就給賬戶A了1e26的erc20
    
        //給賬戶2挖兩個(gè)nft
        await nft.safeMint(accountB.address);
        await nft.safeMint(accountB.address);
        
        await nft.connect(accountB).setApprovalForAll(accountA.address,true);

        //給market授權(quán)花費(fèi)A的錢(qián)(默認(rèn)連接的就是第一個(gè)用戶)
        //await usdt.connect(accountA).approve(market.target,"1e26");
        await usdt.approve(market.target,"100000000000000000000000000");

    });

    //驗(yàn)證erc20變量==usdt的地址
    it('its erc20 address should be usdt',async function(){
        expect(await market.erc20()).to.equal(usdt.target);
    });

    it('its erc721 address should be MyNft',async function(){
        expect(await market.erc721()).to.equal(nft.target);
    });

    it('accountB should have two nfts',async function(){
        expect(await nft.balanceOf(accountB.address)).to.equals(2);
    });

    it('accountA should have 1e26 usdt',async function(){
        expect(await usdt.balanceOf(accountA.address)).to.equals("100000000000000000000000000");
    });

    it('accountB can list 2 nft to market',async function(){
        const price = "0x0000000000000000000000000000000000000000000000000001c6bf52634000";
        //await nft.connect(accountB).safeTransferFrom(accountB.address,market.target,0,price);
        //報(bào)錯(cuò)
        //TypeError: ambiguous function description (i.e. matches "safeTransferFrom(address,address,uint256)", 
        //"safeTransferFrom(address,address,uint256,bytes)") (argument="key", value="safeTransferFrom", code=INVALID_ARGUMENT, version=6.9.0)
        //ambiguous 混淆同名函數(shù),即使參數(shù)不一樣,也分不出來(lái),所以用下面的方法,明確選擇器的名字


        //這里應(yīng)該是B來(lái)調(diào)用進(jìn)行上架,但是默認(rèn)是a,老師忘記怎么連接了
        //于是在上面定義  await nft.connect(accountB).setApprovalForAll(accountA.address,true);
        //b允許a使用它的nft
        expect(await nft['safeTransferFrom(address,address,uint256,bytes)'](accountB.address,market.target,0,price))
        .to.emit(market,"NewOrder");
        expect(await nft['safeTransferFrom(address,address,uint256,bytes)'](accountB.address,market.target,1,price))
        .to.emit(market,"NewOrder");

        expect(await nft.balanceOf(accountB.address)).to.equal(0);
        expect(await nft.balanceOf(market.target)).to.equal(2);

        expect(await market.isListed(0)).to.equal(true);
        expect(await market.isListed(1)).to.equal(true);

        expect((await market.getAllNFTs())[0][0]).to.equal(accountB.address);
        expect((await market.getAllNFTs())[0][1]).to.equal(0);
        expect((await market.getAllNFTs())[0][2]).to.equal(price);

        expect((await market.getAllNFTs())[1][0]).to.equal(accountB.address);
        expect((await market.getAllNFTs())[1][1]).to.equal(1);
        expect((await market.getAllNFTs())[1][2]).to.equal(price);

        expect(await market.getOrderLength()).to.equal(2);

        expect((await market.connect(accountB).getMyNFTs())[0][0]).to.equal(accountB.address);
        expect((await market.connect(accountB).getMyNFTs())[0][1]).to.equal(0);
        expect((await market.connect(accountB).getMyNFTs())[0][2]).to.equal(price);

        expect((await market.connect(accountB).getMyNFTs())[1][0]).to.equal(accountB.address);
        expect((await market.connect(accountB).getMyNFTs())[1][1]).to.equal(1);
        expect((await market.connect(accountB).getMyNFTs())[1][2]).to.equal(price);
        
    });

});

到了這里,關(guān)于DAPP開(kāi)發(fā)【09】NFT交易市場(chǎng)開(kāi)發(fā)(hardhat測(cè)試)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 初識(shí)滴滴交易策略之一:交易市場(chǎng)

    初識(shí)滴滴交易策略之一:交易市場(chǎng)

    初識(shí)系列前言 滴滴作為一家共享出行公司,利用信息技術(shù)構(gòu)建了實(shí)時(shí)的、智能的在線交易市場(chǎng),在這個(gè)龐大運(yùn)轉(zhuǎn)的市場(chǎng)之中,滴滴秉承著用戶價(jià)值至上的宗旨,不斷通過(guò)技術(shù)提升來(lái)實(shí)現(xiàn)更高效的運(yùn)轉(zhuǎn)效率和更貼心的用戶體驗(yàn)。 為了使得大家能夠了解在線交易市場(chǎng)及其技術(shù)挑

    2024年02月03日
    瀏覽(17)
  • 外匯交易與實(shí)務(wù)--外匯交易市場(chǎng)

    外匯交易與實(shí)務(wù)–外匯市場(chǎng) 外匯市場(chǎng)的定義:也就是外匯交易的場(chǎng)所,是一個(gè)24小時(shí)全天運(yùn)作的市場(chǎng),每天不間斷的運(yùn)行。 一.外匯市場(chǎng)的分類 1.有形市場(chǎng)和無(wú)形市場(chǎng) 1)有形市場(chǎng) 即有固定營(yíng)業(yè)場(chǎng)所的外匯交易市場(chǎng),也屬于傳統(tǒng)的交易市場(chǎng) 2)無(wú)形市場(chǎng) 通過(guò)電話、電匯、電信

    2023年04月11日
    瀏覽(19)
  • 各地相繼設(shè)立交易所,搶灘大數(shù)據(jù)交易市場(chǎng)

    各地相繼設(shè)立交易所,搶灘大數(shù)據(jù)交易市場(chǎng)

    ? ? ? ? 11月15日,深圳數(shù)據(jù)交易所正式揭牌成立,并啟動(dòng)首批線上數(shù)據(jù)交易。目前,深圳數(shù)據(jù)交易所累計(jì)交易額已突破11億元。除深圳外,貴陽(yáng)、北京、上海等地?cái)?shù)據(jù)交易所也陸續(xù)上線。數(shù)據(jù)作為新型生產(chǎn)要素,正成為各方爭(zhēng)相入局的新賽道。 多位業(yè)內(nèi)人士在接受記者采訪時(shí)

    2023年04月17日
    瀏覽(28)
  • 貴州華夏生態(tài)交易中心交易規(guī)則分享,助市場(chǎng)健康發(fā)展

    近年來(lái),生態(tài)產(chǎn)品交易市場(chǎng)的發(fā)展日益受到關(guān)注,生態(tài)產(chǎn)品交易活動(dòng)你參與過(guò)嗎?選擇一個(gè)合規(guī)安全的交易平臺(tái)對(duì)于生態(tài)產(chǎn)品交易商來(lái)說(shuō)是是一個(gè)好的開(kāi)端。貴州華夏生態(tài)交易中心是一個(gè)重要的生態(tài)產(chǎn)品交易平臺(tái),將貴州豐富的生態(tài)資源優(yōu)勢(shì)轉(zhuǎn)化為產(chǎn)業(yè)優(yōu)勢(shì)和經(jīng)濟(jì)優(yōu)勢(shì),充分發(fā)揮在

    2024年04月09日
    瀏覽(25)
  • 基于微信小程序的二手閑置交易市場(chǎng)系統(tǒng)

    基于微信小程序的二手閑置交易市場(chǎng)系統(tǒng)

    隨著計(jì)算機(jī)技術(shù)的成熟,互聯(lián)網(wǎng)的建立,如今,PC平臺(tái)上有許多關(guān)于二手閑置交易方面的應(yīng)用程序,但由于使用時(shí)間和地點(diǎn)上的限制,用戶在使用上存在著種種不方便,而開(kāi)發(fā)一款基于微信小程序的二手閑置交易市場(chǎng)系統(tǒng),能夠有效地解決這個(gè)問(wèn)題。 本基于微信小程序的二手

    2024年04月16日
    瀏覽(26)
  • 深入解析:鏈游、DApp、公鏈、NFT與交易所開(kāi)發(fā)的全景圖

    深入解析:鏈游、DApp、公鏈、NFT與交易所開(kāi)發(fā)的全景圖

    隨著數(shù)字貨幣和區(qū)塊鏈技術(shù)的迅速發(fā)展,鏈游開(kāi)發(fā)、DApp開(kāi)發(fā)、公鏈開(kāi)發(fā)、NFT開(kāi)發(fā)以及交易所開(kāi)發(fā)等領(lǐng)域吸引了越來(lái)越多的關(guān)注。本文將以3000字的篇幅,對(duì)這些領(lǐng)域進(jìn)行詳細(xì)解析,探討它們的意義、應(yīng)用場(chǎng)景以及未來(lái)發(fā)展趨勢(shì)。 鏈游開(kāi)發(fā)(Blockchain Gaming) 鏈游是基于區(qū)塊鏈技

    2024年04月15日
    瀏覽(18)
  • WuBit:聚合BRC20資產(chǎn)交易,續(xù)寫(xiě)銘文市場(chǎng)新浪潮

    2023年的數(shù)字貨幣領(lǐng)域見(jiàn)證了重大的創(chuàng)新,尤其是比特幣Ordinals協(xié)議的推出,它為銘文賽道帶來(lái)了新的生命力。這一協(xié)議的核心在于將比特幣分割為更小的單位——聰,并在每個(gè)聰上嵌入獨(dú)特信息,從而創(chuàng)建了一種新穎的非同質(zhì)化資產(chǎn)。BRC20等應(yīng)用的出現(xiàn),利用這一平臺(tái)在比特

    2024年02月04日
    瀏覽(18)
  • 微信小程序二手交易跳蚤市場(chǎng)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

    微信小程序二手交易跳蚤市場(chǎng)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

    ?博主介紹 :黃菊華老師《Vue.js入門(mén)與商城開(kāi)發(fā)實(shí)戰(zhàn)》《微信小程序商城開(kāi)發(fā)》圖書(shū)作者,CSDN博客專家,在線教育專家,CSDN鉆石講師;專注大學(xué)生畢業(yè)設(shè)計(jì)教育和輔導(dǎo)。 所有項(xiàng)目都配有從入門(mén)到精通的基礎(chǔ)知識(shí)視頻課程,免費(fèi) 項(xiàng)目配有對(duì)應(yīng)開(kāi)發(fā)文檔、開(kāi)題報(bào)告、任務(wù)書(shū)、

    2024年02月04日
    瀏覽(30)
  • 35基于java的校園二手交易系統(tǒng)或跳蚤市場(chǎng)設(shè)計(jì)與實(shí)現(xiàn)

    基于java的校園二手交易系統(tǒng)或跳蚤市場(chǎng)設(shè)計(jì)與實(shí)現(xiàn),可適用于二手交易平臺(tái),二手商城,交易商城,大學(xué)生交易平臺(tái),購(gòu)物平臺(tái),大學(xué)生跳蚤平臺(tái)等等 隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,在線購(gòu)物越來(lái)越流行。目前,大學(xué)生特別是畢業(yè)生的閑置物品很多,很多可以重復(fù)使用,但不方便攜

    2024年02月05日
    瀏覽(19)
  • 基于微信小程序的二手閑置交易市場(chǎng)小程序設(shè)計(jì)與實(shí)現(xiàn)(源碼+lw+部署文檔+講解等)

    基于微信小程序的二手閑置交易市場(chǎng)小程序設(shè)計(jì)與實(shí)現(xiàn)(源碼+lw+部署文檔+講解等)

    ?? 博主介紹 :?全網(wǎng)粉絲10W+,CSDN特邀作者、博客專家、CSDN新星計(jì)劃導(dǎo)師、全棧領(lǐng)域優(yōu)質(zhì)創(chuàng)作者,博客之星、掘金/華為云/阿里云/InfoQ等平臺(tái)優(yōu)質(zhì)作者、專注于Java、小程序技術(shù)領(lǐng)域和畢業(yè)項(xiàng)目實(shí)戰(zhàn)??? ???? 精彩專欄 推薦訂閱 ???? 2023-2024年最值得選的微信小程序畢業(yè)設(shè)

    2024年02月05日
    瀏覽(19)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包