6

Rinkeby测试网络调用合约的方法? | 登链社区 | 技术问答

 3 years ago
source link: https://learnblockchain.cn/question/2451
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
Rinkeby测试网络调用合约的方法? | 登链社区 | 技术问答

5 Rinkeby测试网络调用合约的方法?

回答问题即可获得 5 经验值,回答被采纳后即可获得 10 学分。

之前将自己在remix上写的合约用metamask部署到了rinkeby测试网络上,但是发现用metamask无法调用合约,所以现在得通过传统的geth客户端连接至rinkeby测试网络,再通过在节点上输入Web3 deploy、ABI信息来编译、部署、实例化 合约,这一套流程来调用吗?



攻心至上 2天前

使用remix调用合约就很简单呀,都是可视化的,输入参数,返回结果。
使用remix调用一个之前已经部署好的合约:
1、将合约源码复制到remix里,使编译通过
2、在部署页面的At Address栏里输入你的合约地址
3、点击“At Address”,Deployed Contrats列表中即会出现你的合约了
4、在此合约列表中对各函数进行调用

我明白你的意思,我之前部署合约的时候rinkeby的确返回了一个合约地址,但是以这种方式调用合约,我无法在rinkeby浏览器上看到合约交互的记录,我的metamask钱包也没有提示要花费gas进行合约调用。这样岂不是说明我这次调用并没有记录在rinkeby测试链上么?

换言之,就是只有我的编译器上有调用结果显示,但是在metamask钱包和rinkeby上均没有合约调用的记录,并且我是在连接了injected web3的情况下进行调用的,在合约部署时钱包提示进行交易要花费gas,但在调用时却未提示。

我的函数是灰色的,就是不改变以太坊状态的函数,是因为这个原因,所以在调用时无需花费gas吗?

首先你要弄明白,不是所有函数调用,都要花费gas的,只有产生数据变化,需要存储数据到区块中,才需要花费gas,才需要调用metamask进行gas支付


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK