140孤荷凌寒自學第0226天_區塊鏈第140天完成了自己的第一個NFT智能合約與前端

筆記合集在github上:

 https://github.com/lhghroom/Self-learning-blockchain-from-scratch

 

【主要內容】

今天繼續修改完善智能合約代碼,共耗時38分鐘。嘗試部署合約,沒有完成。

(此外整理作筆記花費了約14分鐘)

詳細學習過程見文末學習過程屏幕錄像。

 

因爲發現了多個錯誤,重新修改了自己的庫文件:

```

pragma solidity ^0.4.18;

 

library ghlhsuintarraylib{

    //下面的函數來自於:https://learnblockchain.cn/2019/02/22/delete-item/

    //作了修改

    function uintarrayremovebyindex(uint256[] storage array,int256 index) internal {

        if (uint256(index) < array.length){

            for (int256 i = index; uint256(i)<array.length-1; i++){

                array[uint256(i)] = array[uint256(i)+1];

            }

            delete array[array.length-1];

            array.length--;

        }

 

    }

 

    //這個函數是自己添加的,by孤荷凌寒QQ:578652607

    function uintarraygetindexbyvalue(uint256[] array,uint256 value) internal pure returns(int256) {

        if(array.length < 1){return -1;}

        uint256 intlen=array.length;

        int256 intindex=-1;

        for (uint256 i=0;i<intlen;i++){

            if(array[i]==value){

                intindex=int256(i);

                break;

            }

        }

        return intindex;

    }   

 

    //這個函數是自己添加的,by孤荷凌寒qq:578652607

    function uintarrayremovebyvalue(uint256[] storage array,uint256 value) internal {

        int256 intindex=uintarraygetindexbyvalue(array,value);

        if(intindex >=0 ){

            uintarrayremovebyindex(array,intindex);

        }

    }    

 

}

```

 

今天也還是沒有很清晰 的弄清楚:

memory

storage

值類型

函數類型

引用類型

的複雜關係

 

不過今天發現了在solidity中的uint256類型與int256類型的很多關係

1,不能直接用=號賦值

必須強制轉換(使用類型名稱轉換)

2,不能直接進行比較運算,需要先強制轉換爲同一種類型變量後才能比較。

3.強制轉換還不保證一定能得到想要的結果 特別是把負數的int256轉換爲uint256時,多就是錯誤的結果。

 

github: https://github.com/lhghroom/Self-learning-blockchain-from-scratch

 

【歡迎大家加入[就是要學]社羣】

如今,這個世界的變化與科技的發展就像一個機器猛獸,它跑得越來越快,跑得越來越快,在我們身後追趕着我們。

很多人很早就放棄了成長,也就放棄了繼續奔跑,多數人保持終身不變的樣子,原地不動,成爲那猛獸的肚中餐——當然那也不錯,在猛獸的逼迫下,機械的重複着自我感覺還良好地穩定工作與生活——而且多半感覺不到這有什麼不正常的地方,因爲在猛獸肚子裏的是大多數人,就好像大多數人都在一個大坑裏,也就感覺不出來這是一個大坑了,反而坑外的世界顯得有些不大正常。

爲什麼我們不要做坑裏的大多數人?

因爲真正的人生,應當有百萬種可能 ;因爲真正的一生可以有好多輩子組成,每一輩子都可以做自己喜歡的事情;因爲真正的人生,應當有無數種可以選擇的權利,而不是總覺得自己別無選擇。因爲我們要成爲一九法則中爲數不多的那個一;因爲我們要成爲自己人生的導演而不是被迫成爲別人安排的戲目中的演員。

【請注意】

就是要學社羣並不會告訴你怎樣一夜暴富!也不會告訴你怎樣不經努力就實現夢想!

【請注意】

就是要學社羣並沒有任何可以應付未來一切變化的獨門絕技,也沒有值得吹噓的所謂價值連城的成功學方法論!

【請注意】

社羣只會互相幫助,讓每個人都看清自己在哪兒,自己是怎樣的,重新看見心中的夢想,喚醒各自內心中的那個英雄,然後勇往直前,成爲自己想要成爲的樣子!

期待與你並肩奔赴未來!

 

QQ羣:646854445 (【就是要學】終身成長)

 

 

 

【原文地址】

https://www.941xue.com/content.aspx?k=941XUEZXBHCH15066020550355546865

【同步語音筆記】

https://www.ximalaya.com/keji/19103006/365218958

 

【學習過程屏幕錄屏】

https://www.bilibili.com/video/BV1ET4y1F7tu/

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章