IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 区块链 -> 如何在Fantom链上开发并部署智能合约 -> 正文阅读

[区块链]如何在Fantom链上开发并部署智能合约

在这里插入图片描述
随着多链生态的发展,像Fantom这样的区块链提供了高吞吐量、低交易成本和即时确定性等特性–这对那些希望在大多数Layer-1区块链上进行重大可扩展性升级和成本效益升级的开发者来说是至关重要的功能。Fantom与EVM兼容,所以各类dApp和现有的开发者基础设施都可以很容易地在这个日益流行的链上移植和使用。

Chainlink Price Feed在Fantom主网上是可用的,可以用来在Fantom上构建需要去中心化、防篡改的数据输入的应用程序。在本技术教程中,我们将详细说明如何使用Chainlink预言机的价格数据在Fantom区块链上构建和部署一个智能合约。

什么是Fantom?

Fantom是一个高吞吐量,且具有具有低交易成本和即时确定性的区块链。由于其EVM的兼容性,它被许多以太坊开发者用作扩展其dApp的方式。以太坊开发者可以用标准的以太坊开发者工具轻松部署他们现有的合约,同时使用更快的区块链,增加他们能够开发的dApp类型的多样性。

用Fantom构建

在Fantom上构建和部署合约与在以太坊或其他EVM兼容链上操作一样简单。第一步是选择一个开发合约的框架。在本教程中,我们将使用Remix,但也可以随意使用任何其他基于Solidity的工具,如HardhatBrownieTruffle等。

构建合约

我们需要做的第一件事是导入必要的用于Price Feed的Chainlink合约AggregatorV3Interface.sol,它包含了从现有预先聚合的去中心化Price Feed中检索数据的接口。为了使用这个接口,我们需要知道Price Feed的合约地址–具体细节可以在Chainlink Fantom Feeds文档中找到。我们使用的是FTM/USD Price Feed的地址,所以我们可以简单地在构建合约时用该地址作为唯一的参数来初始化Price Feed接口,像下面这样:

// SPDX-License-Identifier: MIT
pragma solidity 0.8;

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

contract FantomLinkFeeds {

    AggregatorV3Interface internal priceFeed;

    /**
    * Network: Fantom Testnet
    * Aggregator: FTM/USD
    * Address: 0xe04676B9A9A2973BCb0D1478b5E1E9098BBB7f3D
    * URL: https://docs.chain.link/docs/fantom-price-feeds/
    */
    constructor() {
        priceFeed = AggregatorV3Interface(0xe04676B9A9A2973BCb0D1478b5E1E9098BBB7f3D);
    }

    /**
    * Returns the latest price
    */
    function getLatestPrice() public view returns (int) {
    (
        uint80 roundID, 
        int price,
        uint startedAt,
        uint timeStamp,
        uint80 answeredInRound
    ) = priceFeed.latestRoundData();
        return price;
    }
}

一旦初始化完成,我们可以通过调用聚合器接口的函数latestRoundData()来获得最新的价格数据,如getLatestPriceData()所示。这将返回关于Price Feed的多个信息点,但我们关心的只是价格,所以我们只返回价格数据。由于该函数没有修改任何东西,只是从聚合器接口读取数据,所以它被定义为一个view函数,调用它不需要支付gas费用。

部署合约

部署这段代码很简单,由于Fantom的EVM兼容性,与标准的Ethereum部署路径相比,几乎不需要改变。首先,在Remix的编译器选项卡下编译合约–简单地点击“Compile FantomLinkFeeds.sol”。然后,进入部署选项卡,将环境设置为Injected Web3(MetaMask),并为Fantom的测试网配置你的MetaMask钱包。要做到这一点,只需将这些设置作为“自定义RPC”添加到你的MetaMask网络中即可。
在这里插入图片描述在Metamask中选择自定义RPC

Network Name: Fantom testnet

New RPC URL: https://rpc.testnet.fantom.network/

ChainID: 0xfa2

Symbol: FTM
在这里插入图片描述
自定义RPC设置页面

然后进入faucet.fantom.network水龙头领取一些免费的测试网FTM用于部署你的合约。关于这个设置过程的更多信息,你可以查看Fantom文档

现在,合约已经被编译,网络被设置为Fantom测试网,并且你的地址也领取到了测试网FTM,你可以通过选择 “FantomLinkFeeds”合约并点击部署来部署到Fantom网络。你的合约现在已经在Fantom测试网上运行,并准备好了使用Chainlink消费真实世界的数据。
Deploying to Fantom
在这里插入图片描述
部署合约到Fantom

只需要调用“getLatestPrice”函数,你就会看到以八位小数的精度返回的FTM/USD响应数据,这里的值表示的是2.66美元。

通过简单的导入,一个初始化Price Feed的构造函数和一个读取价格数据的函数,这些都不需要支付任何费用,但你已经用上了Chainlink的行业标准价格数据为你的智能合约赋能。
总结

对于来自基于Ethereum的生态的开发者来说,Fantom具有一定的吸引力。因为它结合了EVM的兼容性、高速和低成本等特性。并且当与Chainlink去中心化预言机网络结合时,开发者可以使用链外数据和事件,使得Fantom变得更加强大。Chainlink Price Feed提供高质量的聚合价格数据,可用于各种有用的应用,如去中心化交易所(DEX)、流动性池、借贷协议、去中心化保险解决方案和自动做市商(AMM)等。

现在你知道了如何在Fantom上构建和部署智能合约,你可以更深入地探索它,或在其他EVM兼容链上尝试开发,如Polygon、xDai或其他侧链和第二层解决方案等,它们也使用我们在本教程中使用的相同工具。如果你喜欢Hardhat、Brownie或Truffle,可以尝试使用Chainlink入门套件之一来启动你的开发之旅。

通过访问chain.link了解更多关于Chainlink的信息,或在docs.chain.link阅读文档。若要讨论集成问题,可以联系我们的专家。

  区块链 最新文章
盘点具备盈利潜力的几大加密板块,以及潜在
阅读笔记|让区块空间成为商品,打造Web3云
区块链1.0-比特币的数据结构
Team Finance被黑分析|黑客自建Token“瞒天
区块链≠绿色?波卡或成 Web3“生态环保”标
期货从入门到高深之手动交易系列D1课
以太坊基础---区块验证
进入以太坊合并的五个数字
经典同态加密算法Paillier解读 - 原理、实现
IPFS/Filecoin学习知识科普(四)
上一篇文章      下一篇文章      查看所有文章
加:2022-01-01 13:56:56  更:2022-01-01 13:57:08 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 0:46:46-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码