當前位置:首頁 » 以太坊知識 » 以太坊客戶端消失

以太坊客戶端消失

發布時間: 2023-01-17 20:11:57

『壹』 以太坊上的智能合約能不能用rust

以太坊客戶端Erigon宣布將結束對Erigon的Rust版本Akula的支持。Erigon團隊近期發現,一個基於Rust語言的Ethereum實現將開放源代碼,其范圍幾乎與Akula相同,並有一些相同/相似的構建模塊。Erigon團隊認為,該項目在開源後將更加受人支持與歡迎,其功能也將很快匹配和超越Akula。 與該項目背後擁有的資源和影響力相比,Erigon無法保證Akula能夠吸引未來的資助,因此決定取消對Akula的技術、管理和資金支持。

『貳』 以太坊區塊鏈之Bug --2020/05/19

為了防止交易重播,ETH(ETC)節點要求每筆交易必須有一個nonce數值。每一個賬戶從同一個節點發起交易時,這個nonce值從0開始計數,發送一筆nonce對應加1。當前面的nonce處理完成之後才會處理後面的nonce。注意這里的前提條件是相同的地址在相同的節點發送交易。

以下是nonce使用的幾條規則:

● 當nonce太小(小於之前已經有交易使用的nonce值),交易會被直接拒絕。

● 當nonce太大,交易會一直處於隊列之中,這也就是導致我們上面描述的問題的原因;

● 當發送一個比較大的nonce值,然後補齊開始nonce到那個值之間的nonce,那麼交易依舊可以被執行。

● 當交易處於queue中時停止geth客戶端,那麼交易queue中的交易會被清除掉。

         第一個欄位 AccountNonce ,直譯就是賬戶隨機數。它是以太坊中很小但也很重要的一個細節。以太坊為每個賬戶和交易都創建了一個Nonce,當從賬戶發起交易的時候,當前賬戶的Nonce值就被作為交易的Nonce。這里,如果是普通賬戶那麼Nonce就是它發出的交易數,如果是合約賬戶就是從它的創建合約數。

為什麼要使用這個Nonce呢?其主要目的就是為了防止重復攻擊(Replay Attack)。因為交易都是需要簽名的,假定沒有Nonce,那麼只要交易數據和發起人是確定的,簽名就一定是相同的,這樣攻擊者就能在收到一個交易數據後,重新生成一個完全相同的交易並再次提交,比如A給B發了個交易,因為交易是有簽名的,B雖然不能改動這個交易數據,但只要反復提交一模一樣的交易數據,就能把A賬戶的所有資金都轉到B手裡。

當使用賬戶Nonce之後,每次發起一個交易,A賬戶的Nonce值就會增加,當B重新提交時,因為Nonce對不上了,交易就會被拒絕。這樣就可以防止重復攻擊。當然,事情還沒有完,因為還能跨鏈實施攻擊,直到EIP-155引入了chainID,才實現了不同鏈之間的交易數據不兼容。事實上,Nonce並不能真正防止重復攻擊,比如A向B買東西,發起交易T1給B,緊接著又提交另一個交易T2,T2的Gas價格更高、優先順序更高將被優先處理,如果恰好T2處理完成後剩餘資金已經不足以支付T1,那麼T1就會被拒絕。這時如果B已經把東西給了A,那A也就攻擊成功了。所以說,就算交易被處理了也還要再等待一定時間,確保生成足夠深度的區塊,才能保證交易的不可逆。

Price 指的是單位Gas的價格,所謂Gas就是交易的消耗,Price就是單位Gas要消耗多少以太幣(Ether),Gas * Price就是處理交易需要消耗多少以太幣,它就相當於比特幣中的交易手續費。

GasLimit 限定了本次交易允許消耗資源的最高上限,換句話說,以太坊中的交易不可能無限制地消耗資源,這也是以太坊的安全策略之一,防止攻擊者惡意佔用資源。

Recipient 是交易接收者,它是common.Address指針類型,代表一個地址。這個值也可以是空的,這時在交易執行時,會通過智能合約創建一個地址來完成交易。

Amount 是交易額。這個簡單,不用解釋。

Payload 比較重要,它是一個位元組數組,可以用來作為創建合約的指令數組,這時每個位元組都是一個單獨的指令;也可以作為數據數組,由合約指令來進行操作。合約由以太坊虛擬機(Ethereum Virtual Machine,EVM)創建並執行。

V、R、S 是交易的簽名數據。以太坊當中,交易經過數字簽名之後,生成的signature是一個長度65的位元組數組,它被截成三段,前32位元組被放進R,再32位元組放進S,最後1個位元組放進V。那麼為什麼要被截成3段呢?以太坊用的是ECDSA演算法,R和S就是ECSDA簽名輸出,V則是Recovery ID。

R,S,V是交易簽名後的值,它們可以被用來生成簽名者的公鑰;R,S是ECDSA橢圓加密演算法的輸出值,V是用於恢復結果的ID

『叄』 關於以太坊ETH合並的錯誤觀點理清

隨著合並的臨近,越來越多的文章在向人們發出信號:它確實快要臨近了。這也帶來了和 PoS 相關的一系列問題的討論,人們在反復討論著同樣的話題和同樣的誤解。在上周 Kiln 測試網成功合並時,我已經在一定程度上看到了這一狀況,今後我們還會看到更多類似的東西,所以我將一些常見的問題、觀點歸納如下。

每當看到有人提出這些觀點時,我就可以把這篇文章分享給他,我希望大家也可以這樣做。如果本文存在一些紕漏,還望斧正或提出補充建議。

什麼是合並?

更多的信息可以在 ethmerge.com 上找到,所以本部分將簡單介紹。

在合並之後,Ethereum 將採取 PoS(股權證明)而不是 PoW(工作量證明)共識。合並並非「ETH 2.0」、也不存在「ETH 2.0」,這已經是一個過時的術語。

如果是 ETH 持有者,則不需要做任何事情。合並後你仍將持有相同數量的 ETH,沒有「ETH2 幣」,也不需要進行任何遷移。一切都完全相同,只有共識機制發生了變化。

之所以被稱為「合並」,是因為 ETH 將信標鏈(共識層)與現存的鏈(執行層)合並,並拋棄了執行層的 PoW 部分。

解釋一下,「共識」只是一個花哨的詞彙,其含義是指如何對交易進行排序並保證安全性。PoW 和 PoS 都是實現共識的不同手段。

PoW:"打亂區塊順序的成本太高了,因為按規則辦事更劃算。"

PoS:「擾亂區塊順序的成本太高了,因為如果我這樣做就會失去我抵押的所有錢。」

由於只是共識機制的改變,PoS 本身並不會大幅降低 Gas 費用。

為什麼合並?

降低安全成本,因為達成共識所需的能源更少。

對於 PoW 來說,收益需要為礦工使用的所有硬體和能源買單,否則將無人再去挖礦。這就需要大量發行並迅速賣出 Ethereum 以換取法幣來支付賬單。

而 PoS 則不然,PoS 只需要支付給投機者一些收益,讓人們願意存入資本,而不是直接投資到其他地方。除了一台普通的電腦和互聯網連接之外,並不需要支付大額賬單。所以收益率只需要反映所涉及的機會成本和風險。

更具可持續性。

