我想了解web3.js中调用智能合约的原理

问题描述 投票:0回答:0

解释一下我目前的情况。

  1. 我在 Ganache 本地环境上使用 Remix IDE 部署了智能合约。
  2. 我在express.js服务器上调用web3.js中的智能合约功能。像下面这样 wait Contract.methods['myMethod'](parameters).send({from: walletAddress, Gas: '1000000'});

在这种情况下,我有第一个问题。

Q1。调用Ganache的智能合约时,是只用公共钱包地址调用,但是如何防止乱用别人的钱包地址调用智能合约功能的情况呢?

我想在公共以太坊测试网(Sepolia)上体验这种情况,所以我使用 Remix IDE、MetaMask Provider 和 MetaMask Sepolia 钱包部署了一个简单的实验合约。

我在Sepolia的简单实验合约地址。 (0x56926CB88108126d30AF0844FDBB12522A34D01a) https://sepolia.etherscan.io/address/0x56926cb88108126d30af0844fdbb12522a34d01a

当我在 Ganache 中创建合约实例时,如下所示。

const web3 = new Web3(new Web3.providers.HttpProvider('http://127.0.0.1:7545'));
const contractAddress = '...' const contractABI = [...]
const contract = new web3.eth.Contract(contractABI, contractAddress);

在这个过程中,我有第二个问题。

Q2。我应该使用什么样的Provider来调用Sepolia上的智能合约?

还有我的最后一个问题

Q3。是否可以在etherscan上查看我的简单实验合约原始代码?怎么办?

我发现的最好的东西是下面的。但这不是我原来的代码。 https://sepolia.etherscan.io/bytecode-decompiler?a=0x56926CB88108126d30AF0844FDBB12522A34D01a

感谢您的阅读。请告诉我是否有人知道这个。

我写得很详细了

blockchain web3js
© www.soinside.com 2019 - 2024. All rights reserved.