Oraclize 文件示例 return 0:字符串:在 Remix 中调用时
Example Oraclize files return 0: string: when called in Remix
我想在 Remix 中使用 Oraclize 来测试它。我太笨了,无法使用他们的例子。
我怎样才能使这项工作?
我从他们的 Github 中获取了 YouTube-Views 代码并将其复制到 Remix
pragma solidity >= 0.5.0 < 0.6.0;
import "github.com/oraclize/ethereum-api/oraclizeAPI.sol";
contract YoutubeViews is usingOraclize {
string public viewsCount;
event LogYoutubeViewCount(string views);
event LogNewOraclizeQuery(string description);
constructor()
public
{
update(); // Update views on contract creation...
}
function __callback(
bytes32 _myid,
string memory _result
)
public
{
require(msg.sender == oraclize_cbAddress());
viewsCount = _result;
emit LogYoutubeViewCount(viewsCount);
// Do something with viewsCount, like tipping the author if viewsCount > X?
}
function update()
public
payable
{
emit LogNewOraclizeQuery("Oraclize query was sent, standing by for the answer...");
oraclize_query("URL", 'html(https://www.youtube.com/watch?v=9bZkp7q19f0).xpath(//*[contains(@class, "watch-view-count")]/text())');
}
}
当我使用 viewCount 时 returns:
0: 字符串:
所有其他示例也会发生这种情况。
使用 WolframAlpha 例如。我也收到以下错误:
交易到 WolframAlpha.update 错误:VM 错误:还原。
revert 交易已经恢复到初始状态。
注意:如果您发送值,构造函数应该是可支付的。调试交易以获取更多信息。
好的,您在 Remix 中看不到正常结果的答案:
您必须进入设置并打开 Oraclize 插件。
如果您随后部署合约或单击更新,您将获得插件中显示的结果。
我想在 Remix 中使用 Oraclize 来测试它。我太笨了,无法使用他们的例子。 我怎样才能使这项工作? 我从他们的 Github 中获取了 YouTube-Views 代码并将其复制到 Remix
pragma solidity >= 0.5.0 < 0.6.0;
import "github.com/oraclize/ethereum-api/oraclizeAPI.sol";
contract YoutubeViews is usingOraclize {
string public viewsCount;
event LogYoutubeViewCount(string views);
event LogNewOraclizeQuery(string description);
constructor()
public
{
update(); // Update views on contract creation...
}
function __callback(
bytes32 _myid,
string memory _result
)
public
{
require(msg.sender == oraclize_cbAddress());
viewsCount = _result;
emit LogYoutubeViewCount(viewsCount);
// Do something with viewsCount, like tipping the author if viewsCount > X?
}
function update()
public
payable
{
emit LogNewOraclizeQuery("Oraclize query was sent, standing by for the answer...");
oraclize_query("URL", 'html(https://www.youtube.com/watch?v=9bZkp7q19f0).xpath(//*[contains(@class, "watch-view-count")]/text())');
}
}
当我使用 viewCount 时 returns:
0: 字符串:
所有其他示例也会发生这种情况。 使用 WolframAlpha 例如。我也收到以下错误:
交易到 WolframAlpha.update 错误:VM 错误:还原。 revert 交易已经恢复到初始状态。 注意:如果您发送值,构造函数应该是可支付的。调试交易以获取更多信息。
好的,您在 Remix 中看不到正常结果的答案:
您必须进入设置并打开 Oraclize 插件。
如果您随后部署合约或单击更新,您将获得插件中显示的结果。