潜在空投-Botanixlabs测试网操作教程

项目介绍

Botanix 是比特币上完全去中心化的第 2 层 EVM,项目结合EVM 的易用性和多功能性与比特币的去中心化和安全性相结合,在比特币之上构建以太坊虚拟机 (EVM)。其定位非常清晰,希望成为比特币DeFi的中心,激活比特币资本市场,解锁比特币链上的万亿美元市场。

如果你关心btc相关的项目,值得参与测试网,参与方式:配置钱包网络、领水、使用生态Dapp,部署合约或代币等。

安装 EVM钱包

Botanix EVM 与以太坊完全等效。因此,它可与所有 EVM 钱包(如 MetaMask / Okx 插件)直接配合使用。

连接到测试网

有两种不同的方式可以连接到测试网络。

自动连接:

打开链接:https://bridge.botanixlabs.dev/ 点击“Connect”钱包授权确认即可自动连接测试网

如果您想自动连接到 Botanix 测试网,只需导航到我们的Bridge,我们将指导您完成整个过程。

手动连接:

要将 Botanix Testnet 手动添加到您的钱包,请使用以下信息:

Network Name: Botanix Testnet

New RPC URL: https://node.botanixlabs.dev

Chain ID: 3636

Currency Symbol: BTC

Block Explorer URL: https://testnet.botanixscan.io/

如何添加自定义测试网络,请按照此处的 MetaMask 说明进行操作即可:

领取测试代币-领水

做日常交互需要测试代币,下面介绍2种领水方式:

Mutinynet 水龙头 + Botanix Bridge

前往https://bridge.botanixlabs.dev/,连接并验证你的 web3 钱包,复制您的存款地址(Gateway Address)

前往https://faucet.mutinynet.com/ 选择金额,将存款地址粘贴到目标字段,然后 -> rain

ps:这个环节,我经常操作失败,多试几回才能提交成功。

