作者: Andy Wu

一顆還新鮮的肝。 持續努力學習中~

建立以太坊私有鏈(一) 節點部署

區塊鏈

本篇會需要一些區塊鏈的background knowledge

起碼要知道什麼是

  • 區塊鏈
  • 比特幣
  • 以太坊
  • 比特幣與以太坊的差別
  • 以太坊的智能合約

在操作上比較能catch到每一步的意義

 

前置工作

我們等等會使用到gethpuppeth這兩個工具,介紹一下它們的用途

gethGo語言的產物,能讓電腦在terminal下運行以太坊節點,geth是由Go-Ethereum縮寫來的

puppeth能幫助我們快速寫好私有鏈的創世區塊配置(運行配置)的工具

如果不用puppeth也是可以,但就是要自己寫JSON

網路上很多範例的JSON檔都out of date,在初始化時就一直報錯,光debug就澆滅了學下去的熱情

所以還是推薦用puppeth,反正自geth1.6版本後,安裝時就已經標配puppeth

 

在有NAT的網路中如何實現P2P通訊(UDP打洞)

網路概論

網路上大多數的服務都是主從式架構

顧名思義就是會有台server一直listen著某個port

隨時準備好有client連進該ip該port來request他所要資源

 

可是萬一我今天想要的資源(e.g. 今天的課堂筆記)並不是在一台隨時待命的server上

而是我朋友的電腦裡,我想要與他通訊交換檔案呢(醒醒吧,我沒有朋友)

於是最簡單的peer-to-peer模型出現了

 

兩端直接在Public Network中

朋友跟我說他的ip以及socket監聽的port,等待我與他建立了一條socket連線

接著就可以把今天的課堂筆記拷貝回家了

        +------>>------------------------+
        |                                |
        |                                |
     我的電腦                          朋友的電腦
75.129.48.33:50001                75.129.48.50:50001

於是本文寫到這邊就可以結束了XDD

 

挖礦到底是在讓電腦計算什麼

區塊鏈

2017年12月比特幣匯率創新高來到 20000鎂/1比特幣

很多人就此一窩蜂買礦機、買顯卡,希望也可以參與到挖礦帶來的收益

(當然現在比特幣的難度已經不是個人礦機、顯卡可以挖得動的了)

我當時為了理解區塊鏈的原理也有試著去挖門羅幣
(因為筆電只有CPU,門羅幣是唯幾還能用CPU挖的幣別)

回到主題,現在已經弄懂整個近年來很熱門的區塊鏈的概念了

所以想分享自己所理解的給還不知道什麼是挖礦的人

Docker Compose File (Apache+PHP+MariaDB+phpMyAdmin)

Docker

備份一下在自己電腦測試網頁用的Docker Compose

(Apache2 + PHP 7.2 + MariaDB 10 + phpMyAdmin)

version: '3.1'

services:

  mariadb:
    container_name: mariadb10
    image: mariadb
    restart: unless-stopped
    ports:
      - 3006:3006
    environment:
      - MYSQL_ALLOW_EMPTY_PASSWORD=1
    volumes:
      - /Users/AndyWu/Documents/Docker/mysql:/var/lib/mysql
    networks:
      my_network:
        ipv4_address: "192.168.250.2"

  apache2:
    container_name: apache2
    image: mobingi/ubuntu-apache2-php7:7.2
    restart: unless-stopped
    ports:
      - 80:80
    volumes:
      - /Users/AndyWu/Documents/Docker/apache2+php7.2:/var/www/html
    networks:
      my_network:
        ipv4_address: "192.168.250.3"
    depends_on:
      - mariadb

  phpmyadmin:
    container_name: phpmyadmin
    image: phpmyadmin/phpmyadmin
    restart: unless-stopped
    ports:
      - 81:80
    environment:
      - PMA_ARBITRARY=1
      - PMA_HOST=192.168.250.2
      - PMA_PORTS=3006
    networks:
      my_network:
        ipv4_address: "192.168.250.4"
    depends_on:
      - mariadb

networks:
  my_network:
    driver: bridge
    ipam:
      config:
        - subnet: "192.168.250.0/24"

複製一張宿舍門禁卡(四) 複製UID至水卡

MIFARE One

先來講個糗事

還記得第一篇我在淘寶買了讀卡機及數十張可修改UID的空白水卡

讀卡機會買德卡D3-U的原因是因為那時懵懵懂懂

想說學校都用這台點名,買跟學校一樣的讀卡機應該不會有風險

(我們課堂點名是刷學生證的方式簽到)

結果買回來讀取卡片可以,改扇區資料也可以

(將扇區1 區塊0寫入資料1234567890123456789012)

唯獨就扇區0 區塊0不能改

那時我還很氣憤地跑去問賣家他是不是賣假貨