首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正确使用artifacts.require?

正确使用artifacts.require?
EN

Stack Overflow用户
提问于 2017-09-07 16:41:51
回答 1查看 12.5K关注 0票数 9

我正在努力理解如何使用artifacts.require。我看到了描述它的标准段落是用于迁移和测试的。由此,我推断全局范围的artifacts及其方法require是在执行迁移或运行测试时由块菌可执行工具自动定义的。但是,我正在处理一些在任何迁移或测试上下文之外使用artifacts.require的代码,相反,这段代码只需要执行通常的atnew。但是,在这个上下文中,没有定义对象artifacts

我这里有正确的照片吗?这是artifacts.require的适当使用吗?如果是这样,那么必须做些什么才能使它在迁移和测试之外被定义?

谢谢你的建议!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-12 13:14:45

artifacts.require实际上不适合在测试之外使用。这就是定义它的地方:https://github.com/trufflesuite/truffle-core/blob/3e96337c32aaae6885105661fd1a6792ab4494bf/lib/test.js#L240

在生产代码中,您应该使用块菌合同https://github.com/trufflesuite/truffle-contract将已编译的合同加载到应用程序中。

下面是一个简短的示例(来自started/packages-npm#within-javascript-codestarted/contracts#making-a-transaction )

代码语言:javascript
复制
var contract = require("truffle-contract");
var contractJson = require("example-truffle-library/build/contracts/SimpleNameRegistry.json");
var SimpleNameRegistry = contract(contractJson);
SimpleNameRegistry
  .deployed()
  .then(function(instance) {
     return instance.setRegistry(address);
   })
  .then(function(result) {
    // If this callback is called, the transaction was successfully processed.
    alert("Transaction successful!")
  })
  .catch(function(e) {
    // There was an error! Handle it.
  });
票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46101430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档