查看原文
其他

EthSide -- An Ethereum Drivechain 指南

Paul Sztorc LayerTwo Labs 2023-07-01
  • 作者:Paul Sztorc
  • 译者:Jack3.14
  • 来源:https://www.drivechain.info/blog/ethside-guide/

在本指南

我们展示了如何使用Eth的软件堆栈,但使用 BTC 来交 gas 费用(即不购买以太币)。这需要Bip300,但我们仍然可以通过DriveNet(激活Bip300的比特币核心版本)进行演示。具体来说,我们做5个步骤:打开Linux,打开三个终端窗口,创建一个项目文件夹。使用第一个终端窗口:下载主链 Mainchain 全节点软件,以regtest模式运行,强制它每5秒找到1个块(为了我们的方便),并在其上激活以太坊侧链。使用第二个终端窗口下载、构建、运行和连接“ethSide”(我们的以太坊侧链克隆)。通过 BMM 盲合并挖掘,它还将每5秒找到一个区块。使用第三个终端窗口来玩以太坊-创建帐户,使用Eth函数,特别是:将10BTC从主链Mainchain 存入 Eth侧链。最后,我们将去remix.ethereum.org,将我们的侧链无缝插入ETH的基础设施。在那里我们可以运行合约。

第1步:设置

需要LINUX。Mac/Windows用户可以使用 VirtualBox 或 VMWare 等软件免费运行 Linux-请参阅这些 指南。这既简单又安全-它可以阻止DriveNet接触您计算机的其余部分。下图:您正在查看Ubuntu桌面。

打开终端-(右键单击->“在终端中打开”)。

第2步:下载和使用主链

现在我们想做一堆步骤:创建一个项目文件夹,执行更新和安装依赖项,下载DriveNet-42,为其区块链创建一个特殊目录(在项目文件夹内,它不会打扰您的任何其他文件),打开DriveNet(在正则表达式模式下,这样我们就可以不受工作量证明的阻碍地进行测试),提出并激活以太坊侧链(在侧链插槽#1中),最后命令正则表达式区块链每5秒找到一个块。在终端中,运行以下操作(复制/粘贴,使用[ctrl+c],[ctrl+shift+v]:

mkdir ethside_video
cd ethside_video

sudo apt update
sudo apt install wget tar watch

wget http://172.105.148.135/drivechain/archive/42/drivechain-0.42.00-x86_64-linux-gnu.tar.gz
tar -xvf drivechain-0.42.00-x86_64-linux-gnu.tar.gz
mkdir datadirs
rm -rf datadirs/main
mkdir datadirs/main

echo "server=1" > ./datadirs/main/drivechain.conf
echo "regtest=1" >> ./datadirs/main/drivechain.conf
echo "rpcuser=user" >> ./datadirs/main/drivechain.conf
echo "rpcpassword=password" >> ./datadirs/main/drivechain.conf

./drivechain-0.42.00/bin/drivechain-qt -datadir=./datadirs/main &
sleep 6
./drivechain-0.42.00/bin/drivechain-cli -datadir=./datadirs/main createsidechainproposal 1 ethereum
./drivechain-0.42.00/bin/drivechain-cli -datadir=./datadirs/main generate 200
watch -n 5 ./drivechain-0.42.00/bin/drivechain-cli -datadir=./datadirs/main generate 1

由于“sudo”,您可能需要您的Ubuntu密码(以授予安装更新的权限):

下面,我们完成了:DriveNet以regtest模式运行,每5秒找到一个新块:

第3步:下载并使用ethSide

现在打开第二个终端选项卡。

现在我们想下载、构建、运行和连接ethSide(我们的以太坊侧链克隆)。在新的终端选项卡中运行:

sudo apt update
sudo apt install git curl build-essential golang

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

git clone https://github.com/nchashch/ethereum-sidechain
cd ethereum-sidechain
make

cd ..

rm -rf datadirs/eth
mkdir datadirs/eth
./ethereum-sidechain/build/bin/geth --datadir ./datadirs/eth init ./ethereum-sidechain/genesis.json
./ethereum-sidechain/build/bin/geth --http --http.api eth,web3,personal,net \
    --http.corsdomain "https://remix.ethereum.org" \
    --datadir=./datadirs/eth --maxpeers 0 --dev

(它可能会再次询问您的Ubuntu密码)。(它也可能会抱怨已经安装了Rust,如果由于某种原因已经安装了Rust,那么就不需要再次安装了。) (“构建”步骤可能需要一点时间——3分钟左右。) 您现在应该正在挖掘 ethSide 区块:

第4步:玩转以太坊

打开第三个终端选项卡。在其中,点燃以太坊:

./ethereum-sidechain/build/bin/geth attach http://127.0.0.1:8545

Eth终端现已开启!您现在可以使用以太坊。尝试制作一个新的“钱包”:

personal.newAccount()

试着检查你的钱包余额——零Coins ……现在

eth.getBalance(eth.accounts[0])

或者使用“help”(或Tab键),看看你可以尝试什么:

最后,确保您运行以下命令:

eth.deposit(eth.accounts[0], web3.toSatoshi(10), web3.toSatoshi(0.0001))
eth.getBalance(eth.accounts[0])

该命令将从主链中获取10个BTC(因为您一直在挖矿),并将它们发送到ETH侧链。(硬币的可分割性在ETH世界是不同的,所以你得到的不是10,000,0000“sats”,而是10000000000000000000又名1000京单位10,000,0000,00,000,0000的“sid-gwei”(有点像sats-squared)。以太坊不是很有趣吗!?) (当硬币被送回主链时,它们将返回到原始的“sat”级别的可分割性。)

现在,休息一下!这是你应得的!当我们回来时,我们将利用“remix.ethereum.org”(ETH社区建立的开发网站)。

步骤#5:玩转 Remix IDE

现在入侵更广阔的ETH世界 https://remix.ethereum.org/。像绵羊中的狼一样,点击侧边栏的ETH标志,然后将 “Remix VM (London)” 更改为“External Http Provider”。

它将自动连接到您的ethSide节点。它甚至会显示10个“Ether”(您从主链存入的)。

现在我们可以在这个网站上运行合约了。例如,“存储” 合约…

一旦我们选择1_Storage. sol,我们就可以编译它(在第三个侧边栏选项卡上)。

一旦我们编译它,我们就可以在第四个选项卡上部署它。

一旦我们部署它,我们就可以利用它!具体来说,在这种情况下,我们可以使用“1_Storage. sol”来存储一个数字,然后检索它!以太坊的“魔力”!

我们所做的走查与本网站提倡的非常相似。您可以浏览该网站,看看其他指南的应用情况如何!

在结论 我们运行了一个ETH合约…在BTC之上。我们没有购买任何以太币!我们留下了第一层——我们的  Layer1 比特币主链全节点,对以太坊的规则一无所知。

本指南没有涵盖提款(即:当硬币从侧链转移到主链时)。敬请期待下一篇 Bip300提款指南。

历史文章

About LayerTwo Labs

LayerTwo Labs 是由 Paul Sztorc(前耶鲁大学统计学家)创立的 sidechain 开发公司,我们将给大家提供更多的技术知识科普。

大家请关注以下我们社交媒体的链接

  • Website: https://layertwolabs.com/
  • GitHub: https://github.com/LayerTwo-Labs
  • Twitter: https://twitter.com/layertwoasia
  • Telegram: https://t.me/layertwolabsasia
  • Medium:  https://medium.com/@layertwolabsasia
  • Discord:  https://discord.gg/Pvd2aQTv2T
  • BiliBili: https://space.bilibili.com/166496555

扫码入群

LayerTwo Labs

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存