一條鏈的安全性基本上與它的市值成正比。無論是 PoW(更高價值的 Token 獎勵 = 更有理由按規則行事 = 更多的礦工 = 更難以破壞共識)或 PoS(更高價值的抵押 Token = 更有理由按規則行事以避免失去抵押品)都是如此。

新發行的 Token 本質上是將價值從所有持幣人身上轉移走,並重新分配給特定的人。在其他條件相同的情況下,將這些 Token 賣出可以從網路中提取價值。

這為未來的許多擴容解決方案打開了大門:數據分片、無狀態、輕客戶端等等。

通過分離執行層和共識層,這將有助於降低未來的代碼復雜性。

安撫環境和 游戲 玩家當然是一個積極的副作用,但這並非是切換到 PoS 的主因。切換更多是由於外部因素導致的,Ethereum 作為一個協議並沒有對整個網路太多的控制權,例如能源生產、GPU 供應鏈等等。

何時合並?

目前官方尚未公布日期。綜合各方面的原因,開發者和社區對 6 月中旬合並持謹慎樂觀的態度

目前仍在測試之中,在開發人員完全確信不會出現錯誤之前,不會進行合並。

我個人不把希望寄託在 6 月,但我認為至少也會在夏季完成,除非在測試過程中出了極大的問題。例如,出現一個需要幾周時間來修復的關鍵錯誤,或者規範本身存在需要幾個月時間來修復的漏洞。

難度炸彈被設置在 6 月,所以無論屆時是否進行合並,都將進行一次硬分叉。

建議將 wenmerge. com 存入書簽,以便快速查看測試網合並的最新預估。

流傳已久的錯誤觀點

觀點:「你這個白痴!開發團隊會像過去一樣拖延,早在數年前他們就應允合並了,但至今仍未兌現。」

首先是一些說明:現在仍未宣布正式的合並日期,此前也從來宣布過。一個本就不存在的最後期限,何來的拖延之說呢?

類似於「將在 2018 年轉換為 PoS」的說法來自於極端樂觀的態度,並且低估了 PoS 設計的復雜性和從 PoW 到 PoS 的安全過渡的復雜性。此前開發者所做的工作相當於部分完成了 Casper FFG 規范(一個混合 PoW 和 PoS 的機制),但它最終被廢止了。現狀已經存在很多不同了:

經過多年的研究、對潛在的攻擊方向進行分析,現在擁有一個完整的協議規范。

客戶端已經實現,現在只差測試尚未進行。

合並時所有人都在工作,除了合並外沒有其他工作。合並所需的必要步驟都已完成。這甚至不是「他們已經完成了像 EIP1559 這樣復雜的內容,所以現在可以把更多的注意力集中在合並上」,而是:「他們把所有的注意力都集中在合並上」。不可能會出現這種狀況:因為開發者需從事其他內容的工作而導致合並再次被推遲。在合並完成之前,他們沒有其他事情可以做。

自 2020 年 12 月以來,PoS 實際上正在以信標鏈的形式運行。這意味著以太坊的 PoS 已經在生產環境中進行了一年多的測試(在一定程度上),目前有超過 1000 萬 ETH 在運行。它只是還沒有為執行層生產區塊而已。

觀點:「數以百萬計的質押 ETH 將在解鎖的那一刻崩盤。」

可以肯定的是,會有大量的鎖倉者想要最終獲利,尤其是那些在 32 個 ETH 僅價值 1 萬美元時就鎖定了 ETH 的人。但從一角度來看,還有很多需要考慮的問題。

合並並不會解鎖任何 ETH。解鎖將在合並後的第一次硬分叉中進行,可能是 6-8 個月後。這意味著數個月內都將沒有 PoW 方式增發的 ETH(約 13000 ETH/天)被拋售,也沒有 PoS 增發的 ETH 進入流通。

就像存 ETH 要排隊一樣,取 ETH 也要排隊。假設發生大規模拋售事件,每個人都將處於排隊之中,以每天 1125 名的速度依次解鎖。所以不存在 "開閘放水 "的時刻。每個人解凍都需要一年多的時間,一年的時間里,每天有約 38000 個 ETH 進入流通領域(大約是日均量的 1%)。

合並後,驗證者也將開始收到費用獎勵,有預估表明收益率或將翻倍。現在有成千上萬的人在排隊等待進入質押。他們既然可以接受 5% 的 ETH 收益率,我不認為他們會在收益率變成 10% 的時候放棄存入。

到目前為止,抵押所涉及的最大風險是合並本身。一些災難性的事情可能會導致合並出錯,盡管存在這種風險、盡管 ETH 被鎖定到一個未知的未來日期,但人們已經鎖定他們的 ETH 一年多了。有多少人或機構還願意袖手旁觀、等待這種風險消失後再進入呢?

抵押者退出就意味著更少的驗證者,這意味著對不退出的抵押者有更高的獎勵。這也意味著更能激勵其他之前未投資的人開始投資......

當然,這是加密世界,讓加密歸於加密。合並將帶來興奮和波動,可能會出現「sell the news」的跌幅,誰又知道呢?我不會假裝預知未來,但在我看來,更多的 ETH 可能會流入、而不是流出鎖倉。

觀點:「如果 PoS 這么好,Ethereum 為什麼不從一開始就這樣做呢?」

PoW 很容易概念化並實現,PoS 則不然。當我們回到 2014 年,PoS 尚是一個仍在研究的理論概念,只有一些區塊鏈實施了它的某種特定版本。

在考慮實施 PoS 之前,需要從研究角度解決一些基本問題。

沒有放之四海而皆準的 PoS。每個 PoS 區塊鏈都有自己的 PoS 規范,在各方面都有優缺點,所以這並非是「這個鏈做到了,為什麼 Ethereum 不能做同樣的事情」這樣簡單。

以一個 PoW 鏈作為開始,讓任何人都可以在無需許可的條件下開采 crypto,這讓 crypto 的分發機制比那些最初就是 PoS 的鏈要好得多。因為那些鏈從最初就是 PoS,這樣必須決定如何分配初始 crypto,而不是無需許可的分發 Crypto。

Ethereum 存在預挖、預售,但經過多年的換手,現在已經稀釋到一半左右,使其分布更接近 BTC 的分布。所以在 2022 年,當 ETH 作為流動性極強且易於獲得的資產時,這並不是什麼大問題。

觀點:「這實際上只是在多年努力後最後一次坑害礦工的伎倆。」

從第一天起,PoS 就是最終的目標,每個人在挖礦時都知道它早晚有一天會結束。這里並沒有什麼不公正的事情發生。

經濟因素勝過任何形式的礦工對鏈的忠誠度。你可以把一條鏈看作是一個企業,把礦工看作是雇員。

礦工/雇員已經為他們提供的服務(即安全共識)獲得了區塊獎勵。工資由僱主支出,它來自於稀釋現有持幣者的價值。

礦工流向提供獎勵最高的鏈,如果有另一個可由 GPU 開採的 crypto 可以提供更多的獎勵,大多數礦工會立即拋棄 Ethereum。

類似地,如果驗證者能夠以更低的價格完成它所需要的服務,那麼 Ethereum 將支付更少的費用。

這並不完全是排他性的。礦工也可以 ETH 的持有者,以及區塊鏈的使用者。沒有什麼能阻止他們成為抵押者並獲取抵押獎勵。

