1.錢包,錢包是一個程式,主要原理是使用rpc遠程呼叫,和以太坊上的某個節點進行互動,也就是和以太坊進行互動,同時錢包重要的功能還有對以太坊賬戶的管理,
2.以太坊只有黃皮書,里面定義了以太坊的協議,以太坊的客戶端只要按照以太坊協議來實作,比如開放固定的埠等,就視為一個以太坊節點,比較知名的客戶端有geth,默認被視為”官方客戶端“,使用go開發,可以用它來搭建本地私鏈,不過本地私鏈只有一個節點,我感覺意義不是很大,作為合約的測驗環境還可以,
3.以太坊有很多鏈,我們常說的以太坊是以太坊主鏈,鏈id為1,比較有名的還有測驗鏈,跟以太坊主鏈差不多,也是全球通行,有一些默默無聞的大佬在貢獻它們的計算來維持測驗鏈的挖礦、運行,以太坊根據鏈id來區分不同的鏈,
4.以太坊進行交易,主要填的有地址、value、data.,地址代表跟誰交易,value就是要轉的幣的數量,一般的交易只需要填寫地址和value,代表向誰轉多少幣,還有要填的就是gas,gas需要填寫gas的數量和單價兩個資料,數量有個最低值,是固定的,也可以往高了填,如果單價過低,礦工可能不會給你的交易上鏈,導致你的交易很久才能上鏈甚至上鏈失敗,
5,智能合約的創建,一般data是創建智能合約用的,如果普通交易填了data需要的燃油費會更多,創建智能合約的方式是向全0地址轉賬,智能合約也有存款,轉賬的時候填的value就是它初始的存款,當然value這一項也可以不填,data是智能合約編譯后的位元組碼,位元組碼可以通過工具來進行反編譯得到原始碼,因此可以說智能合約是開源的,創建智能合約也就是向全0地址轉賬成功后,會回傳一個地址,這個地址就是合約賬號,和普通賬號的區別在于有data這個值,其它都一樣,
6.呼叫智能合約,呼叫智能合約就是向合約地址轉賬,和普通轉賬的區別是還需要指定呼叫合約的某個方法和填寫方法的引數,合約的呼叫方法和引數呼叫也寫在data中,

7.智能合約可以有個建構式,發布智能合約的時候給這個合約建構式的引數,之后就不能再改變,比如發布自己的幣,可以在建構式指定幣的總數,
8.web3.js是一個連接到某個節點的工具,在創建的時候指定ip地址和埠,就可以通過web3.js呼叫以太坊的相關功能,比如查詢連接到的那個節點的版本,查看區塊高度、轉賬,查詢余額,創造賬戶、合約、發送交易,等等,因此可以使用web3.js來開發錢包、dapp等,

9.私鏈在創建的時候記得開rpc遠程呼叫介面,這樣通過web3.js這個工具包才可以連接上本地的節點,
10.呼叫geth的newAcount()方法,相當于創建了一個賬戶,存放在本地節點的某個目錄下,這個目錄下的賬戶作為當前節點持有的賬戶,呼叫getAccounts()方法是查看本地節點的所有賬戶,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/305757.html
標籤:區塊鏈
上一篇:可能失敗,但用例超贊的專案
