免责声明:金色财经所有资讯仅代表作者个人观点,不构成任何投资理财建议。请确保访问网址为(jinse.cn) 举报

    如何在EtherScan上读取智能合约

    什么是智能合约?一个最简单的定义是:智能合约是区块链网络中一个不可篡改的程序,如果某些预设条件被满足,这个程序就会被执行。

    简单来说,智能合约就是一段程序,这段程序代码是透明且不可篡改的,它们在区块链网络上被执行。这个定义非常简单,但是你知道如何通过 EtherScan 来查看一个智能合约吗?

    怎样阅读一个智能合约的内容

    在本篇文章中,我们将 NFT 项目 Doodles(https://opensea.io/collection/doodles-official) 作为案例,来看如何在 EtherScan 上查看其智能合约。首先在 OpenSea 找到这个 NFT 项目,然后通过这个项目中的任何一个 NFT,可以找到它背后的智能合约。

    找到项目的智能合约

    在 Opensea 的 NFT 项目之中,你可以查看单一的 item,然后在“Detail”下面,你会找到一个链接,会链接到智能合约的地址。点击这个链接,就会跳转到区块链浏览器 EtherScan(https://etherscan.io/) 中,EtherScan 可以让你看到所有存储在以太坊上的信息。

    检查被 Verified 的合约

    一旦你知道了合约的地址,你就可以在 EtherScan 上查看这些合约。Doodles 的合约地址是 0x8a90CAb2b38dba80c64b7734e58Ee1dB38B8992e。当然了,如果合约的代码还没有被验证的话,那么你在 EtherScan 还查看不了。尽管合约的 byte code 是可见的,并且也有可能被反编译,但是这个方法这篇文章中就不讨论了。如果你在“Contract”旁边没有看到一个绿色的对勾标记,那这个合约的代码就没有被验证。

    查看经过验证的合约

    如果合约是被验证过的,那它就是可读的。点击“Contract”标签,你就可以看到合约的代码。

    在这里,根据合约作者验证方法的不同,你有可能会看到一个很大的文件,在这个文件中包含了所有用到的合约,或者是像 Doodles 这样,是很多分开的文件。这里能看到多个合约的原因是,一个合约中经常会引入别的合约。通过引用,合约可以重复使用其他已经验证过的合约,比如说在 Doodles 项目中用到的 OpenZeppelin 的 ERC-721 和 Ownable 合约。

    在这里,你可以查看 Doodles NFT 项目的合约的所有代码,然后通过代码可以确认这个项目的合约有没有它所声明的功能。

    与合约交互

    对于经过验证的合约,你可以通过 EtherScan 和智能合约交互。可以在 “Read Contract” 和 “Write Contract” 标签中,使用智能合约的函数,任何人都可以免费使用这个特性,当然写入函数由于对区块链的状态发生了改变,所以需要用到一些 gas。

    为什么查看智能合约很重要

    智能合约可以被公开查看这一特性是它的优势之一,任何普通的用户都可以通过查看合约代码,来验证这个合约是否有如同它所说的功能。这样,我们就不用必须相信这个开发者了,而可以自己去验证。

    找到智能合约并且查看它只是个开始,想要更好地了解智能合约中的内容,你需要了解 Solidity 的基础知识。

    原文链接:https://blog.chain.link/how-to-read-smart-contract/

    jinse.cn 1
    好文章,需要你的鼓励
    jinse.cn 1
    好文章,需要你的鼓励
    参与评论
    0/140
    提交评论
    文章作者: / 责任编辑:

    声明:本文由入驻金色财经的作者撰写,观点仅代表作者本人,绝不代表金色财经赞同其观点或证实其描述。

    提示:投资有风险,入市须谨慎。本资讯不作为投资理财建议。

    金色财经 > Chainlink预言机 > 如何在EtherScan上读取智能合约
    • 寻求报道
    • 金色财经中国版App下载
      金色财经APP
      iOS & Android
    • 加入社群
      Telegram
    • 意见反馈
    • 返回顶部
    • 返回底部