问题描述
假设我创建了一个 erc20 令牌。现在我想制作一个智能合约,如果用户在另一个区块链(如比特币)上有 X 个硬币,则向用户发送 1 个硬币。那行得通吗?我可以使用cardano/ethereum/任何其他智能合约从其他区块链读取数据吗?
解决方法
有一些桥接应用程序允许您执行跨链操作(主要由交易所运行)。但这些是在不同的层上运行的,与智能合约无关。
如果您想严格遵守智能合约,您所要求的内容是不可能的。
但是,您可以使用 oracle 模式。创建一个链下应用程序(oracle)来监听从你的合约到特定地址的交易。每笔交易(从您的合约到目标地址)都会在链下应用程序中触发一个操作——例如读取比特币数据。然后预言机向您的智能合约发送另一笔交易,将链下数据传递给它。