区块链安全快速入门(2)//区块链实验环境搭建(blockchain security)

简介

这篇文章将教大家如何搭建区块链环境和区块链安全的工具,最好先看一下我之前写的区块链安全介绍,因为我的外部链接太多,审核一直不通过,所以麻烦大家去掉字符即可,有什么不懂的问题可以加我qq:3316735898

VMware

下载地址:htt去掉字符ps://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.html

安装包教程可以参考百度上的教程,不是很难,一直next就好了

CloudBreach虚拟机

下载地址:ht去掉字符tps://breakforgearchive.s3.amazonaws.com/cloudbreach-linux.zip

我们的环境将在这台虚拟机上部署
下载完后解压缩,进入目录
区块链安全快速入门(2)//区块链实验环境搭建(blockchain security)_第1张图片
区块链安全快速入门(2)//区块链实验环境搭建(blockchain security)_第2张图片

区块链安全快速入门(2)//区块链实验环境搭建(blockchain security)_第3张图片
或者双击直接打开.ovf文件,设置虚拟机名字和保存的文件夹就好了

Fananche安装

Ganache 是一款允许我们创建本地区块链的软件,我们可以使用它来测试智能合约的部署和交互。

虚拟机的账号和密码都是fog,进入虚拟机
ganache下载地址:ht去掉字符tps://www.trufflesuite.com/ganache

然后赋予下载文件最高权限

chmod 777 ganache-2.6.0-beta.3-linux-x86_64.AppImage
./ganache-2.6.0-beta.3-linux-x86_64.AppImage          ##运行软件

点击“New Workspace”
给它一个名字
区块链安全快速入门(2)//区块链实验环境搭建(blockchain security)_第4张图片
单击 Accounts & Keys 并设置您要测试的帐户数量和余额 100 eth 和 10 个帐户就可以了
点击“Save”即可
区块链安全快速入门(2)//区块链实验环境搭建(blockchain security)_第5张图片

Metamask安装

Metamask 是一个非常流行的加密货币钱包,但也非常适合与 Web3 资源交互。我们将使用它来签署交易,例如我们部署智能合约的交易。

下载地址:htt去掉字符ps://metamask.io/download.html

或者火狐插件里搜索Metamask然后添加
区块链安全快速入门(2)//区块链实验环境搭建(blockchain security)_第6张图片
单击地址栏中的 Metamask 图标,然后单击“network”下拉菜单,选择“自定义 RPC”
区块链安全快速入门(2)//区块链实验环境搭建(blockchain security)_第7张图片
区块链安全快速入门(2)//区块链实验环境搭建(blockchain security)_第8张图片
区块链安全快速入门(2)//区块链实验环境搭建(blockchain security)_第9张图片

随意输入名字
RPC 网址:http://127.0.0.1:7545
chain ID:1337(Ganache 使用 1337 作为其默认链 ID)
currency symbol :ETH
点击save

如果保存不了,点击右边的networks,然后把多余的那个默认设置删除即可
区块链安全快速入门(2)//区块链实验环境搭建(blockchain security)_第10张图片
要导入 Ganache 钱包的私钥,请单击 Metamask 中的“帐户”图标,然后单击“导入帐户”。粘贴要导入的帐户的私钥。
区块链安全快速入门(2)//区块链实验环境搭建(blockchain security)_第11张图片
回到Ganache程序内
随意选择一个账户
区块链安全快速入门(2)//区块链实验环境搭建(blockchain security)_第12张图片
区块链安全快速入门(2)//区块链实验环境搭建(blockchain security)_第13张图片
复制账户密钥,回到metamask
区块链安全快速入门(2)//区块链实验环境搭建(blockchain security)_第14张图片
输入账户的密钥,点击import
然后就大功告成了

Remix IDE

Remix IDE 是快速开始编写、分析、编译和部署智能合约的绝佳选择。

使用网址为:ht去掉字符tps://remix.ethereum.org/

我们之后再介绍如何使用这个网站

Truffle

Truffle 是一个用于开发、编译和部署智能合约的框架。
安装环境教程:

进入终端,输入:
wget https://nodejs.org/dist/v16.14.2/node-v16.14.2-linux-x64.tar.xz   ##下载软件
tar -xvf node-v16.14.2-linux-x64.tar.xz    ##解压缩
mv node-v10.16.3-linux-x64  nodejs      ## 重命名文件夹
建立软连接,变为全局
ln -s /home/fog/nodejs/bin/npm /usr/local/bin/ 
ln -s /home/fog/nodejs/bin/node /usr/bin/ 
最后检查是否配置成功
node -v
npm -v
如果没有成功,可以看文章顶部,加我qq

安装truffle:

sudo npm install -g truffle
mkdir blockHAX   ##创建一个名叫blockhax的文件夹
cd blockHAX      ##进入文件夹
truffle init     ##初始化truffle

