我有一个文件 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)
我不明白这个错误,如何修复?
谁能解释一下 currentprovider 和给定provider 之间有什么区别?
我是这样想的。
givenprovider通过网络浏览器连接到区块链,并通过
currentprovider元掩码连接到区块链。
我不确定我的理解是否正确。
你有什么主意吗?
在向运行时添加模块之后,我尝试为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期望什么类型的人?
我创建了一个集成truffle和react框架的项目\xef\xbc\x8c然后我在truffle-config.js中配置了以太坊的rinkeby测试网络。但是,当我将合约迁移到rinkeby网络时,出现了问题。
\n\ntruffle compile \ntruffle migrate --network rinkeby\nRun Code Online (Sandbox Code Playgroud)\n\n然后出现了一些错误
\n\nTypeError: 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\nRun Code Online (Sandbox Code Playgroud)\n\n项目目录如下所示\xef\xbc\x9a
\n\n\n\ntruffle-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) 我有一个 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
你知道我能做什么吗?
假设我已将智能合约内的变量 x 更新为(x=10)。我存储了 transactionHash。然后我再次更改 x=20 的值,然后我将得到一个新的交易哈希。那么有没有什么方法可以使用之前更新的 transactionHash(x=10) 来查看 x 的值?
当我将文件文件夹上传.jpg到 IPFS 时,我会得到该文件夹的哈希值 - 这很酷。
但是该文件夹中的每个单独文件也会被散列吗?如果是这样,我如何获取每个文件的哈希值?
我基本上希望能够上传一大堆文件 - 比如 500 个图像 - 并一次性或以编程方式完成所有操作,并将每个文件的哈希值返回给我。
有办法做到这一点吗?
我在 remix ide 中遇到错误:
对插件的调用已超时 compilerMetadata - deployMetadataOf - {"from":"udapp","path":"compilerMetadata"}
该错误也被视为:
[超时]:从“udapp”调用方法“deployMetadataOf”到插件...
我真的不明白 payable() 我应该使用
contract(){
receive() {
somefunction()
}
somefunction() payable external{
}
Run Code Online (Sandbox Code Playgroud)
或者使用就足够了
contract(){
somefunction() payable external{}
}
Run Code Online (Sandbox Code Playgroud)
它们是否需要一起使用 - 我们使用回退功能和一些正常的应付修饰符,两者使用或仅使用回退或仅使用某些功能有什么区别?如果有 2 个需要修饰符的函数怎么办,你能给我一些例子吗?
假设我与分支有一个智能合约,其中每个分支都有不同数量的操作。
if (someCondition) {
// do operations costing 10 gas
} else {
//do operations costing 100 gas
}
Run Code Online (Sandbox Code Playgroud)
当用户从他们的客户端(例如元掩码)调用此函数时,他们如何知道他们的交易将花费多少天然气?他们是否只需要猜测并为最昂贵的路径添加足够的汽油?