互助FDF迴圈遊戲開發系統智慧合約部署技術

搭建猿punk2558發表於2023-03-08

與傳統的App在中心化伺服器執行後端程式碼不同的是,dApp的後端程式碼是執行在區塊鏈上的。當然,dApp的前端程式碼和UI可以使用任何語言開發,可以部署在任何伺服器上與後端邏輯相互動。

FDF迴圈互助智慧合約是一種基於區塊鏈技術的互助金融模式,也是智慧合約在金融領域應用的一種體現。該合約透過自動化程式實現自願參與者之間的資金迴圈流動和風險分散,旨在打造一種公正、透明、高效的金融服務模式。

具體來說,FDF迴圈互助智慧合約13z開4z77發z558,的流程如下:

註冊成為參與者。任何人都可以透過智慧合約註冊成為參與者,但需要持有一定數量的ERC20代幣作為參與資格。

投入資金。參與者可以將自己的資金投入合約,以便參與合約中的資金迴圈流轉,獲得相應的收益。

等待收益。合約中的資金將在迴圈中流轉,參與者將按照一定比例獲得相應的收益,收益將在一定週期內自動發放到參與者的錢包賬戶中。

參與迴圈。參與者也可以選擇參與資金迴圈流轉,即將自己的資金轉入到下一個迴圈週期中。這樣,參與者可以獲得更高的收益。

區塊鏈(Blockchain)是由節點參與的分散式資料庫系統,它的特點是不可更改,不可偽造,也可以將其理解為賬簿系統(ledger)。它是比特幣的一個重要概念,完整比特幣區塊鏈的副本,記錄了其代幣(token)的每一筆交易。透過這些資訊,我們可以找到每一個地址,在歷史上任何一點所擁有的價值。

Dapp

DApp是Decentralized Application的縮寫,中文直譯為去中心化應用,也可以理解為分散式應用。去中心化應用是基於區塊鏈底層開發平臺建立的。比如以太坊和EOS,DApp與底層平臺的關係就好比APP與ios和安卓系統。

區塊鏈世界中,經常聽到dapp這個詞。我們用慣了手機app。Applications.說白了就是給你的手機上安上一個小軟體,小程式,然後你可以用。今天從頭說說dapp,再聊聊區塊鏈的功能

DApp也在演變不斷進化,廣義地說,從最初的比特幣到現在因IC0發代幣盛行一時的以太坊,再是各路公鏈崛起強大,然後是公鏈、聯盟鏈、私有鏈齊頭並進發展,最後是鏈上的各種應用應運而生蓬勃發展,現在我們經常說的DApp更多的是這樣一種定義:

前端+智慧合約+token(通證經濟)

之前開發一個App需要一家公司有啟動資金招開發人員進行開發然後推廣運營,現在的DApp可能不需要是一家公司,或許個人或自媒體都可以,整個流程可以是

寫白皮書

明確共識機制

Token激勵機制

智慧合約開發

去中心化社群自治

建立智慧合約

我們dApp中的智慧合約是一個簡單的例子,它可以檢視資料並且反應出區塊鏈上的變化。在這個例子中,我們會透過Chainlink ETH/USD喂價對檢視ETH/USD的價格,然後將結果永儲存在智慧合約上。

第一步是開啟Chainlink的檔案,然後導航到Using Data Feeds頁面。從這裡將原始碼複製進你的IDE中的一個新的檔案裡(比如Visual Code),或者你可以點選“Open In Remix”按鈕,然後使用線上IDE Remix。

在這個例子中,我們會使用Visual Studio Code和Hardhat(一個EVM開發框架)。

首先,為我們的dApp建立一個新的資料夾,並在這個資料夾中建立一個後端資料夾,用來儲存智慧合約程式碼:

mkdir chainlink-dapp-example

cd chainlink-dapp-example

mkdir backend

cd backend

接下來,我透過VS Code開啟建立好的資料夾,然後安裝Hardhat:

npm init-y

npm install--save-dev hardhat

npx hardhat

(choose create javascript project,choose default parameters)

當安裝完成之後,在“contracts”資料夾中刪掉Touch.sol,然後在這個資料夾中建立一個叫做PriceConsumerV3.sol的檔案。在這個檔案將儲存我們的合約,所以將Chainlink檔案中的程式碼複製到這個檔案中,然後儲存。

在樣例程式碼中,你會看到demo合約已經有一個叫做getLatestPrice的功能來透過Rinkeby上的ETH/USD喂價對檢視Ethereum的當前價格。

function getLatestPrice()public view returns(int){

(

/*uint80 roundID*/,

int price,

/*uint startedAt*/,

/*uint timeStamp*/,

/*uint80 answeredInRound*/

)=priceFeed.latestRoundData();

return price;

建立一個新的變數和函式,在智慧合約上儲存這個值。

int public storedPrice;

1

然後,建立一個新的函式,它會被dApp的前端呼叫。這個函式會透過呼叫getLatestPrice函式檢視Ethereum的最新價格,然後將這個值儲存在storedPrice這個引數中:

function storeLatestPrice()external{

storedPrice=getLatestPrice();

}

你的新的合約應該和下面的一樣:

//SPDX-License-Identifier:MIT

pragma solidity^0.8.7;

import" chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol";

contract PriceConsumerV3{

AggregatorV3Interface internal priceFeed;

int public storedPrice;

/**

*Network:Rinkeby

*Aggregator:ETH/USD

*Address:0x8A753747A1Fa494EC906cE90E9f37563A8AF630e

*/

constructor(){

priceFeed=

AggregatorV3Interface(0x8A753747A1Fa494EC906cE90E9f37563A8AF630e);

}

/**

*Returns the latest price

*/

function getLatestPrice()public view returns(int){

(

/*uint80 roundID*/,

int price,

/*uint startedAt*/,

/*uint timeStamp*/,

/*uint80 answeredInRound*/

)=priceFeed.latestRoundData();

return price;

}

function storeLatestPrice()external{

storedPrice=getLatestPrice();

}

}

對比APP來看,最大不同是中心化與去中心化,App先是要有錢,所以先融資,然後再有人,所以先招齊人,然後再開發運營,所以先成立一個團隊一家公司;而DApp則是繼承傳統App之下發展,結合區塊鏈的特點所形成的產物,它更像是眾籌模式、共享模式和去中心化模式,先有發起人或組織,寫好白皮書明確了共識機制和token分配與激勵,開發好應用再是持有token的人即為股東,直接和app的盈利關聯,也可以說使用者即是股東,持有的token像股票可以買賣,在支援的交易所交易。所以持有該DApp的token相當於擁有所有者權益,可以想象未來,現在是處處琳琅滿目的App應用,未來是各個領域都會有DApp,每個人都將因token分類以token群分。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70020115/viewspace-2938624/,如需轉載,請註明出處,否則將追究法律責任。

相關文章