第十六課 不用程式設計,如何把長文章記錄到以太坊區塊鏈上?
1,摘要
【本文目標】
通過本文學習,以太坊學習者可以把中文長文章記錄到區塊鏈上,不會被刪除。
【前置條件】
1)有數字錢包,裡面有不少於0.02的ETH。
2)本地CHROME瀏覽器安裝有MetaMask錢包外掛,沒有的參考課程《第一課 如何在WINDOWS環境下搭建以太坊開發環境》完成安裝。
【技術收穫】
1) 區塊鏈的去中心化,不可篡改的特點證實;
2) 以太坊Gas,Gas Price的理解;
2, 朋友圈不可忘卻的刷屏和404
2018年7月22日,當安比颱風經過上海時,輝哥整個朋友圈卻都在刷屏一個主題的文章,然後點選又是“已停止訪問該網頁”的提示。直到後來,輝哥看到“被永久記錄在以太坊高度6007493之上”的文章提示,對釋出者肅然起敬。是的,其實區塊鏈從業者可以做些自己的事情,即使如同這颱風不被人重視一樣!
3,釋出長文章實操
作為技術工作者,我們回到技術實現上來吧。這個命題就轉化為“如何把長文章記錄到以太坊區塊鏈上”了。輝哥提供一種可實現的方法,針對不願意程式設計,對區塊鏈又有一定了解的人能夠記錄不想被抹去的重要時刻和內容。
作為舉例,輝哥找了一篇正能量的文章《李克強:疫苗質量安全是不可觸碰的“紅線”》,給大家演示如何把長文章記錄到以太坊區塊鏈上。
3.1URL編碼
首先把該篇文章COPY到WORD文件上,做些文字大小調整的基本動作。
然後開啟“線上URL編解碼工具”,把相關文字複製上去。點選按鈕“URL ENCODE編碼”,把產生的編碼內容保持到本地檔案“URL編碼2.txt”。
3.2 ASCII字母和數字轉換為16進位制
URL編碼存在一個問題,就是對應的英文字元和數字不會變為ASCII形式,還是保持原形態,需要識別出來以16進位制方式進行轉換。參考附件的WORD文件標識,輝哥把不能URL轉換的文字都標識了出來。
然後在“URL編碼2.txt”查詢對應的關鍵字例如http,找到後切換到16進位制轉換工具,然後複製16進位制替換到“URL編碼2.txt”的"http"文字。
需要說明一下的是,針對“4月13日的國務院常務會議上說”的“4”“13”比較好的查詢方式是查詢其後置字元“月”“日”對應的URL編碼“%E6%9C%88”“%E6%97%A5”,然後替換掉對應的“4”“13”為“34”“3133”等16進位制碼。替換完成後的16進位制檔案命名為“URL編碼-16進位制編碼2.txt”。
3.3 刪除全文的%
在“URL編碼-16進位制編碼2.txt”中,用UltraEdit開啟在選單"搜尋/替換",把%替換空的方式刪除掉。
把這個檔案命名為“URL編碼-16進位制編碼-去除百分2.txt”。
【重大改進】 有朋友發現了一個新的網站工具,能夠把3.1,3.2步驟一步完成,這個就更好用了。有需要者可點選連結跳轉
3.4 交易並記錄文章
3.4.1 匯入賬號
開啟本地CHROME瀏覽器之前安裝的MetaMask外掛,匯入有至少有0.02ETH的賬號,切換到以太坊主網模式。
3.4.2 點選交易
複製“URL編碼-16進位制編碼-去除百分2.txt”,點選"SEND"按鈕,在彈出的介面 DATA部分拷貝後,在其頭部增加“0x”標識。
轉賬數額可以填寫很小,例如0.0001個ETH,轉賬的賬號選擇自己的地址吧。
3.4.3 設定GAS Limit和GAS Price
點選"Next"按鈕,設定好Gas Limit引數和Gas Price引數,點選“SUMMIT”按鈕即可提交交易。
【說明】
Gas Limit 預設為21000,但是DATA區有資料的話,需要增加上限的。針對非零資料,一共有5857個位元組,有一個公式如下:
5857*68+21000 =419276
計算可得Gas Limit的最小資料,輝哥實際設定為419276 。
Gas Price設定為20,目前測試下來交易還是比較快的。
下面一條因為輝哥設定的Gas Limit偏小,導致失敗。第二次交易成功,對應連結為https://etherscan.io/tx/0x802a072a303a1bb19a20065a262526f2cfda0d1ea16eeb3db6500d9d06f65963,記錄在6010338區塊位置,消費輝哥約3.93美元。
【說明】測試者如果選擇以太坊測試網路,例如“Repsten Test Network”,則不會消耗一分錢。
3.4.4 檢視文章內容
點選交易成功的區塊連結,設定"View Input As"為UTF-8,就可以看到這篇文章了。是中文的,不是亂碼,也記錄了這篇文章的原始出處。
4,知識普及
4.1 區塊鏈特徵
區塊鏈其中一個特徵是資訊不可篡改,一旦資訊經過驗證並新增至區塊鏈,就會永久的儲存起來,除非能夠同時控制住系統中超過51%的節點,否則單個節點上對資料庫的修改是無效的,因此區塊鏈的資料穩定性和可靠性極高。
以太坊目前在全球有幾萬個節點,篡改或者刪除的成本極高極高。
4.2 以太坊交易的Gas和gasPrice的概念
可理解成汽油, 在以太坊上執行程式以及儲存資料都要消耗一定量的以太幣,Gas是以太幣轉換而成。這個機制用來保證效率。
油費計算
油費 = gasPrice 油價 × gasLimit 用油限制
gasCost = gasPrice * gasLimit(used gas)
注意gasLimit只是一個最大使用值,如果沒有使用完全則會退回賬戶。就像是開車去某個目的地一樣,gasPrice就是油價,油箱大小就是gasLimit,油夠,到達目的地多餘的油會留在油箱裡面,也就是轉賬成功,多餘的油費會返回賬戶。如果少了那就到達不了,意味著轉賬失敗。
貨幣單位(Ether Units):Gwei / wei / Eth之間的關係
gasPrice單位一般用 Gwei表示,三者之間的轉換關係為:
1 eth = 1e9 Gwei = 1e18 wei
【注意】1e9 代表的是10的9次方
智慧合約也是一樣的,當一個發起者部署執行一段智慧合約時,以太坊會收取gas費用,就像汽車行駛需要燒油一樣,直到你的智慧合約執行完畢,“油箱”中剩餘的gas會退還給你,如果你的程式碼死迴圈了,耗盡了你“油箱”中的gas,那麼以太坊會自動報出異常停止你的智慧合約。
需要獲取本文舉例的階段性原檔案用於測試的,加微信“PE-investor”獲取。
5,後記
區塊鏈的知識講完了。輝哥突然注意到引用正能量的這篇文章《李克強:疫苗質量安全是不可觸碰的"紅線"》的釋出時間竟然是2016年4月份啊,我還以為是今天說的呢!
哎。。。
相關文章
- 【區塊鏈】實戰·以太坊智慧合約程式設計引導區塊鏈程式設計
- 區塊鏈程式設計(二)區塊鏈程式設計
- 區塊鏈記錄_1區塊鏈
- 從CRUD程式設計切換到事件溯源和區塊鏈程式設計程式設計事件區塊鏈
- 以太坊及區塊鏈 程式資源整合區塊鏈
- 區塊鏈上程式設計:DApp 開發簡介區塊鏈程式設計APP
- 使用truffle部署以太坊智慧合約到區塊鏈區塊鏈
- 以太坊·將資料寫入到區塊鏈中區塊鏈
- 從Java到區塊鏈:如何成為區塊鏈開發者?Java區塊鏈
- 區塊鏈 2.0 :以太坊(九)區塊鏈
- 區塊鏈之以太坊初探區塊鏈
- 如何招聘面試區塊鏈以太坊開發人才面試區塊鏈
- 區塊鏈2.0架構:以太坊區塊鏈的介紹區塊鏈架構
- 區塊鏈程式設計go(四)-交易區塊鏈程式設計Go
- 區塊鏈如何從1.0到4.0?區塊鏈
- 從Java到區塊鏈:如何成為區塊鏈開發人員Java區塊鏈
- 區塊鏈2.0以太坊漫談(1)區塊鏈
- 區塊鏈2.0以太坊漫談(2)區塊鏈
- 區塊鏈2.0以太坊漫談(3)區塊鏈
- 區塊鏈2.0以太坊漫談(4)區塊鏈
- 區塊鏈2.0以太坊環境搭建區塊鏈
- 區塊鏈架構設計區塊鏈架構
- 區塊鏈專項課程學習筆記區塊鏈筆記
- 區塊鏈安全 - 以太坊短地址攻擊區塊鏈
- 區塊鏈安全————以太坊短地址攻擊區塊鏈
- 區塊鏈——以太坊、智慧合約簡介區塊鏈
- 【乾貨】區塊鏈技術生態的設計|《白話區塊鏈》作者蔣勇分享實錄區塊鏈
- 程式設計師如何切入區塊鏈去中心化應用開發程式設計師區塊鏈中心化
- 眾享區塊鏈大講堂 - 299元全年區塊鏈課程 - 全面掌握區塊鏈區塊鏈
- 以後再有人說程式設計師懶,請把這篇文章給他看!程式設計師
- 區塊鏈技術術語表 - 以太坊篇區塊鏈
- 區塊鏈技術公司談以色用區塊鏈改善網路安全區塊鏈
- 推薦關於區塊鏈的1個課程和3篇文章區塊鏈
- 圖說區塊鏈————附錄區塊鏈
- WordPress自動採集釋出文章03-如何批量把文章上傳到wordpress
- 程式設計師修仙之路--把使用者訪問記錄優化到極致程式設計師優化
- 如何在NEO區塊鏈上實現資訊加密區塊鏈加密
- 【教程】如何在區塊鏈上養貓賺錢!區塊鏈