我想了解artifacts.require应该如何使用.我已经看到标准段落将其描述为迁移和测试.由此我推断,在进行迁移或运行测试时,松散可执行工具会自动定义artifacts其方法的全局作用域require.但是,我正在使用一些artifacts.require在任何迁移或测试的上下文之外使用的代码,相反,这段代码只需要执行常规at和new.但是,在此上下文中,artifacts未定义对象.
我在这里有合适的照片吗?这是一个合适的用途artifacts.require吗?如果是这样,必须采取哪些措施才能在迁移和测试之外进行定义?
谢谢你的任何建议!
Tom*_*rae 11
artifacts.require真的不是要在测试之外使用.这是它定义的地方:https://github.com/trufflesuite/truffle-core/blob/3e96337c32aaae6885105661fd1a6792ab4494bf/lib/test.js#L240
在生产代码中,您应该使用松露合同将已编译的合同加载到您的应用程序中https://github.com/trufflesuite/truffle-contract
这是一个简短的例子(来自http://truffleframework.com/docs/getting_started/packages-npm#within-javascript-code并参见 http://truffleframework.com/docs/getting_started/contracts#making-a-transaction)
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.
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3294 次 |
| 最近记录: |