觀點:「如果挖礦沒有花費現實世界的能源,則這枚 crypto 就不再具有內在價值。」

我不太相信這種說法。反復計算哈希值直到找到一個符合任意要求的哈希值,這並沒有什麼神奇之處。我的意思是,PoW 的區塊鏈其工作是通過解密來完成的,但這並不意味著解密本身就能為世界帶來價值。提高一個 Crypto 的挖礦難度並不會神奇地讓每個人都變得更富有,它只會讓挖礦的利潤降低(當然,如果對這種 Crypto 的需求量也上升則不然)。

在我看來,一個幣的價值最終來自於供給和需求,而需求來自於區塊空間的價值。無論 ETH 是由礦工還是鎖倉者生產的,人們都需要 ETH 來購買區塊空間。當然,礦工越多,安全性/去中心化程度越高,這進一步增加了區塊空間的價值主張,這是一個正反饋循環,但反饋循環也存在於 PoS 的 Ethereum 中,它也同樣酷。

觀點:「PoS 是中心化的不二法門。」

PoS 與 PoW 基本相同,但又存在差異。「更好」或「更壞」只取決於你的看法。在我看來,PoW 實際上只是 PoS 的額外步驟。

Ethereum 作為一個社區高度重視去中心化,任何潛在的中心化趨勢都會被研究團隊注意到並提出緩解的方法,即使是以其他重要的東西為代價,就比如可擴展性(保持低 Gas 限制以便更多的節點可以參與其中,即使這會導致擁堵和高費用)。

盡管目前存在一些缺點,但去中心化是一個緩慢的過程,我們還沒有到那一步。目前有許多中心化的拐杖從長遠來看是需要消失的。我個人認為,想出一大堆東西來解決某個問題比「放棄並說因為某問題而不能做」要吸引人得多。

Ethereum 的 PoS 有一些有趣的設計經常被忽視。單個驗證器癱瘓、搗亂或直接攻擊網路都不會受到很嚴重的懲罰。而一千個驗證器同時這樣做則會受到更嚴重的懲罰。

這意味著,如果你是一個擁有數千個驗證者的大型企業,為了你自己的利益,應該把它們去中心化,避免使用雲主機、使用不同的客戶端等等。當然,資本仍然是集中的,但至少故障點是去中心化的,這對網路的整體 健康 是有利的。

與依靠中心化攤銷成本的大型礦業相比,通過能源更容易發現 PoW 挖礦並被當局關停。在全世界范圍內移動采礦設備是很難的,但鎖倉則不需要,不需要消費級設備以外的任何額外硬體。

觀點:「PoS 實際上就是『越有錢賺得越多』。」

是的。不幸的是,我們生活在一個財富高度不平等的世界。blockchain 並不能解決這個問題。

可這也是 PoW 的真實情況。誰有錢誰就可以買更多的礦機、賺更多的錢。在礦業,投資回報率也在隨著規模經濟的發展而變得更好。集中式的采礦作業可以獲得更好的硬體折扣、並搬到電力便宜的地方。獨立小礦工在現實中根本無法與之競爭。有了 PoS,每個人都能按比例獲得相同的收益,無論他們的股份是 10 美元還是 1000 萬美元。

它可能是中心化,但那些大的采礦業務沒有理由攻擊網路並削弱它,因為他們在基礎設施上投入了數百萬美元。所以……或許你對大型中心化主體的存在沒有意見,只是對他們在網路中存在巨大利益而不滿?

觀點:「存款被動產生利息,這是在無中生有地印錢?這簡直就是中央銀行和法幣的翻版!」

驗證者仍在進行著「工作」:創建區塊和驗證其他區塊。只是這些工作完全由 blockchain 達成共識所需的實際有用的工作組成,而不是一遍又一遍地計算哈希值。

這並不是真正的 "憑空印出的免費的錢",這些資金仍然有成本,它們只是比能源賬單更抽象、更不直觀而已。他主要存在於下面幾個成本:

機會成本:如果另一項投資能給你帶來更好的收益,為什麼還要賭?

流動性差:從你存款的那一刻起資金就被鎖定了。你需要排隊等待你的驗證器激活,而當你取款時,又要排隊才能取回。

固有風險:這仍然是一個相當新事物,可能會出現問題:一個關鍵錯誤、網路被攻擊、你的抵押物受損等等。

波動性:這仍然是一種不穩定的資產,如果你以本國法幣計價,那麼使用一種可能一夜之間下跌 30% 的資產來獲取 5% 的收益率並不是那麼好。

維護:驗證者需要維護驗證器、更新軟體等,以此來確保 100% 的正常運行時間。

這就是它有趣的地方:越多的鎖倉者、每人的獎勵就越低。這也意味著所有成本都將交由市場本身定價。如果質押收益率太低,那麼獎勵就不能證明成本的合理性,人們就會撤出並投資於其他地方,這一舉動會使收益率回升。同樣,如果收益率太高,也會吸引更多的資本使收益回落。

就通貨膨脹而言。假設市場認為 5% 是理想的收益率,其中 3% 來自增發。這樣算下來,每年大約有 3000 萬個 ETH 被抵押,將發行 90 萬個新 ETH。在總供應量為 1.2 億 ETH 的情況下,通貨膨脹率為 0.75%。只要 Gas 費用高於 23gwei,EIP1559 燃燒的 ETH 就將超過這一數量。我要強調的是,Ethereum 很快就會成為一種帶有收益的通縮資產。

「ETH 一直沒有供應上限,且他們一直在改變貨幣政策。」

多年來,Ethereum 的目標一直是「確保網路安全的最低可行發行量」,將網路安全置於控制供應上限之上。對貨幣政策的任何更新都沒有增加供應通貨膨脹。從第一天起低通脹率就一直是目標。

一旦 EIP1559 的燃燒率與發行率相匹配,就會有一個作為有效供應上限的平衡點——再次由市場力量決定對 Ethereum 區塊空間的估值。

並不存在一個 "Ethereum 中央銀行 "任意調整利率並向親信印鈔。市場本身決定了有多少通貨膨脹/通貨緊縮,並不存在一個可以像中央銀行控製法幣通貨膨脹率那樣的實體控制 Ethereum。

觀點:「巨鯨有足夠的錢來接管和改變 游戲 規則,並打擊誠實的鎖倉者。」

不,Ethereum 沒有任何形式的鏈上治理。

協議更新是社區的努力(Layer 0),你不需要鎖倉 ETH 來提出不良的提案、參與協議更新。

這一過程與 PoW 完全相同。即使你擁有 99% 的算力,你也不能在沒有私鑰的情況下進行無效的交易、竊取他人資產、改變協議規則,或者除了重組區塊之外真的做些什麼。1% 的誠實節點將拒絕任何不遵守規則的區塊,你將在一個無效的/無用的鏈上挖礦。現在把「哈希算力/挖礦」換成「質押金額/鎖倉」,PoS 也是如此。不過不同的是,被發現重組區塊的人將被銷毀他們的整個權益,而鏈不能完全摧毀采礦機。

