标签: ethereum

无法将简单的 javascript 文件执行到 Truffle 中

我有一个文件 x.js ,它本身就可以正常工作。

function test() {
    console.log("test");
}
Run Code Online (Sandbox Code Playgroud)

我想将其包含到松露中,所以我执行以下操作

truffle(development)> exec ./x.js
Using network 'development'.

TypeError: fn is not a function
    at /usr/local/lib/node_modules/truffle/build/webpack:/packages/truffle-require/require.js:128:1
Run Code Online (Sandbox Code Playgroud)

我不明白这个错误,如何修复?

ethereum truffle

3
推荐指数
1
解决办法
1477
查看次数

web3.js中currentprovider和givenprovider有什么区别

谁能解释一下 currentprovider 和给定provider 之间有什么区别?

我是这样想的。 givenprovider通过网络浏览器连接到区块链,并通过 currentprovider元掩码连接到区块链。

我不确定我的理解是否正确。

你有什么主意吗?

ethereum web3js

3
推荐指数
1
解决办法
2637
查看次数

如何为 Substrate 运行时实现 EVM Trait?

在向运行时添加模块之后,我尝试为Dothereum 运行时实现Parity Substrate 特征。paint-evm

EVM模块特征定义如下:

pub trait Trait: Trait + Trait {
    type FeeCalculator: FeeCalculator;
    type ConvertAccountId: ConvertAccountId<Self::AccountId>;
    type Currency: Currency<Self::AccountId>;
    type Event: From<Event> + Into<Self::Event>;
    type Precompiles: Precompiles;
}
Run Code Online (Sandbox Code Playgroud)

然而,这里添加模块的教程有点含糊,鼓励人们:

“.. 如果事情没有意义,请探索 [..] 模块的源代码 ..”

虽然 EVM 模块代码看起来不太复杂,但我无法理解如何为我的运行时实现 EVM 特征:

impl evm::Trait for Runtime {
    type FeeCalculator = ();
    type ConvertAccountId = ();
    type Currency = Balances; 
    type Event = Event;
    type Precompiles = ();
}
Run Code Online (Sandbox Code Playgroud)

这里有什么类型的人FeeCalculator以及ConvertAccountId期望什么类型的人?

rust ethereum evm parity-io substrate

3
推荐指数
1
解决办法
440
查看次数

类型错误:无法读取未定义的属性“_alreadyWrapped”

我创建了一个集成truffle和react框架的项目\xef\xbc\x8c然后我在truffle-config.js中配置了以太坊的rinkeby测试网络。但是,当我将合约迁移到rinkeby网络时,出现了问题。

\n\n
truffle compile    \ntruffle migrate  --network rinkeby\n
Run Code Online (Sandbox Code Playgroud)\n\n

然后出现了一些错误

\n\n
TypeError: Cannot read property \'_alreadyWrapped\' of undefined\n    at Object.wrap (C:\\Users\\Lsy\\AppData\\Roaming\\npm\\node_modules\\truffle\\build\\webpack:\\packages\\provider\\wrapper.js:13:1)\n    at Object.wrap (C:\\Users\\Lsy\\AppData\\Roaming\\npm\\node_modules\\truffle\\build\\webpack:\\packages\\provider\\index.js:9:1)\n    at Object.create (C:\\Users\\Lsy\\AppData\\Roaming\\npm\\node_modules\\truffle\\build\\webpack:\\packages\\provider\\index.js:14:1)\n    at TruffleConfig.get [as provider] (C:\\Users\\Lsy\\AppData\\Roaming\\npm\\node_modules\\truffle\\build\\webpack:\\packages\\config\\dist\\configDefa\nults.js:189:1)\n    at Object.detect (C:\\Users\\Lsy\\AppData\\Roaming\\npm\\node_modules\\truffle\\build\\webpack:\\packages\\environment\\environment.js:19:1)\n    at C:\\Users\\Lsy\\AppData\\Roaming\\npm\\node_modules\\truffle\\build\\webpack:\\packages\\core\\lib\\commands\\migrate.js:192:1\nTruffle v5.1.1 (core: 5.1.1)\nNode v12.13.0\n
Run Code Online (Sandbox Code Playgroud)\n\n

项目目录如下所示\xef\xbc\x9a

\n\n

