收藏(0)

几个月前,我有了一个想法,那就是如何在不同的区块链之间交换加密货币,从而将验证留给智能合约,而不是第三方。我受到了Cosmos Network的启发,以及它们如何在不同区块链之间执行原子交换的启发。

Blockchain Explorer API可供查询以检查事务的有效性。但是,在区块链世界中,诸如API请求或随机数生成之类的不确定性计算是不可能的。事实上,如果两个节点计算出不同版本的“现实”,区块链会分叉,所以我必须找到一个解决方法。

Oraclize可以从智能合约中执行API请求。我将解释他们的服务到底是如何工作的,但是现在,你应该记住,他们提供了一种可靠的方法来从外部世界提取数据。凭借我口袋里的这项伟大技术,我已经构建了一个功能性概念证明Dapp,它可以让您将以太币与您在Etherswaps.co上找到的比特币和Stellar Lumens交换。但在此之前,我大致介绍一下比特币的工作原理。

正如您所看到的,在去分布式交易所上的代币交换是通过3个简单的步骤执行的:

bob将他的以太币锁定在一个智能合约中,定义他想兑换多少比特币。

Alice在市场中看到该交易并支付相当于Bob的比特币地址的金额。然后,她使用Etherswaps Dapp将交易哈希提交给智能合约。

之后,她将事务哈希提交给Smart Contract,它会执行Oraclize API请求以检查事务是否有效。如果提交的金额> = Bob的请求金额(1 BTC),则智能合约将资金发送到Alice的以太坊地址。

原则是用户可以向智能合约证明他们已经采取了正确的付款方式,使他们有权获得锁定的以太币。

理论上,只要验证数据是公开的,人们甚至可以使用该系统与以太或任何其他ERC20代币交换法定货币。虽然它不能被认为是完全安全的,不应该在生产中使用,而应该只在测试网上使用,但它确实有一些有趣的特性。

如何操作

我们将在智能合约中创建一个要约,并将其支付给比特币交换以太币。

第一步

转到http://etherswaps.co并使用Metamask连接到Dapp。 然后在http://blockchain.etherswaps.co上添加我的本地区块链实例作为自定义RPC。 您也可以使用Ropsten Testnet,但此时验证速度要慢得多。

如果您使用我的区块链实例,请导入以下其中一个私钥,该私钥上已存储有100个以太,但请按实际使用;)

0x7a7ce0fa57cf26a6e5064a61b1ba9135680e776956bf19d26f6964f185fcb9c7

0x7fa4f9979b728b9a58c2dc7ab70f42e735a3cef135ea572f83e8a2d908b7289d

0x1bc2129af5929d2772c5599d3a9da8329e1c1a020980e3028710cd6ad2f55327

仅一条评论

请输入你的评论!
请在这里输入您的名字