簡單地說,這涉及到大量的 ETH。在合並之前高達 1000 萬計數的 ETH,約合 300 億美元。鎖倉的 ETH 數額和 ETH 的價值預計都會上升,所以攻擊變得越來越不可能,因為做一次攻擊所涉及的經濟成本太高了。而且如果攻擊來自外部行為者,他能夠獲得這么多 ETH 就是很荒謬的,你在哪裡能買到 1000 萬 ETH 來擁有 51% 的股份?

觀點:「32 個 ETH 太多了,普通人沒有這么多錢。」

我同意這是一個很大的問題。之所以有這么高的數字,是因為它必須落在一個技術的平衡點上:它必須低到有充足的驗證者來保證鏈的安全,但又要高到避免驗證者太多以使鏈的開銷膨脹。

從技術角度來看,有一大問題涉及到 32ETH,當時 32ETH 價值約 7000 美元。2017 年的早期曾有人甚至建議最低超過 1000ETH。

值得慶幸的是,就像礦池的存在一樣,也有鎖倉池,允許用戶以小金額參與鎖倉。這歸功於像 RocketPool、Secret Shared Validators 這些使用智能合約的無許可、去中心化的非託管協議。而且由於上面提到的二次懲罰,我相信從長遠來看,去中心化的鎖倉操作會比中心化的要好。像 Rocket Pool 這樣的協議最好被看作是基礎鎖倉的高級抽象,而不是 "只是一個鎖倉池"。

觀點:「PoS 還沒有被證明,而我們知道 PoW 是有效的。」

這實際上是完全公正,顯然我們無法真正的反駁這一點,只有時間會證明。只是我認為在 Ethereum 正在轉向 PoS 的背景下,這是無關的。如果你不相信它,就不要參與/投資它。我個人相信一個長期可持續的 PoS Ethereum,但即使如此,我也樂於見到 bitcoin 繼續沿用它的 PoW。

這都是我們一生中偉大的 crypto 實驗的一部分。PoS Ethereum 要麼只是一陣風,失敗直至默默無聞,要麼將成功地創造出能夠超越人類的怪物般的強大網路。

我在 bitcoin 和 Ethereum 中看到,為了實現這一目標,優先考慮去中心化是關鍵。盡管兩者的理念大不相同,但我很高興能同時擁有這兩種東西,以真正看到長期的價值。

『肆』 怎麼接以太坊公鏈

建立連接以接儒以太坊公鏈。
一、1、以太坊客戶端下載,注意:需翻牆,下載版本為1.8.23-stable,否則可能出現與以太坊錢包客戶端存在不匹配問題。
2、以太坊錢包客戶端下載。
3、安裝以太坊客戶端。
二、私有鏈創建:創建創世區塊。
三、安裝並啟動以太坊錢包客戶端。

『伍』 以太坊架構是怎麼樣的

以太坊最上層的是DApp。它通過Web3.js和智能合約層進行交換。所有的智能合約都運行在EVM(以太坊虛擬機)上,並會用到RPC的調用。在EVM和RPC下面是以太坊的四大核心內容,包括:blockChain, 共識演算法,挖礦以及網路層。除了DApp外,其他的所有部分都在以太坊的客戶端里,目前最流行的以太坊客戶端就是Geth(Go-Ethereum)

『陸』 用Go來做以太坊開發⑤事件日誌

智能合約具有在執行期間「發出」事件的能力。 事件在以太坊中也稱為「日誌」。 事件的輸出存儲在日誌部分下的事務處理中。 事件已經在以太坊智能合約中被廣泛使用,以便在發生相對重要的動作時記錄,特別是在代幣合約(即ERC-20)中,以指示代幣轉賬已經發生。 這些部分將引導您完成從區塊鏈中讀取事件以及訂閱事件的過程,以便交易事務被礦工打包入塊的時候及時收到通知。

為了訂閱事件日誌,我們需要做的第一件事就是撥打啟用websocket的以太坊客戶端。 幸運的是,Infura支持websockets。

下一步是創建篩選查詢。 在這個例子中,我們將閱讀來自我們在之前課程中創建的示例合約中的所有事件。

我們接收事件的方式是通過Go channel。 讓我們從go-ethereum core/types 包創建一個類型為 Log 的channel。

現在我們所要做的就是通過從客戶端調用 SubscribeFilterLogs 來訂閱,它接收查詢選項和輸出通道。 這將返回包含unsubscribe和error方法的訂閱結構。

最後,我們要做的就是使用select語句設置一個連續循環來讀入新的日誌事件或訂閱錯誤。

我們會在下個章節介紹如何解析日誌。

Commands

Store.sol

event_subscribe.go

智能合約可以可選地釋放「事件」,其作為交易收據的一部分存儲日誌。讀取這些事件相當簡單。首先我們需要構造一個過濾查詢。我們從go-ethereum包中導入 FilterQuery 結構體並用過濾選項初始化它。我們告訴它我們想過濾的區塊范圍並指定從中讀取此日誌的合約地址。在示例中,我們將從在 智能合約章節 創建的智能合約中讀取特定區塊所有日誌。

下一步是調用ethclient的 FilterLogs ,它接收我們的查詢並將返回所有的匹配事件日誌。

返回的所有日誌將是ABI編碼,因此它們本身不會非常易讀。為了解碼日誌,我們需要導入我們智能合約的ABI。為此,我們導入編譯好的智能合約Go包,它將包含名稱格式為 <Contract>ABI 的外部屬性。之後,我們使用go-ethereum中的 accounts/abi 包的 abi.JSON 函數返回一個我們可以在Go應用程序中使用的解析過的ABI介面。

現在我們可以通過日誌進行迭代並將它們解碼為我么可以使用的類型。若您回憶起我們的樣例合約釋放的日誌在Solidity中是類型為 bytes32 ,那麼Go中的等價物將是 [32]byte 。我們可以使用這些類型創建一個匿名結構體,並將指針作為第一個參數傳遞給解析後的ABI介面的 Unpack 函數,以解碼原始的日誌數據。第二個參數是我們嘗試解碼的事件名稱,最後一個參數是編碼的日誌數據。

此外,日誌結構體包含附加信息,例如,區塊摘要,區塊號和交易摘要。

若您的solidity事件包含 indexed 事件類型,那麼它們將成為 主題 而不是日誌的數據屬性的一部分。在solidity中您最多隻能有4個主題,但只有3個可索引的事件類型。第一個主題總是事件的簽名。我們的示例合約不包含可索引的事件,但如果它確實包含,這是如何讀取事件主題。

正如您所見,首個主題只是被哈希過的事件簽名。

這就是閱讀和解析日誌的全部內容。要學習如何訂閱日誌,閱讀上個章節。

命令

Store.sol

event_read.go

首先,創建ERC-20智能合約的事件日誌的interface文件 erc20.sol :

然後在給定abi使用 abigen 創建Go包

現在在我們的Go應用程序中,讓我們創建與ERC-20事件日誌簽名類型相匹配的結構類型:

初始化以太坊客戶端

按照ERC-20智能合約地址和所需的塊范圍創建一個「FilterQuery」。這個例子我們會用 ZRX 代幣:

用 FilterLogs 來過濾日誌:

接下來我們將解析JSON abi,稍後我們將使用解壓縮原始日誌數據:

為了按某種日誌類型進行過濾,我們需要弄清楚每個事件日誌函數簽名的keccak256哈希值。 事件日誌函數簽名哈希始終是 topic [0] ,我們很快就會看到。 以下是使用go-ethereum crypto 包計算keccak256哈希的方法:

