eosio之nodeos初體驗

2021-09-07 01:49:25 字數 2530 閱讀 6431

1. 什麼是eosio智慧型合約。

2. eos相關概念(eos 軟體、eos平台、eos代幣、eos幣eos社群之間的關係)。

nodeos (node + eos = nodeos) - 核心eosio的node守護程序,主要應用場景有:區塊產生,專用api終端,本地開發等。

cleos (cli + eos = cleos) - 與區塊鏈互動以及管理錢包的命令列介面。

keosd (key + eos = keosd) - 負責安全儲存錢包的eosio金鑰。

eosio-cpp - eosio.cdt的一部分, 能將c++**編譯成wasm(webassembly位元組碼技術),然後生成abi(應用程式二進位制介面)。

eosjs簡介

當前v16.0.9的eosjs庫對應v1.5.0版本的nodeos。

我使用了yarn(yarn安裝, yarn對比npm:最大優點速度快),終端命令如下: yarn add scatterjs-core。

yarn倉庫

)搜尋看看yarn有沒有對應的安裝庫,一般都是有的。

終端命令:yarn add scatterjs-plugin-eosjs。

關於版本的說明

終端命令: yarn add eosjs。

前端使用vue框架(vue.js),ui使用element框架(element-ui),這兩者都有中文開發文件參考。

元件示意圖如下

nodeos官方開發文件

cleos官方文件

但是要注意即便是官方文件,nodeos和cleos對相同action的引數描述可能是不同的,建議兩篇對照看。

在使用scatterjs之前,我們需要安裝好scatter的chrome外掛程式,以及進行相關的配置,可參考這篇教程。

完成上述工作之後,就可以使用scatterjs提供的api來獲取scatter授權,而不需要將eos的私鑰明文傳遞給nodeos,私鑰明文在網路上傳輸十分不安全,因為在eos體系中私鑰被盜可能造成錢包被竊取。

scatterjs連線scatter瀏覽器外掛程式後,可以login(通過getidentity()這個函式),在這過程中,scatter外掛程式會詢問使用者使用哪個identity來登入,在使用者選擇identity並授權確認之後,在後續與nodeos互動過程中需要用到私鑰的時候,都可以將scatter例項作為keyprovider引數的值傳遞給nodeos(後面會根據**詳細解釋)。

安裝scatter瀏覽器外掛程式後,window物件就有了scatter這個例項,每開啟乙個新標籤頁,就會新建乙個scatter例項。

if (typeof window.scatter === 'undefined') );

}

判斷window.scatter型別是否為undefined即可。this.$notify()呼叫了element-ui的通知元件(詳見notification元件)。

但是,如果後續的身份認證也直接使用這個scatter例項會使我們的應用變得不安全,此時的window.scatter在當前標籤頁console中能被訪問並使用(見下圖)。

以下是使用scatter例項的**:

if (scatterservice.isscatterextensionexist === false) );

} else );

} // 更改前端顯示:當scatter extension處於locked狀態時,更改使用scatter的設定為false;

this.form.keyauthmode = false;

this.keyauthmode = false;

});const identity = scatterjs.scatter.identity;

// 搜尋identity的publickey中是否以eos字串開頭,確保scatter獲取identity成功。

if (identity !== null && identity.publickey.indexof('eos') === 0) );

}}

demo鏈結

1. scatter官網指南(scatterjs簡介)和eosio開發者文件(eosio開發者文件)。

2. 引用:eos簡明教程。

scrapy之爬蟲初體驗

本篇文章主要將怎樣建立乙個scrapy專案,以及完成第乙個scrapy爬蟲專案。首先是安裝scrapy模組,有很多原因都能導致scrapy模組安裝失敗,網上有很多教程讓怎樣安裝scrapy。親測比較有效的方法使用whl檔案安裝。不過有小夥伴也可以嘗試直接使用pip install scrapy命令進...

jfinal初體驗之Controller學習(一)

1.儲備知識 jfinal框架採用了傳統的mvc架構設計,來不及解釋了,快上車。jfinal的controller是執行緒安全的,所謂的執行緒安全就是在多執行緒訪問時,採用了加鎖機制來保護資料。這樣的做的好處是不會出現髒資料。2.開始旅程 controller中,最好保證它的純潔性,不要寫複雜的的業...

CSS之Sass初體驗

sass背景是ruby語言寫的,增加了變數,巢狀,混合,匯入等功能,可依賴ruby模組 在windows安裝 本章依賴於node後台,將sass包,解壓縮至node安裝位址。scss 為副檔名 sass,可以理解為一種css的預處理器,用於進行網頁樣式設計,再編譯成正常的css檔案 options ...