Make in rain 成功后,按照链接“在 mempool.space 上查看”(https://mutinynet.com/)并复制 交易 tx ID

返回https://bridge.botanixlabs.dev/ 页面填写注册您的交易ID:

经过 2 次确认后(claim)即可领取资金,资金将在约 5 秒后显示在您的钱包中:

银河任务领取

访问银河:https://app.galxe.com/quest/botanixlabs

选择相关的任务去做,可以领到不同数量的测试代币(领水)

第一种最简单的方式,访问链接:https://docs.google.com/forms/d/e/1FAIpQLScTauOXpRQLYpg7I0lL4cs37scVkicH5VaxjSidhLYhsliiAw/viewform

填写您的evm address, 第二天会接收到少量的btc

转账发送

你的不同 evm 地址之间,用metamask等钱包插件,选择发送菜单,输入发送金额, 提交即可完成交易:

提款 Withdraw

访问链接:https://bridge.botanixlabs.dev/,连接您的钱包,进行身份验证并选择“Withdraw”选项卡。

选择提款金额,填写接收的比特币钱包地址(可以填写你领水那个地址,也可以填写退回水龙的公共地址:(tb1qd28npep0s8frcm3y7dxqajkcy2m40eysplyr9v)

只需单击“提款”,按照钱包中的说明进行操作,一段时间后,资金就会显示在您的比特币钱包中,

您可以在Mutinynet 内存池中检查此地址的传入交易:

链接换成你自己的接收地址,即可查看:

部署合约

前往合约编辑工具 Ethereum Remix IDE:https://remix.ethereum.org/ 并创建一个新的 Solidity 文件,例如Botanix-token.sol。将以下代码粘贴到新的 Solidity 脚本中:

pragma solidity ^0.4.24;

//Safe Math Interface

contract SafeMath {

    function safeAdd(uint a, uint b) public pure returns (uint c) {
        c = a + b;
        require(c >= a);
    }

    function safeSub(uint a, uint b) public pure returns (uint c) {
        require(b <= a);
        c = a - b;
    }

    function safeMul(uint a, uint b) public pure returns (uint c) {
        c = a * b;
        require(a == 0 || c / a == b);
    }

    function safeDiv(uint a, uint b) public pure returns (uint c) {
        require(b > 0);
        c = a / b;
    }
}


//ERC Token Standard #20 Interface

contract ERC20Interface {
    function totalSupply() public constant returns (uint);
    function balanceOf(address tokenOwner) public constant returns (uint balance);
    function allowance(address tokenOwner, address spender) public constant returns (uint remaining);
    function transfer(address to, uint tokens) public returns (bool success);
    function approve(address spender, uint tokens) public returns (bool success);
    function transferFrom(address from, address to, uint tokens) public returns (bool success);

    event Transfer(address indexed from, address indexed to, uint tokens);
    event Approval(address indexed tokenOwner, address indexed spender, uint tokens);
}


//Contract function to receive approval and execute function in one call

contract ApproveAndCallFallBack {
    function receiveApproval(address from, uint256 tokens, address token, bytes data) public;
}

//Actual token contract

contract BotanixTestToken is ERC20Interface, SafeMath {
    string public symbol;
    string public  name;
    uint8 public decimals;
    uint public _totalSupply;

    mapping(address => uint) balances;
    mapping(address => mapping(address => uint)) allowed;

    constructor() public {
        symbol = "代币名";
        name = "Botanix testnet token";
        decimals = 2;
        _totalSupply = 1000000000;
        balances[evm 钱包地址] = _totalSupply;
        emit Transfer(address(0), evm 钱包地址, _totalSupply);
    }

    function totalSupply() public constant returns (uint) {
        return _totalSupply  - balances[address(0)];
    }

    function balanceOf(address tokenOwner) public constant returns (uint balance) {
        return balances[tokenOwner];
    }

    function transfer(address to, uint tokens) public returns (bool success) {
        balances[msg.sender] = safeSub(balances[msg.sender], tokens);
        balances[to] = safeAdd(balances[to], tokens);
        emit Transfer(msg.sender, to, tokens);
        return true;
    }

    function approve(address spender, uint tokens) public returns (bool success) {
        allowed[msg.sender][spender] = tokens;
        emit Approval(msg.sender, spender, tokens);
        return true;
    }

    function transferFrom(address from, address to, uint tokens) public returns (bool success) {
        balances[from] = safeSub(balances[from], tokens);
        allowed[from][msg.sender] = safeSub(allowed[from][msg.sender], tokens);
        balances[to] = safeAdd(balances[to], tokens);
        emit Transfer(from, to, tokens);
        return true;
    }

    function allowance(address tokenOwner, address spender) public constant returns (uint remaining) {
        return allowed[tokenOwner][spender];
    }

    function approveAndCall(address spender, uint tokens, bytes data) public returns (bool success) {
        allowed[msg.sender][spender] = tokens;
        emit Approval(msg.sender, spender, tokens);
        ApproveAndCallFallBack(spender).receiveApproval(msg.sender, tokens, this, data);
        return true;
    }

    function () public payable {
        revert();
    }
}

替换以下值:

第 62 行:symbol = " ABC ";选择你自己的符号

第 63 行:name = " Botanix testnet token ";选择你自己的名字

第 64 行: decimals = 2;设置小数(代币可分割的值,可使用 0 到 8 个小数单位)并根据需要建立总供应值

第 65 行 _totalSupply = 100000 ; 选择总供应量

第 66 行:balances[ YOUR_METAMASK_WALLET_ADDRESS ] = _totalSupply;请将 YOUR_METAMASK_WALLET_ADDRESS 更改为您自己的钱包地址(您可以在 MetaMask 界面中找到此地址)

第 67 行:发出 Transfer(address(0), YOUR_METAMASK_WALLET_ADDRESS , _totalSupply);

编译"Compile"智能合约。确保根据所选的 Solidity 版本选择正确的编译器:

执行部署"Display" 合约:

部署成功后,可通过合约地址,在metamask上添加属于自己的代币:

使用生态Dapp

打开生态Dapp 页面: https://www.botanixlabs.xyz/en/testnet

安排好自己的时间,日常能多做尽量多做, 增加 tx 数量~

第一个 Botanix Bridge ,在领水/提款的时候,已经参与过交互了。

现在挑比较简单的第二个 bitzy.app 进行各种代币的 swap 即可:

其他dapp有时间也要多交互~

结语

觉得有用的,记得关注我的推特,将会持续整理潜在空投交互/dapp/节点/挖矿等详细教程~

Subscribe to MossMind
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.