現在我們將遍歷所有日誌並設置switch語句以按事件日誌類型進行過濾:

現在要解析 Transfer 事件日誌,我們將使用 abi.Unpack 將原始日誌數據解析為我們的日誌類型結構。 解包不會解析 indexed 事件類型,因為它們存儲在 topics 下,所以對於那些我們必須單獨解析,如下例所示:

Approval 日誌也是類似的方法:

最後,把所有的步驟放一起:

我們可以把解析的日誌與etherscan的數據對比: https://etherscan.io/tx/#eventlog

Commands

erc20.sol

event_read_erc20.go

solc version used for these examples

要讀取 0x Protocol 事件日誌,我們必須首先將solidity智能合約編譯為一個Go包。

安裝solc版本 0.4.11

為例如 Exchange.sol 的事件日誌創建0x Protocol交易所智能合約介面:

Create the 0x protocol exchange smart contract interface for event logs as Exchange.sol :

接著給定abi,使用 abigen 來創建Go exchange 包:

Then use abigen to create the Go exchange package given the abi:

現在在我們的Go應用程序中,讓我們創建與0xProtocol事件日誌簽名類型匹配的結構體類型:

初始化以太坊客戶端:

創建一個 FilterQuery ,並為其傳遞0x Protocol智能合約地址和所需的區塊范圍:

用 FilterLogs 查詢日誌:

接下來我們將解析JSON abi,我們後續將使用解壓縮原始日誌數據:

為了按某種日誌類型過濾,我們需要知曉每個事件日誌函數簽名的keccak256摘要。正如我們很快所見到的那樣,事件日誌函數簽名摘要總是 topic[0] :

現在我們迭代所有的日誌並設置一個switch語句來按事件日誌類型過濾:

現在要解析 LogFill ,我們將使用 abi.Unpack 將原始數據類型解析為我們自定義的日誌類型結構體。Unpack不會解析 indexed 事件類型,因為這些它們存儲在 topics 下,所以對於那些我們必須單獨解析,如下例所示:

對於 LogCancel 類似:

最後是 LogError :

將它們放在一起並運行我們將看到以下輸出:

將解析後的日誌輸出與etherscan上的內容進行比較: https://etherscan.io/tx/

命令

Exchange.sol

event_read_0xprotocol.go

這些示例使用的solc版本

『柒』 區塊鏈0216早報|李禮輝央行數字貨幣將改變全球貨幣體系格局

Coinbase Support官方推特表示,發送ETH和ERC20加密貨幣時出現了延遲情況。團隊正在努力修復,一旦解決了這個問題,任何延遲的發送都將完成。

以太坊創始人V神在推特上介紹了以太坊信標鏈第一個硬分叉(暫定名為「HF1」)升級提案。V神稱,HF1添加了輕客戶端支持,簡化了規范,提高了效率,並引入了懲罰性較小的不活躍泄漏機制。根據文件,硬分叉將使開發人員可以對最近發布的信標鏈進行一些關鍵的升級,也將成為將來進行更深層更改的有用測試。其中輕客戶端支持對資源的要求最低,並且可以在移動設備上運行的節點。這將允許「最小化信任的錢包」能夠自己驗證區塊鏈,而不是依賴於外部服務提供者。

隱私幣Verge(XVG)在周一遭受了51%攻擊後,進行了560000個區塊鏈重組。CoinMetrics的Lucas Nuzzi表示,超過200天的代幣交易 歷史 記錄已被刪除。(U.Today)

特斯拉董事會成員Antonio Gracias同時也是數字資產託管公司BitGo和加密貨幣交易平台ErisX的董事。不過暫不知道Antonio Gracias是否參與特斯拉的15億美元比特幣投資決策。Antonio Gracias是投資公司Valor Equity Partners的創始人。早些時候,Gracias投資了證券型通證平台Harbor,該平台去年被BitGo收購。(Decrypt)

2月16日,Glassnode數據顯示,至少持有0.1枚ETH的地址數量超過400萬,達4,000,236個。

Mask Network 官方宣布已於近日正式完成新一輪 300 萬美元的融資,由 DCG(Digital Currency Group) 領投,參投機構有 Fundamental Labs、隆領投資、Animoca Brands、Moonwhale Ventures、Block0、3Commas、AHP Investments 等;個人投資者包括餓了么聯合創始人汪淵、知名科幻作家陳楸帆、Max Webster、Qiao Wang 以及 Imran Khan 等。此輪融資完成之後, Mask Network 也將於近日完成其治理代幣 $MASK 的發行。據此前報道, Mask Network 已於完成了上一輪 200 萬美元的融資,該輪融資由 HashKey 以及 Hash Global 聯合領投。Mask Network(原名Maskbook )是一個幫助用戶從Web2.0無縫過渡到Web3.0的橋梁。它允許用戶在傳統社交巨頭的平台上,無縫發送加密信息、加密貨幣,甚至是去中心化應用(比如DeFi 、NFT和DAO)。

2月16日消息,平面設計師David Rudnick以近20000美元的價格在NFT市場Zora上出售了情人節NFT。(Decrypt)

Yearn.Finance官方剛剛發推稱,即將在治理論壇上討論新的潛在YIP,以暫時將Multisig(多重簽名)的授權延長3個月。據悉,現有的授權將於2月24日到期。

吉大正元在互動平台上表示,公司技術儲備中包括區塊鏈技術,區塊鏈技術是分布式數據存儲、點對點傳輸、共識機制、加密演算法技術的新型應用模式,以密碼學方式保證的不可篡改和不可偽造的分布式賬本,通過研究區塊鏈技術,尋找PKI技術在區塊鏈中的創新應用模式,嘗試將國密演算法引入到區塊鏈演算法中,實現區塊鏈密碼技術國產化方案。

據The Daily Hodl消息,,投資公司CoinShares的首席戰略官Meltem Demirors表示,隨著圍繞第二大加密貨幣資產的FOMO爆發,機構投資者開始涉足以太坊,上周,有約1.75億美元流入了以太坊投資產品,我們從未見過像以前那樣的機構興趣,並且企業正在分配比特幣以外的其他加密資產,以降低旗艦加密貨幣帶來的風險。

PolkaPets(波卡寵物)宣布四個合作夥伴,包Phala Network、Evolution Land(Darwinia)、Bridge Mutual和BondDex(Bondly Finance)加入PolkaPets世界。四個合作夥伴將於美國東部時間2月17日16點(北京時間2月18日5點)在BondSwap發售PolkaPets NFT。發行指標限量800張,其中400張保留作為將來之用。用戶可以使用WETH和$BONDLY代幣購買(每個$BONDLY代幣的價格將在銷售當天掛鉤)。據悉,PolkaPets TCG是一種NFT紙牌 游戲 收藏,每個紙牌體現為一個藝術化的動物,代表PolkaPots生態系統中的一個特定項目。這些動物的性格、能力、行為和力量與其所代表的Polkadot項目的特定角色和願景有關。

據CoinDesk消息,資產管理公司Alpha Innovations和Arcanum Capital合作推出了一隻規模為1000萬美元的風險投資基金,專注於推動新興市場的區塊鏈創新發展。該基金名為Arcanum Emerging Technologies,預計將於2月底完成初步投資。

