我对稳固和Blockchain非常陌生,虽然我有where的背景,但我也有很多人是通过freeCodeCamp.org频道关注这些技术的视频的,VRF v1就是在这里实现的。然后我将它更新到我的合同中的VRF v2,我可以说我理解它的周期,并且它通过Remix和订阅管理器工作得很好。
虽然我在尝试用Brownie(Python)在Rinkeby或ganache-cli与Infura端点分叉上编程实现它时有一些问题。
createSubscription():
function createNewSubscription() private onlyOwner {
// Create a subscription with a new subscription ID.
address[] memory consumers = new address[](1);
consumers[0] = address(this);
s_subscriptionId = COORDINATOR.createSubscription();
// Add this contract as a consumer of its own subscription.
COORDINATOR.addConsumer(s_subscriptionId, consumers[0]);
}
当使用上面的函数通过我的合同创建订阅时,它将合同地址设置为订阅的管理,而当我通过Chainlink网站上的订阅管理器创建它时,它将我的Metamask帐户设置为管理,这正是我想要的。
发布于 2022-04-06 04:53:37
VRFv2 2协调者合同在分配订阅的所有者/管理员时使用msg.sender
,因此您需要确保事务的签名者是用户钱包帐户。您可以通过python脚本在brownie工具包中看到它是如何实现的。
https://ethereum.stackexchange.com/questions/125461
复制相似问题