在此输入图像描述

\n\n

truffle-config.js

\n\n
 const path = require("path");\n    const HDWalletProvider = require(\'@truffle/hdwallet-provider\');\n    const fs = require(\'fs\')  \n\n    let secrets;\n    console.log(path.join(__dirname, "secrets.json"));\n\n    if (fs.existsSync(path.join(__dirname, "secrets.json"))){\n      secrets = JSON.parse(fs.readFileSync(path.join(__dirname, "secrets.json"),\'utf8\'));\n    }else{\n      console.log("secrets.json doesn\'t exist!")\n    }\n\n    module.exports = {\n      contracts_build_directory: …
Run Code Online (Sandbox Code Playgroud)

javascript ethereum truffle

3
推荐指数
1
解决办法
965
查看次数

dApp:Web3.eth.getCoinbase(function(err, account) 不显示我从元掩码连接的 rinkeby 帐户

我有一个 dApp,可以在本地 Ganache 网络上运行,但不能在 Heroku 上部署的 Rinkeby 上运行

我在 App.js 中有这段代码:

// Load account data
    web3.eth.getCoinbase(function(err, account) {
      if (err === null) {
        App.account = account;
        $("#accountAddress").html("Your Account: " + account);
      }
    });
Run Code Online (Sandbox Code Playgroud)

但这就是我得到的:您的帐户:null

这是文件:https://github.com/Louvivien/filmdevelopmentapp/blob/master/src/js/app.js

你知道我能做什么吗?

heroku node.js ethereum web3js

3
推荐指数
1
解决办法
2336
查看次数

如何在web3中使用transactionHash从以太坊交易中读取信息?

假设我已将智能合约内的变量 x 更新为(x=10)。我存储了 transactionHash。然后我再次更改 x=20 的值,然后我将得到一个新的交易哈希。那么有没有什么方法可以使用之前更新的 transactionHash(x=10) 来查看 x 的值?

blockchain ethereum smartcontracts web3js

3
推荐指数
1
解决办法
2万
查看次数

获取上传到 IPFS 的文件夹内单个文件的 HASH

当我将文件文件夹上传.jpg到 IPFS 时,我会得到该文件夹​​的哈希值 - 这很酷。

但是该文件夹中的每个单独文件也会被散列吗?如果是这样,我如何获取每个文件的哈希值?

我基本上希望能够上传一大堆文件 - 比如 500 个图像 - 并一次性或以编程方式完成所有操作,并将每个文件的哈希值返回给我。

有办法做到这一点吗?

hash blockchain ethereum ipfs

3
推荐指数
1
解决办法
1975
查看次数

对插件的调用已超时 compilerMetadata -deployMetadataOf - {"from":"udapp","path":"compilerMetadata"}

我在 remix ide 中遇到错误:

对插件的调用已超时 compilerMetadata - deployMetadataOf - {"from":"udapp","path":"compilerMetadata"}

该错误也被视为:

[超时]:从“udapp”调用方法“deployMetadataOf”到插件...

ethereum solidity remix

3
推荐指数
1
解决办法
6545
查看次数

在 Solidity 中 payable() 函数

我真的不明白 payable() 我应该使用

contract(){
receive() {
 somefunction()
}

somefunction() payable external{
}
Run Code Online (Sandbox Code Playgroud)

或者使用就足够了

contract(){

somefunction() payable external{}
}
Run Code Online (Sandbox Code Playgroud)

它们是否需要一起使用 - 我们使用回退功能和一些正常的应付修饰符,两者使用或仅使用回退或仅使用某些功能有什么区别?如果有 2 个需要修饰符的函数怎么办,你能给我一些例子吗?

ethereum solidity

3
推荐指数
1
解决办法
1万
查看次数

使用if语句时如何计算gas使用量

假设我与分支有一个智能合约,其中每个分支都有不同数量的操作。

if (someCondition) {
  // do operations costing 10 gas
} else {
  //do operations costing 100 gas
}
Run Code Online (Sandbox Code Playgroud)

当用户从他们的客户端(例如元掩码)调用此函数时,他们如何知道他们的交易将花费多少天然气?他们是否只需要猜测并为最昂贵的路径添加足够的汽油?

ethereum solidity

3
推荐指数
2
解决办法
1728
查看次数