據Cointelegraph消息,Coinbase前首席技術官Balaji Srinivasan表示,印度即將實施的加密貨幣禁令就類似於禁止互聯網,可能使該國損失數萬億美元的潛在利潤。且這會將交易收入轉移到附近的亞洲市場,對印度來說是個錯誤。

據CoinDesk消息,泰國證券交易委員會(SEC)本月將舉行聽證會,以評估應該對開設新加密貨幣交易賬戶的散戶投資者施加什麼樣入場條件。該舉措是由於監管機構擔心投資者的資金安全。因為最近加密貨幣價格急劇上漲,導致本地交易所注冊人數激增。監管機構的目標是確定新加密貨幣投資者是否有足夠的經驗,以及是否有足夠的財務資金來對抗與加密貨幣交易和價格波動相關的風險。

據Whale Alert數據顯示,北京時間2月15日21:37,Tether公司在以太坊網路新增發4億枚USDT。交易哈希為

英國加密貨幣交易所Exmo官方推特表示,平台現在正受到DDoS攻擊,伺服器暫時不可用。官方正在解決這個問題。

2月15日,據最新數據顯示,波場DeFi總鎖倉值(TVL)已突破13億美金。據悉,波場 TRON 以推動互聯網去中心化為己任,致力於為去中心化互聯網搭建基礎設施。旗下的 TRON 協議是全球最大的基於區塊鏈的去中心化應用操作系統協議之一,為協議上的去中心化應用運行提供高吞吐,高擴展,高可靠性的底層公鏈支持。波場 TRON 還通過創新的可插拔智能合約平台為以太坊智能合約提供更好的兼容性。

據QKL123行情顯示,ETH重回1800美元,現報1807.34美元,24小時漲幅為0.41%。

鏈聞消息,據《南華早報》報道,中國香港擬議的虛擬資產服務提供者發牌制度或於年內提交香港立法會。此前香港特區政府發布「建立虛擬資產服務提供者發牌制度」的相關建議咨詢流程已在 1 月底結束,預計這項建議將會變成法案,並在今年晚些時候提交香港立法會。該文件還包括一項提議,擴大在香港以外任何地方從事政治活動人物的盡職調查,包括將來自中國大陸的官員納入范圍。...

摩根大通根據估值、頭寸和價格動能評估跨資產投資者自滿程度的指標正在接近互聯網泡沫破裂以來的最高水平。賺快錢的情緒今年已經有所顯現,例如比特幣挑戰50000美元關口,*****公司受到熱捧,對廉價股票打起投機戰等。新年以來,全球股市市值增加了7萬億美元,數字貨幣漲勢猛烈,市值達到1.4萬億美元,高收益債券的發行量也創出紀錄。盡管這一切都引發了人們對各類資產的估值恐難以為繼的擔憂,但投資者繼續投入資金,因為相信空前的貨幣和財政寬松將在一段時間里維持市場的熱度。摩根大通的策略師們似乎也對此表示贊同。他們說,盡管現在可能會出現「停頓」,但沒有理由認為由釋放數萬億美元資金所引發的漲勢會出現實質性的回落。

2月15日,有推特網友發推建議特斯拉創始人埃隆·馬斯克(Elon Musk)開發一個新代幣ElonCoin,提供給現有的Dogecoin非主要持有者,以清空他們的錢包。你不需要花美元讓那些狗狗幣主要持有者變得比現在更富有,並分配你的時間和支持讓ElonCoin成為地球上的貨幣。對此,馬斯克回應稱:「只有在必要時(考慮)」。今日早間,埃隆·馬斯克發推談及狗狗幣。他表示,「如果主要的狗狗幣持有者出售他們的大部分代幣,將得到我的全力支持。在我看來,過於集中是唯一真正的問題。」

鏈聞消息,預言機項目 Umbrella Network 更新其原生代幣 UMB 的代幣經濟模型。在代幣分配上,最初 Umbrella Network 將 2/3 的代幣直接分發給社區,考慮到開發成本、合規、營銷和其他成本的,因此將早期建設者的分配比例增加到 15%,分配給社區調整至總發行量的 60%。...

Filecoin核心開發者Why在Slack頻道中發布關於將NFT添加到Filecoin網路的想法,引發社區討論。Why表示:我們可以在Filecoin中添加NFT Actor,允許人們像在以太坊上面那樣鑄造和交易NFT資產。Filecoin可以原生地支持NFT,並存儲在網路中。NTF還可以有一些特殊的機制,比如可以通過某種方式自動驗證客戶端數據。這意味著任何人鑄造的NFT基本上都會立即由網路免費存儲。Why在與社區溝通中強調,Filecoin支持原生NFT的功能需要在網路升級中添加,整體的工作量並不小。

鏈聞消息,火幣全球站發布 2021 年 1 月份 HT 運營月報顯示,1 月份火幣共銷毀 1097.02 萬枚 HT,約 5816.52 萬 USDT,銷毀金額環比 12 月份上升 116.2%,HT 當月流通盤通縮率約為 4.01%,HT 持有用戶數環比 12 月增長約 7.88%。...

鏈聞消息,由以太坊官方推出的儲存和通訊基礎設施 Swarm 宣布將對已在測試網上運行 Bee 節點的地址空投 100 萬枚 BZZ 代幣,旨在獎勵早期使用者和對網路進行壓力測試等。官方表示,已證明與受信任的「Queen Bee 節點(qBZZ 節點)」交換了帶寬的節點將獲得空投資格。此外,Swarm 主網預計在 2021 年上半年上線,空投將在主網上線前結束。在主網正式上線之前,用戶需要從 qBzz 節點兌現支票來接收代幣。...

鏈聞消息,日本金融巨頭 SBI Holdings 正在與外國金融公司進行談判,以建立一家加密貨幣合資企業。SBI Holdings 首席執行官北尾吉孝(Yoshitaka Kitao)表示,該公司旨在擴大業務,將其作為盈利能力的核心支柱。其指出,目前至少有兩筆討論建立加密貨幣合資企業的交易,但拒絕透露可能的合作夥伴。

鏈聞消息,根據 ZKSwap 瀏覽器數據,ZKSwap 主網上線 18 小時,Layer 2 賬戶鎖定資金超過 7000 萬美元,流動池子超過 6000 萬美元。官方表示,此前由於無法估計 Gas Limit 造成 USDT 無法充值的問題現已修復,團隊也正進一步迭代版本,提升用戶體驗。主網上線約 2-3 日之後,將陸續啟動流動性挖礦(PoL)、交易挖礦(PoT)、鎖倉挖礦(PoS)和 Gas 費挖礦(PoG)等活動。

鏈聞消息,跨鏈 DeFi 協議 Kava 將推出用戶資產安全保護基金 Kava SAFU 基金(Secure Asset Fund for Users),通過對 Kava 上的部分基礎設施和跨鏈活動進行保險承保,為 Kava 用戶資產提供額外的保障。

鏈聞消息,專門銷售被盜支付卡數據的暗網市場 Joker's Stash 已於 2 月 15 日正式關閉,根據區塊鏈分析公司 Elliptic 發布的報告指出,該平台匿名創始人 JokerStash 在關閉平台前已賺取逾 10 億美元的利潤。Elliptic 還透露,該數值是根據平台多年來的收入以及所有費用得出的保守計算。...

