解密區塊鏈寵物養成遊戲系統(附代碼)!
區塊鏈是一種很難理解的技術,寵物養成遊戲系統也的最新的一種技術。雖然我也看了很多視頻和文章,但從我個人角度來講,直到我開始寫一些簡單的區塊鏈應用,我才真正理解了它是什麽以及它的潛在應用。我對區塊鏈的看法是,它是一個公開的加密數據庫。
關於區塊鏈未來可能的應用場景留給您自己思考,廢話不多說,讓我們一起通過這7個函數來探索區塊鏈吧。
區塊鏈的核心是哈希函數,如果不加密,區塊鏈將很容易被操縱,交易將能夠被欺騙性地插入到區塊鏈中。
所謂的“狀態”是交易完成後的資產分配記錄。比如,我有10個幣,我把其中1個幣給了Medium,那麽當前的“狀態”就是如下字典中的值。
值得註意的是,在這個體系中,透支是不可能存在的。如果我只有10個幣,那麽我不可能將11個幣給別人。下面的函數將驗證我們嘗試進行的交易確實是有效的。而且,交易必須平衡,我不可能給了對方5個幣,但他只收到4個幣,否則會引起幣的銷毀和創建。
現在我們可以構建自己的區塊了。讀取上一個區塊的信息,並將其鏈接到下一個區塊,這也是區塊鏈的核心技術之一,看起來有效交易可以被欺詐性地插入到區塊鏈中,但是對前面所有的區塊進行解密在計算上幾乎是不可能的,這就保留了區塊鏈的完整性。
下面是一個小小的幫助函數,用於檢查前一個區塊的哈希值。
一旦我們把所有的東西整合起來,就是時候創建自己的區塊了。接下來我們將更新區塊鏈。
在完成之前,區塊鏈必須經過驗證:
最後,需要一個交易函數,將所有上述功能整合在一起:
現在我們有了7個函數,那麽怎樣使用它們呢?首先,我們需要一個創世塊來開始我們的區塊鏈,這也是新幣產生的開始。在這篇文章裏,我將會從10個幣開始。
那麽,當我將一些幣給Medium之後發生了什麽呢?
“狀態”的值將會被更新為當前各人擁有多少個幣:
然後生成的區塊鏈會如下所示:
至此,我們的第一個交易已經創建並被插入到堆棧的頂部。現在,我希望這些已經激起你的好奇心,並且有興趣將代碼復制下來跑一跑。在我看來,這是學習新技術的最佳途徑。
解密區塊鏈寵物養成遊戲系統(附代碼)!