它将创建以下目录和文件

├── contracts
│   └── Migrations.sol
├── migrations
│   └── 1_initial_migration.js
├── test
└── truffle-config.js

文件夹解释:

contracts - 您将存储智能合约 Solidity (.sol) 文件的目录
migrations - 存储文件的目录,告诉 Truffle 如何部署智能合约(即部署它们的顺序,任何构造函数等)
test - 存储测试脚本以测试 Solidity 功能的位置
truffle-config.js - 配置文件,告诉 Truffle 在哪里部署合约(本地实例、测试网、主网等)以及使用什么编译器版本。

配置文件:

进入blockhax的文件夹
安装vim:apt install vim
vim  truffle-config.js

添加以下内容

module.exports ={
    compilers:{
      solc: {
        version: "^0.7.5",
      }
    },
    networks: { 
        "development": { 
            network_id: "*", 
            host: "127.0.0.1", 
            port: 7545 
        }, 
    } 
};

区块链安全快速入门(2)//区块链实验环境搭建(blockchain security)_第15张图片
将第50行版本号改为“0.6.4”
保存,大功告成,然后打开metamake
区块链安全快速入门(2)//区块链实验环境搭建(blockchain security)_第16张图片
区块链安全快速入门(2)//区块链实验环境搭建(blockchain security)_第17张图片

部署智能合约

按照我们之前的步骤进行操作后,您现在应该可以编译和部署智能合约了。本节将简要介绍使用 Truffle 和 Remix IDE 编译和部署智能合约的过程
智能合约下载地址:

ht去掉字符tps://github.com/ethereumbook/ethereumbook/blob/develop/code/Solidity/Faucet.sol

复制源代码
在contracts文件夹下创建一个新的文件

touch faucet.sol    ##创建文件
vim faucet.sol    ##进入文件
然后粘贴源码
truffle compile  ##开始编译
如果有什么问题,看文章顶部,加我qq

成功编译合约​​后,我们将使用“迁移”功能将智能合约部署到我们本地的 Ganache 区块链

truffle migrate

区块链安全快速入门(2)//区块链实验环境搭建(blockchain security)_第18张图片
大功告成
Remix IDE 智能合约部署,网站为:

ht去掉字符tps://remix.ethereum.org/

然后删除左边全部的默认文件,只保留文件夹
区块链安全快速入门(2)//区块链实验环境搭建(blockchain security)_第19张图片
区块链安全快速入门(2)//区块链实验环境搭建(blockchain security)_第20张图片
选择第一个文件夹,右击,新建文件
区块链安全快速入门(2)//区块链实验环境搭建(blockchain security)_第21张图片
文件名叫faucet.sol
区块链安全快速入门(2)//区块链实验环境搭建(blockchain security)_第22张图片
然后点击左边任务栏最下面的插件按钮
区块链安全快速入门(2)//区块链实验环境搭建(blockchain security)_第23张图片

区块链安全快速入门(2)//区块链实验环境搭建(blockchain security)_第24张图片
添加如下插件,如果没有solidity compiler logic,则可以不用添加
回到主页面,打开faucet.sol文件,将之前的源码复制进去

// SPDX-License-Identifier: CC-BY-SA-4.0

// Version of Solidity compiler this program was written for
pragma solidity 0.6.4;

// Our first contract is a faucet!
contract Faucet {
    // Accept any incoming amount
    receive() external payable {}

    // Give out ether to anyone who asks
    function withdraw(uint withdraw_amount) public {
        // Limit withdrawal amount
        require(withdraw_amount <= 100000000000000000);

        // Send the amount to the address that requested it
        msg.sender.transfer(withdraw_amount);
    }
}

区块链安全快速入门(2)//区块链实验环境搭建(blockchain security)_第25张图片
区块链安全快速入门(2)//区块链实验环境搭建(blockchain security)_第26张图片
区块链安全快速入门(2)//区块链实验环境搭建(blockchain security)_第27张图片
选择版本号后运行,然后连接metamask,他会自己弹出来的
区块链安全快速入门(2)//区块链实验环境搭建(blockchain security)_第28张图片

区块链安全快速入门(2)//区块链实验环境搭建(blockchain security)_第29张图片
大功告成

区块链安全工具安装

进入终端

sudo pip3 install mythril
myth analyze     ##你要扫描的文件

区块链安全快速入门(2)//区块链实验环境搭建(blockchain security)_第30张图片
成功运行

总结

写了大概两个小时,这篇文章只是部署区块链安全的实验环境,下一篇文章,将教大家如何利用漏洞,偷走池子里全部的比特币,有什么不懂的问题可以加我qq:3316735898

你可能感兴趣的:(区块链安全,安全,经验分享,区块链,智能合约)