鏈聞消息,DeFi 期權平台 Premia Finance 已通過首次公募籌集到 19194.888 枚 ETH (約 3373 萬美元),總代幣供應量的 10%( 1000 萬枚 Premia 代幣)將分配給參與公募的用戶,隨後公募代幣份額將按比例進行分配。鏈聞注,Premia Finance 是由匿名開發團隊推出的新 DeFi 期權平台,用戶將能夠買入、出售和行使美式看漲和看跌期權。Premia 還將推出一個類似於「流動性挖礦」的「交互挖礦」活動,購買和出售期權的用戶將「按支付給協議的費用的比例」獲得 uPremia 代幣。uPremia 不可轉讓的,但可以被抵押以賺取協議費,這些費用將以代幣的形式分配給抵押人。

鏈聞消息,加密貨幣交易平台 BitMax 將上線去中心化演算法穩定幣項目 MahaDAO, 並於 2 月 15 日 22 時開放 MAHA/USDT 交易,23 時開放 ARTH/USDT 交易,充提現已開放。...

鏈聞消息,DeFi 固定利率生成協議 88mph (MPH)表示,其 API 達到了帳戶限制,因此 88mph.app 顯示當前的利率為 0,現問題已修正。

聯合調查表明,黑客實施攻擊需要內幕信息。且由於涉及協議和審計公司的范圍,內幕人士可能有多個可能。

鏈聞消息,DeFi 保險項目 Cover Protocol (COVER)已發布智能 DeFi 收益聚合器 BT.Finance 索賠方案,並通過了社區和 CVC 驗證。賠償方案具體表現為:賠付黑客攻擊中損失的 140,906 枚 DAI 的 60%,1 枚 CLAIM 代幣可兌換 0.6 枚 DAI;1 枚 NOCLAIM 代幣可兌換 0.4 枚 DAI。賠付完成時間為 8 天,包括 2 天的兌換延遲期。...

鏈聞消息,Cosmos 創始人 Jae Kwon 宣布從 Cosmos 網路軟體開發公司 AIB (All in Bits)及 The Interchain 基金會(ICF)離職,全職開發 Gno 智能合約語言。The Interchain 基金會是位於瑞士的非盈利基金會以支持 Cosmos 的生態建設,而 AIB 是負責開發 Cosmos 網路的軟體開發公司,這意味著 Cosmos 創始人 Jae Kwon 將離開 Cosmos 生態中最核心的支持機構。Jae Kwon 表示,Gno 是適用於 Cosmos 生態的下一代的智能合約編程語言。

鏈聞消息,亞馬遜 AWS、微軟、Google、華為和 Mozilla 宣布成立 Rust 語言基金會,承諾兩年內投入 100 萬美元預算,支持 Rust 項目維護者開發 Rust。鏈聞注,Rust 是一種在加密貨幣領域受歡迎的編程語言,以太坊客戶端 Parity Ethereum、比特幣網路庫 Rust Bitcoin 等多個項目均使用 Rust 語言實現。

7:00-12:30關鍵詞:灰度、德意志銀行、美國財政部、馬斯克 1.灰度計劃在2021年將員工數量再增加一倍; 2.德意志銀行計劃提供加密託管和大宗經紀服務; 3.Bitcoin Advisory創始人:美國財政部已持有7萬枚BTC; 4.億萬富翁MarkCuban:ETH比BTC具有更大的價值存儲優勢; 5.《黑天鵝》作者:比特幣是個敗局,一直在賣出比特幣; 6.神秘地址持有狗狗幣27%市場供應量,社區成員推測該地址或屬於馬斯克; 7.馬斯克和比特幣登上《金融時報》周末版封面。

在世界經濟論壇一份報告中顯示,德意志銀行已經加入了越來越多的大型金融機構 探索 加密貨幣託管的行列,並希望為投資該資產類別的對沖基金提供高接觸服務。德意志銀行數字資產託管原型旨在開發「一個完全集成的託管平台,為機構客戶及其數字資產提供與更廣泛的加密貨幣生態系統的無縫連接」。該銀行表示,這項服務將針對資產管理公司、財富管理公司、家族理財室、企業和數字基金。在業務模式方面,德意志銀行表示,將先收取託管費,然後對代幣化和交易收取費用。(Coindesk)

鏈聞消息,Tezos 核心開發者 Nomadic Labs 在 Edo 的新票證功能中發現了一個關鍵漏洞。Edo 是 Tezos 協議的新版本,預計將於 2021 年 2 月 13 日發布。發現漏洞後,Tezos 最終選擇在 2 月 10 日發布一個 v8.2 修復版本,其中包括 Edo 的補丁。官方表示,運行 v8.2 的節點將自動採用補丁版本,而非原始版本的 Edo。其要求任何節點需立即將其升級為 v8.2 新版本,運行 v8.1 或更早版本的節點將無法與新鏈通信。

Alpha Finance 提出了一種較為安全獲取 LP Token 價格的方法,使針對數量進行控制的攻擊變成不可行或成本非常高。

鏈聞消息,以太坊 2.0 客戶端 Nimbus 發布 v1.0.7 版本,它提供了額外 slashing 保護服務,並進一步提高了性能。該版本還引入了 BLS 簽名驗證的優化批處理(更快的同步速度和減少 CPU 負載),並進一步改進了子網漫遊證明(減少帶寬和 CPU 使用)。鏈聞此前報道,Nimbus 曾於 2020 年 11 月發布 v1.0.0 候選版本,以支持以太坊 2.0 創世區塊啟動。

鏈聞消息,高性能公鏈 Solana 宣布已正式啟動啟動以太坊雙向跨鏈橋 Wormhole,允許用戶將 ERC20 代幣轉換成 Solana 的 SPL 標准代幣,以用於 DeFi 應用中。Wormhole 允許用戶將 ER20 代幣鎖定在以太坊智能合約中,並在 Solana 上鑄造相應的 SPL 代幣。為了實現這一目標,它將依賴於一系列名為「守護者」的「跨鏈預言機」,該「預言機」將由一組節點運營商來組成,這些運營商包括頂級 Solana 驗證者節點以及其他系統的利益相關者,與 Solana 和 Serum 的利益高度一致。官方表示,在未來幾周內,Wormhole 還將增加對 Terra 的支持,並將其升級為三向跨鏈橋。此外,Solana 還將與錢包團隊合作,將 Wormhole 支持的跨鏈轉移集成到應用程序中。

這其實就是 FRI 協議的核心思想,下面,讓我們來詳細介紹 FRI 協議的過程。

鏈聞消息,波卡生態基礎協議 Bifrost 宣布已成功集成跨鏈 DEX 協議 Zenlink 跨鏈模塊,並基於 Rococo V1 實現了平行鏈間的跨鏈資產轉移,同時發布了跨鏈資產轉移的演示視頻。鏈聞此前報道,2020 年 12 月,Bifrost 宣布與 Zenlink 達成合作,雙方將圍繞波卡 Staking 流動性與 DEX 進行深入合作,包括提供技術支持、社區合作、生態建設、市場拓展等方面。此外,Bifrost 將與 Zenlink 在 Rococo V1 上 探索 合作,通過集成 Zenlink DEX mole 的方式優化 vToken 的交易體驗。

