這東西在這五年來竟然吃了我150G的空間
清出來好舒爽呀
#將CORN寄給ROOT的信停了
vi /etc/crontab
MAILTO=root -> MAILTO=""
service crond restart
#清除檔案,如果檔案多會跑一陣子
cd /var/spool/postfix/maildrop
ls | xargs rm -rf
Part of egg.
這東西在這五年來竟然吃了我150G的空間
清出來好舒爽呀
#將CORN寄給ROOT的信停了
vi /etc/crontab
MAILTO=root -> MAILTO=""
service crond restart
#清除檔案,如果檔案多會跑一陣子
cd /var/spool/postfix/maildrop
ls | xargs rm -rf
history.pushState(state,title,url);
//state 設置該筆瀏覽歷程記錄所儲存的狀態物件 可為null
//title 設置該筆瀏覽頁面的title,部分瀏覽器不支援 可為null
//url 新的 URL 不一定需要為一個絕對的路徑;如果是相對路徑,會依據目前的URL來解析。
// 新的 URL 需要與目前 URL 的 origin 是一樣的; 否則,pushState() 會丟出一個錯誤的例外。
// 這個參數是選擇性的; 如果沒有被指定的話,他會設定為目前文件的 URL。 可為null
// 範例
history.pushState(state,title,'/click/me.html');
// 使用方式同上
history.replaceState();
tail -f /var/log/secure
就會看到一堆在測帳密的LOG
把這些擋掉吧
*/1 * * * * sh /root/deny.sh
#! /bin/bash
cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /usr/local/bin/black.txt
for i in `cat /usr/local/bin/black.txt`
do
IP=`echo $i |awk -F= '{print $1}'`
NUM=`echo $i|awk -F= '{print $2}'`
if [ $NUM -gt 5 ];then
grep $IP /etc/hosts.deny > /dev/null
if [ $? -gt 0 ];then
echo "sshd:$IP:deny" >> /etc/hosts.deny
fi
fi
done
netsh int ipv6 set prefix ::ffff:0:0/96 40 1 netsh int ipv6 set prefix 2002::/16 30 2 netsh int ipv6 set prefix 2001::/32 20 3 netsh int ipv6 set prefix ::1/128 10 4 netsh int ipv6 set prefix ::/0 5 5
更新
yum update -y && yum install git wget bzip2 vim gcc-c++ ntp epel-release nodejs -y
git 要更新至2.X版
安裝go-ethereum
# 在這裡要先安裝Golang,待會需要編譯用
wget https://studygolang.com/dl/golang/go1.11.5.linux-amd64.tar.gz
# 解壓縮golang
tar zxvf go1.11.5.linux-amd64.tar.gz
# 搬移go到local下
mv go /usr/local
# 配置GOROOT和PATH
echo "export GOROOT=/usr/local/go" >> /etc/profile
echo "export PATH=$PATH:/usr/local/go/bin" >> /etc/profile
source /etc/profile
# 下載go-ethereum
git clone https://github.com/ethereum/go-ethereum.git
cd go-ethereum
make all
# 完成後在path中入geth路徑
echo "export PATH=$PATH:/root/go-ethereum/build/bin" >> /etc/profile
source /etc/profile
安裝cmake:智能合約編譯solc需cmake編譯
下載cmake最新版本
cd && wget https://cmake.org/files/v3.14/cmake-3.14.5.tar.gz
解壓並編譯並安裝
tar -xzvf cmake-3.14.5.tar.gz
cd cmaker-3.14.5
./bootstrap --prefix=/usr/local
make && make install
網路時間同步
systemctl enable ntpd
systemctl start ntpd
防火牆port
firewall-cmd --zone=public --add-port=8545/tcp --permanent
firewall-cmd --zone=public --add-port=30303/tcp --permanent
firewall-cmd --reload
Ethereum 節點 - 30303
RPCapi - 8545
–permanent為永久設定,否則防火牆重新啟動時將會失效
建立創世區塊文件
在go-ethereum/build/bin目錄下建立創世區塊文件init.json檔,內容如下
{
"config": {
"chainId": 666,
"homesteadBlock": 0,
"eip150Block": 0,
"eip150Hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"eip155Block": 0,
"eip158Block": 0,
"byzantiumBlock": 0,
"constantinopleBlock": 0,
"petersburgBlock": 0,
"istanbulBlock": 0,
"ethash": {}
},
"nonce": "0x0",
"timestamp": "0x5ddf8f3e",
"extraData": "0x0000000000000000000000000000000000000000000000000000000000000000",
"gasLimit": "0x47b760",
"difficulty": "0x00002",
"mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"coinbase": "0x0000000000000000000000000000000000000000",
"alloc": { },
"number": "0x0",
"gasUsed": "0x0",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
創世區塊初始化
請在ethereum/build/bin下操作
# 請注意,這是自行架設的私有鏈才需要初始化
# 公有鏈不需操作此步驟
geth --datadir "/data/eth/chain" init init.json
/data/eth/chain,建立資料位置可自行更換,建立前請先確保磁碟容量足夠,以及初始化文件名稱要和剛剛建立的必須一致
以太坊啟動
geth --http --http.api db,eth,net,web3,personal --datadir .\db --networkid 1997 console 2>> eth.log
端口:以太坊網絡監聽端口,默認指定為30303
http:開啟HTTP-RPC服務,可以進行智能合約的部署和測試
http.api:基於HTTP-RPC提供的API
http.addr:指定HTTP-RPC服務監聽地址,默認為localhost
http.port:HTTP-RPC服務監聽端口指定號,默認為8545
網絡ID:指定以太坊網絡的ID為代表公用網絡啟動ID,因此我們為密碼鏈創建密碼鏈,因此指定密碼鏈的起源。
控制台:啟動模式
eth.log:控制器,記錄日誌
如果有看到Welcome to the Geth JavaScript console!的字樣,私有鏈就算架設完成囉~
開啟第二個Console畫面
基本上啟動以太坊一定是Server端啟用,所以如果在其他電腦上也想進入Console畫面,就要Remote進去
# 本機連接節點
geth attach http://localhost:8545
# 遠端連接節點
geth attach http://remote_ip:8545