一起來區分一下以太坊的位址相關的概念

2021-08-31 09:55:42 字數 1081 閱讀 2650

今天走路上,旁邊的倆人初學者在談論以太坊相關的知識,為什麼我說是初學者呢?因為他們好像把外部賬戶合約賬戶沒搞清楚!由於不認識加上急著趕路也就沒多說,晚上回來寫個blog給大家了解一下!我自己順便也溫習一下,有什麼錯誤,歡迎交流!

以太坊中賬戶是乙個20位元組160位(通常用40個16進製制數字表示)的位址識別符號,用來識別賬戶。

外部賬戶:通常叫賬戶,被私鑰控制且沒有任何**與之關聯(為人所擁有)。

合約賬戶:通常叫合約,被它們的合約**控制且有**與之關聯,也就是說該賬戶為內部**擁有控制。

1、外部賬戶可以通過建立、用自己的私鑰來對交易進行簽名,來傳送訊息給另乙個外部賬戶或合約賬戶。

2、在兩個外部賬戶之間傳送的訊息只是乙個簡單的價值轉移。

3、從外部賬戶到合約賬戶的訊息會啟用合約賬戶的**,允許它執行各種動作。(比如轉移代幣、寫入內部儲存、新代幣、執行運算,建立乙個新的合約)。注意外部賬戶原則上不能被個人所控制的,如果它們被人類「控制」,那是通過程式設定它們被具有特定位址的外部賬戶控制,進而被擁有外部賬戶私鑰的人控制!

合約賬戶不可以自己發起乙個交易。合約賬戶只有在接收到乙個交易之後(從乙個外部賬戶或另乙個合約賬戶處),為了響應此交易而觸發乙個交易。

四個組成部分:

**nonce:**外部賬戶nonce代表從此賬戶位址傳送的交易序號,合約賬戶中nonce代表此賬戶建立的合約序號。

balance:賬戶擁有一eth的數量,單位為wei,1ether=10^18wei

storageroot:merkle樹的根節點hash值,預設是空值。

**codehash:**此賬戶evm**的hash值。對於外部賬戶codehash域是乙個空字串的hash值,對於合約賬戶就是被hash的**並作為codehash儲存。

好了就寫這麼點吧! 以後別搞混了哈!

週末快樂?

不存在的!

一起來玩了下 InfluxDb 吧

我比較懶,能用簡單的辦法搞定,就不喜歡習慣用開源的東西,因為覺得自己學習的也比較慢,但是不得不說這種快速上手乙個陌生產品的能力很重要,我很缺乏這種能力。我們提供乙個長連線服務,占用埠8080,我最初的方式通過 shell 指令碼做乙個簡單的監控,資料都直接寫在了日誌檔案裡。while dosleep...

一起來學Go go的變數

變數是幾乎所有程式語言中最基本的組成元素,從根本上說,變數相當於是一塊資料儲存空間的命名,程式可以通過定義乙個變數來申請一塊資料儲存空間,之後可以通過引用變數名來使用這塊儲存空間。go語言中的變數使用方式與c語言接近,但具備更大的靈活性。變數的宣告 go語言引入了關鍵字ver,而型別資訊放在變數名之...

一起來學Go go的變數

變數是幾乎所有程式語言中最基本的組成元素,從根本上說,變數相當於是一塊資料儲存空間的命名,程式可以通過定義乙個變數來申請一塊資料儲存空間,之後可以通過引用變數名來使用這塊儲存空間。go語言中的變數使用方式與c語言接近,但具備更大的靈活性。變數的宣告 go語言引入了關鍵字ver,而型別資訊放在變數名之...