Nodle 通過軟體和連通性證明演算法來擴展網路,該演算法基於基站數量、網路帶寬和地理覆蓋范圍。

企業以太坊聯盟(EEA)調查開發者使用的智能合約語言、開發工具、客戶端。

為什麼說 ChainAPI 是對預言機 API 市場 Honeycomb 的一次重大迭代?

如果你不滿足於 DODO Vending Machine,想要以下幾個特性:*能不能支持單邊充提***能不能隨時改變價格曲線***能不能讓價格從零到無窮大分布**那麼 DODO Private Pool 就是最適合你的產品。這是一個極度靈活,能滿足專業人士需求,同時簡單易用的產品。我們之 ...

鑄幣功能、白名單功能和凍結功能。

『捌』 以太坊擴容方案ETH

以太坊擴容方案 Optimism 宣布將於 10 月推出一鍵部署功能,將在下一次主網升級中放棄自定義 Solidity 編譯器,一些無法解決自定義編譯器的項目將可以在不修改其代碼的情況下部署在 Optimism。團隊表示,Optimistic 將與對現有以太坊客戶端代碼(Geth)緊密耦合,可以引入對以太坊所做的任何改進,例如將能夠快速引入主要的硬分叉。此外, 團隊推出了 Optimistic 規范存儲庫,正在收集此設計相關的所有文檔。

以太坊 Layer 2 擴容方案 Optimism 宣布將升級成為 EVM 全兼容,升級後任何編寫了以 Geth 為目標的代碼的人現在都可以不加修改地進行合約部署,預計一鍵部署功能將於 10 月推出。 升級後,任何可以在以太坊上運行的工具都將在也被允許在 Optimistic Ethereum. 上運行。這意味著用戶將可以在 L2 上使用 DappTools、Vyper、Tenderly 以及 Hardhat。

9 月 18 日,Yearn.finance 的核心開發者「banteg」發推文表示,SushiSwap Launchpad 平台 MISO 攻擊者歸還全部 865 ETH。據以太坊區塊瀏覽器 Etherscan 顯示,此前攻擊 SushiSwap Launchpad 平台 MISO 的攻擊者向 SushiSwap 歸還了 800 ETH ,該操作分為兩筆交易,第一筆歸還 100ETH,第二筆歸還 700ETH,SushiSwap Launchpad 平台 MISO 上 Jay Pegs Auto Mart 項目的 DONA 代幣拍賣遭到攻擊,攻擊者向 MISO 前端插入了惡意代碼,將拍賣錢包地址改為了自己的錢包地址,損失目前已達 865 ETH (約 307 萬美元)。

『玖』 DApp開發入門

本文僅介紹以太坊系列的DApp開發,其他鏈原理差不太多。

MetaMask安裝完成並運行後,可以在Chrome控制台列印 MetaMask注入的window.ethereum對象

關於ethereum對象,我們只需要關心 ethereum.request 就足夠了,MetaMask 使用 ethereum.request(args) 方法 來包裝 RPC API。這些 API 基於所有以太坊客戶端公開的介面。 簡單來說錢包交互的大部分操作都是由 request() 方法實現,通過傳入不同的方法名來區分。

⚠️ 即使ethereum對象中提供了chainId,isMetaMask,selectAddress屬性,我們也不能完全相信這些屬性,他們是不穩定或不標准,不建議使用。我們可以通過上面說的request方法,拿到可靠的數據

錢包通過method方法名,進行對應的實現 以獲取錢包地址為例

調用 ethereum.request({ method: "eth_requestAccounts" }) ,錢包實現了該方法,那麼就可以拿到錢包的地址了。

MetaMask注入的 window.ethereum 就是一個Provider,一個RPC節點也是一個Provider,通過Provider,我們有了訪問區塊鏈的能力。 在連接到錢包的情況下,通常使用錢包的Provider就可以了, ethers.providers.Web3Provider(ethereum)

如果只需要查詢一些區塊鏈數據,可以使用EtherscanProvider 和 InfuraProvider 連接公開的 第三方節點服務提供商 。JsonRpcProvider 和 IpcProvider 允許連接到我們控制或可以訪問的以太坊節點。

獲取當前賬戶余額

獲取最新區塊號

其他RPC操作,可以通過 JSON-RPC 查看。

通過 ethers.js 可以連接ERC20的合約,合約編譯後會生成ABI,合約部署後,會生成合約地址,開發者通過 ABI和合約地址 ,對合約發送消息。

合約中的方法大致分為兩種: 視圖方法(免費),非視圖方法(消耗Gas) ,可以通過ABI查看方法類型。

⚠️ ERC20需要多加關注的是 Approve() 方法以及 transfer() 和 transferFrom() 的區別 ,授權過的代幣,被授權的那一方,可以通過調用 transferFrom() 方法,轉走你授權數量內的代幣,所以授權是一個很危險的操作,假設你授權了一個不良的合約,那你會面臨授權的token被轉走的風險,即使你沒有泄露私鑰助記詞。

便利三方庫: web3-react use-wallet

文檔: doc.metamask.io ethers

『拾』 選擇以太坊客戶端

有很多以太坊客戶端供我們選擇。我們推薦在開發和部署時使用不同的客戶端。

我們推薦 Ganache ,它是一個運行在你個人電腦上的私有連客戶端。它是 truffle 套種中的一部分,
Ganache 將智能合約和交易放在前台並且中心化,從而簡化了dapp的開發。使用 Ganache 你可以
快速查看你們的應用是如何影響區塊鏈的,並且對賬戶,余額,智能合約創建以及燃料消費進行自省。

Ganache 運行在 http://127.0.0.1:7545 。默認會創建是個賬戶,重啟後賬戶依然不會變,
當然也可以手動隨機賬戶,你也可以用你自己的賬戶。

我們同樣也推薦使用 truffle develop ,它是 truffle 內置的開發鏈工具。不需要任何的額外安裝,
你要使用它只需要一條命令行即可:

Truffle Develop 運行在 http://127.0.0.1:9545 上。

當你的開發機沒有圖形界面時就無法直接使用 Ganache ,而 Ganache CLI 就提供了沒有圖形界面系統的能力。

有很多官方和非官網的以太坊客戶端你可以選擇。以下是部分:

熱點內容
比特幣歷史價格2015年 發布:2024-11-19 10:31:57 瀏覽:782
比特幣中國地區三大交易所地址 發布:2024-11-19 10:14:35 瀏覽:750
簡單地說區塊鏈是什麼 發布:2024-11-19 10:02:46 瀏覽:892
比特幣算力合約哪家好 發布:2024-11-19 09:58:41 瀏覽:400
區塊鏈數字生命管理平台 發布:2024-11-19 09:52:27 瀏覽:591
比特幣冷錢包生成網站 發布:2024-11-19 09:28:53 瀏覽:295
幣印礦池賬戶在哪 發布:2024-11-19 08:53:21 瀏覽:949
輕松籌平台區塊鏈 發布:2024-11-19 08:28:52 瀏覽:933
怎麼查比特幣在哪個賬戶 發布:2024-11-19 08:20:14 瀏覽:494
百度區塊鏈寵物知乎 發布:2024-11-19 08:06:03 瀏覽:117