當前位置:首頁 » 幣種行情 » 怎麼基於eth創建新幣

怎麼基於eth創建新幣

發布時間: 2023-09-04 01:27:14

⑴ ETH以太坊怎樣進行一鍵發幣

以太坊一鍵發幣,具體的技術內容不太了解,但是這樣的操作安全嗎?數字金融安全允許一鍵發幣這種操作嗎?

⑵ tx鏈怎麼發幣

1、首先打開以太坊官網下載一個錢包,下載完成後解壓到本地打開這個文件度條是正在同步區塊鏈
2、其次同步完區塊鏈數據後,點擊LAUNCH APPLICPTION打開錢包創建一個ETH賬戶往裡面充0.05個ETH就可以了。
3、然後創建一個合約然後在下圖紅圈圈起來的地方把原有的代碼刪除掉顯示新創建的貨幣,確認完畢,再進入CONTRACTS(合約)頁面,將看到剛才創建的代幣進入SEND(發送)頁面。
4、最後在右上角的紅色方框中輸入收款者的賬戶地址。在AMOUT中填寫發送的數量,在右邊的紅色方框中選擇要發送的貨幣。

⑶ 挖ET怎麼去創建錢包

是ETH錢包吧。
1、生成屬於你自己的錢包輸入密碼。2、記住你的錢包地址,下載keystore錢包備份文件,點我明白,繼續記住你的秘鑰。3、繼續記住你的秘鑰,它是你的登入錢包憑證。4、錢包UTC文件登入方式。5、私鑰登入方式。6、助記詞登入方式,進入錢包。
ETH作為基礎貨幣創造一個可互操作的未來,彌合區塊鏈、開發者和用戶之間的差距。通過其絲滑無縫的用戶體驗,並允許資產在以太坊和NEAR區塊鏈之間不間斷地傳遞,從而合並經濟並促進創造者社區的發展,使這項技術成為主流。它不是存在於以太坊上的原生ETH,而是從以太坊到Aurora的橋接ETH,這個特殊的功能非常重要,因為它實際上可以幫助我們更快地吸引用戶和開發人員。使用ETH作為基礎代幣消除了用戶和開發人員上手的擔憂,項目團隊和開發人員無需更改他們的代碼,集成過程非常簡單。

⑷ 怎樣在幣安鏈發幣

01 引言

當你為一個項目設計,或者正在研究一個項目的代幣經濟學時,有一個重要的問題——這些代幣將怎麼到用戶的手上?你不得不重視這個環節,代幣的發布方式會對項目是否能獲得長期成功帶來重大影響。如果你是一個項目的創始人,你正在計劃發行代幣,你需要確保有一個好的代幣釋放方案,好讓用戶購買它,而不是破壞一個項目的前景。因此,無論你是項目方,或者研究者,這里有我關於將代幣如何交到用戶手中的一些思考。我將這個話題分成了三個部分: 發行時的注意事項:包括最初發行多少代幣,流動性要求,激勵措施,關鍵節點,代幣配對,以及何時發行。 發行策略:包括ICO,IDO,流動性引導,流動性激勵,流動性債券,交互獎勵,空投。 案例研究:分解一些項目的初始發布策略,以及我認為他們做得很好的地方。最後,你將會了解到發行代幣或評估一個新代幣發行策略的一切。

02 發幣的注意事項

除非你有足夠的資金和人脈,可以立即在 Coinbase 或其他大型CEX上幣,否則你必須開始使用一個DEX,在鏈上發行你的代幣。你的主要目標是讓人們能夠購買這種代幣,而不是讓這個流程復雜、昂貴或不穩定。這意味著你需要:

一種公認的,使用簡單的交易所讓人們能購買代幣;
一種流行的交易,讓人們可以兌換你的代幣;
足夠的流動性讓大多數人能夠買到你的代幣;
你還需要搞清楚:

要釋放多少代幣;
最初的定價方案;
你是否需要其他人給你的代幣提供種子流動性;
在什麼時候發行;
合適的渠道&簡單的流程
第一個問題要解決的是: 我在哪個鏈上發行這些代幣?你可能已經有了一個想法,但如果沒有,那麼花些時間,根據想要優化的方向,研究你可以使用的各種公鏈。如果你想要最大的安全性和流動性(有利於 DeFi) ,你可能需要在Ethereum或者Arbitrum上發行你的代幣。如果你是一個游戲項目,需要較快的交易速度和降低成本,那可以看看Polygon, Solana或者Avalanche。或者你覺得自己很有冒險精神,想把人們帶到 Moonriver、Celo、Harmony或其他公鏈。我不建議這樣做,但是如果他們給你一大筆錢或者你有理由相信你可以吸引人們過來,那就去做吧。選好鏈之後,你需要選擇你的交易所。Uniswap 和 Sushiswap 永遠是不會犯錯的選擇。其次,你可以選擇你的項目所在的鏈上的頭部交易所,例如 Polygon 上的 QuickSwap、Avalanche 上的 Trader Joe,Solana 上的 Raydium。在項目啟動的時候,常見的最佳實踐便是只上線一個交易所,這樣你不會影響太多的流動性。在多個交易所上線代幣看起來是一件充滿誘惑的事情,但這將會讓一些大額度交易你的代幣的用戶體驗變差。如無必要,毋增實體。一旦你選好了代幣上線的交易所,下一個問題就是: 用什麼樣的代幣來配對?

選擇你的交易代幣

在DEX中的任何交易都需要兩種代幣: 你想買的代幣和你用來交易的代幣。當你發行代幣時,你必須選擇另一個代幣來與你的代幣配對。你在做這個決策的時候,必須圍繞著這幾個要點來進行: 第一: 要讓你的代幣購買變得容易。如果你選擇一個常見的,高流動性的配對代幣,如 ETH,用戶將很容易購買你的代幣,因為他們已經有了 ETH。如果你選擇了其他不那麼常見的代幣,這會破壞用戶的體驗,因為人們可能不得不先購買另一個代幣。 第二: 它如何影響你的代幣的價格。DEX的代幣價格由交易池子中兩個代幣之間的比率決定。因此,無論您將代幣與哪個代幣配對,你的代幣價值將會被另一個代幣的價值影響。想像一下你的交易對象是ETH。如果交易池子中有1000個 ETH 和10000個你發行的代幣(YourToken),那麼 YourToken 價值0.1個 ETH。如果 ETH對美元上漲10% ,而且池中沒有交易發生,那麼 YourToken 對美元也將自動上漲10% ,因為它仍然與ETH的比值相等。因此,如果你想讓你的代幣與加密貨幣市場的大節奏保持同步,你應該選擇像 ETH 這樣的交易代幣。如果你想讓它更穩定或者體現自身的業務情況,那就和 USDC 配對。這件事情處理好以後,就要考慮如何為交易提供足夠的流動性了。

為交易提供充足的流動性

當你在DEX上幣以後,你將不得不提供交易該代幣的初始流動性。你發布的產品越受歡迎,你就需要越多的流動性來讓用戶進行內部交易。例如,如果有用戶想購買價值10,000美元的代幣,那麼你需要足夠的代幣和 ETH 在幣池中,讓用戶的交易不被巨大的滑移(Slippage)影響。因此,無論你能設想到某人的最大交易額度是多少,你可能至少需要10-20倍的流動性。你的項目規模越小,你需要的就越少。但是,如果你一直在CX,你可能需要一個深厚的資金池。如果你打算通過激勵措施來增加流動性(我們稍後會談到) ,那麼你就不需要在開始做到這么多。但是,如果你想自己提供流動性,而不為他人提供的流動性支付使用成本,那麼一開始,你將需要相當多的資金。假設你希望你的代幣至少有200萬至500萬美元的流動性。如果前期CX十分賣力,那就需要更多了。這意味著,你至少需要100萬美元的 ETH (或者不管你的交易代幣是什麼)作為初始流動性來配對你的代幣。因此,你需要有雄厚的財力,從投資者那裡籌集資金,或者只提供部分流動性引導(可能只有10萬至25萬美元) ,並通過激勵其他人,補齊剩餘的流動性缺口。下一個主題將是這個問題的重點——你需要弄清楚,需要發行多少代幣。

代幣的發行量

為了降低通貨膨脹率和限制流動性要求,有過早失去項目控制權的風險;
投入大量的初始流動性,這樣你就可以控制通貨膨脹;
保持控制權和使用有限的流動性,這會帶來大量的通脹,對早期投資者不利;
不幸的是,這些都是需要權衡的,真的沒有辦法繞過它們,你的選擇總會伴隨著痛苦。圍繞著這個話題,你需要確定一個怎樣的目標價格?

代幣的目標價格

這可以說是這里最難回答的問題,因為你肯定會在某個方向上出錯。你可能把價格定得太低,你會錯過你本可以通過更好的定價賺取的數百萬美元。或者你會定價過高,任何人都會挖提賣,得到代幣後即拋售,沒有人會買入,你會失去你的初始的流動性。對此,我有一些心智模型可以幫助你決策。首先,我認為價格最好低一點。用戶會更滿意,你仍然可以從你手中剩下的代幣中得到好處,而且可以撓到用戶「早入場早賺錢」的癢點。其次,假設你不想做一個 ICO 類型的代幣發行,我認為你應該基於可用的流動性儲備和初始釋放代幣量級的百分比來決策,然後觀察價格的波動情況。如果你有500,000美元可以作為流動性,並且只想最初釋放10% 的代幣,那麼理所應當,你的 FDV 是5000,000美元。第三,值得考慮的是,你希望最初的一批代幣如何到達用戶的手中。你是否打算建立一個流動性引導池?預售?這些都可以給你規劃一個初始定價的目標。或者,如果你正在進行空投,那麼你必須考慮什麼樣的價格是足夠低的,讓人們不會得到代幣後立刻拋售。通過這部分思考,你可能會意識到,你迫切需要其他人提供流動性方面的支持。接下來我們來談談這個。

你需要其他人來提供流動性嗎?

也許你在前面的問題中做了計算,意識到你沒有足夠的資金為用戶的交易構建資金池,你需要外部資金才能做到這一點。你有幾個選擇。你可以在早期進行預售或 ICO (雖然我們現在不這樣稱呼它),以籌集一些資金,然後投入這些資金作為初始流動性。你也可以使用流動性激勵池(我在下面將會介紹)來籌集資金,這對提高流動性有幫助,並有助於計算出代幣合理的初始價格。或者你可以在發行後立即進行流動性激勵。當你只有100-250k資金的時候,這是一個很好的選擇,但你知道,社區基金里的某些成員會Farm你的代幣。你要接受一件事,剛發幣的幾天,你的價格曲線將會呈現出針刺狀。坦誠的說,我最喜歡這個策略,最適合使用LBP的團隊,我稍後會解釋為什麼。好了,最後一個問題——何時發幣?

何時發幣?

這個問題沒有最優解,我認為,要盡可能晚一些滿足你們對功能和資金的需求。如果你是一個資金有限的引導團隊,那麼你可能需要更早地發行代幣,來為開發提供資金。許多團隊已經跑通了這個流程,並取得了良好的進展,也有不少團隊這么一干,就垮了,跑路了。另一個問題是代幣的實用性。如果某些應用內的功能需要消耗它,那麼顯然需要在該特性上線之前或上線同時發行它。如果它是治理或者是代表項目規模與經濟的代幣,可以晚一點再發行它。但我絕對不會試圖馬上發幣。如果你不需要代幣,並且如果你能夠接受得起一段時間不使用代幣來構建項目,那麼項目早期並不是發幣的好時機。你等待上越有耐心,你對項目的控制權就越多,項目就會越穩定,你就能在沒有代幣價格干擾的情況下投入更長時間進行建設。一旦有一個代幣的價格影響到社區的情緒,建設的感覺會變得不一樣。所以,盡可能的等待,如果你不急需錢,代幣沒用運用的場景,請持續等待。好了,現在的你已經了解了所有發幣的注意事項:

在什麼交易所上幣;
選擇什麼樣的交易代幣來配對;
需要投入多少流動性;
代幣的發行量是多少;
代幣的目標價格;
你是否需要外界對你的幫助;
什麼時候發行;
接下來,我們就能聊一聊你在發幣時可以使用的工具與策略了。

03 發幣策略

這些策略都是單獨拎出來的,你可以按需選用。這里有很多方法解決諸如此類問題:用什麼方法發行到市場,如何募資,如何激勵社區和支持你在建設推進的項目。我們將會涵蓋這些內容:

ICO;
IDO;
流動性引導;
流動性激勵;
流動性債券;
交互獎勵;
空投;
ICO
這是把代幣釋放到市場最早的方法,我們很少再見到它了。你建立了一個網站,設定了 ETH 的價格,然後人們就可以用他們的 ETH 來交易你的代幣。現在通常被認為是證券交易,有法律風險,所以你不會再看到它了。這也有點平淡無奇,因為在出售之後不會有市場抬起價格,也不會在交易完成之後有流動性;私募是目前仍然存在的一種方式。一些項目將在啟動前從投資者那裡籌集一定數量的資金,並承諾在啟動後獲得既得代幣。這是解決初始流動性問題的一種常見方法,因為你可以使用你籌集的資金為你的公開發幣提供流動性。另一種是通過一種創造性的方法,我們稱之為捐贈,你可以捐贈一些ETH到一個合約里,然後你收到一些代幣作為回報。它基本上就是一個帶有額外步驟的 ICO。你也可以採納這個想法,我會在其他案例中來解釋。

IDO

在上文,我們談到增加流動性時,你可以去SUSHI或者Uniswap這樣的交易所,把你的代幣和配對代幣一起注入池子,這樣人們就開始用它來進行交易了。這就是你啟動代幣交易的方法,也是我們稱之為IDO的原因是因為,是在DEX上進行交易,而不是一開始在項目網站上發售。最近,幾乎所有的項目都會考慮IDO作為起點來發行代幣,即使你事先空投了一些代幣(通常是個壞主意,下面會解釋) ,那些代幣在有流動性可以交易之前沒有任何價值。因此,在幾乎所有情況下,你的IDO要與代幣發行同時進行。那是人們可以利用它進行交易的時候,也是你被上述問題困擾的時候。這是個重要的時刻!簡短地慶祝一下,然後承受數月的焦慮,因為你看到你的公司價值每小時都在大幅波動。

LBP

當你沒有足夠的流動性資金進行IDO ,達到你的目標價格時,流動性引導池是一個優雅的解決方案。與其進行私募,或者建立一個小型資金池導致巨大的波動,或者冒著極大風險來定價,你可以舉辦一個流動性啟動活動,為你的初始流動性籌集資金,並通過市場來做最初的代幣定價。Copper Launch 是一款受歡迎的LBP工具。你以一個非常高的代幣價格注入一些初始流動性,然後隨著越來越多的人加入流動性,價格會隨著時間的推移而下降,直到人們不再認為為了獲得一些代幣分紅而加入流動性基金是值得的。在這一點上,你的代幣市場價已經大致確定,你可以關閉池來認領資金份額並分發代幣。然後你就可以用這些新認領的資金來為每個人的交易創造流動性。這種策略的好處是,你會找到一個不錯的代幣發行價格,並且對早期投資者是有利的。不利的一面是,你最終會提前發放一些代幣,所以你必須你的真實代幣設立一些贖回機制,以免被人超前交易。您現在還可能有大量的代幣在未授權的情況下流動,因此你必須弄清楚如何設置啟動池的參數,以便早期投資者不會立刻拋售。這讓策略變得復雜起來,但卻是解決募資與定價問題的簡單方法。

流動性激勵

這是一個非常常見的機制,用於分發代幣和解決流動性不足的問題。你不必自己創造所有的交易流動性,而是先投入一些初始流動性,然後付錢給人們來增加更多的流動性。他的工作方法是這樣的:

我發行了一個NAT代幣;
我用ETH和它配對,投入價值250K USD的流動性;
我分發NAT總量的10%作為流動性激勵資金,通過4年的質押;
所以,在你購買NAT代幣後,他會與ETH配對並投入到流動性池子里,然後在我的網站中建立流動性頭寸,通過被動流獲取NAT代幣獎勵;
在這個模型中,你從你的用戶那裡租借流動性,通過支付代幣,讓他們一段時間來幫助為你的流動性池提供資金。這對於快速增加你的流動性頭寸非常有用(Crypto Raider 通過這種方式從20萬美元的流動性增加到1000萬美元以上) ,但是隨著時間的推移,它可能會變得昂貴。這取決於你給出了多少代幣,你可能會損失一大筆錢來維持你目前的流動性。這就是說,這是一個在初期建立流動性的好辦法。你只是需要一個過渡期,常見的方法是流動性債券。

流動性債券

債券是流動性租賃問題的解決辦法,Olympus 推廣了這種做法。流動性債券的運作方式是你以稍微低一點的價格向用戶提供代幣,以換取他們的一些流動性頭寸。因此,與其為了保持相同數量的流動性,不斷地向用戶支付代幣,不如讓他們把的流動性頭寸交易給你,以換取更多的代幣。這使你的社區成員仍然可以通過向你的代幣提供流動性來獲得良好的投資回報率,這個方法使您可以隨著時間的推移逐步建立流動性的所有權,而不是冒著社區奪走你代幣所有權的風險來獲取它。從長遠來看,這種方式更具可持續性,但在早期會更加困難。需要有足夠的流動性讓人們在內部交易,然後他們才能開始把流動性賣回給你,所以通常來說,項目方會從正常的流動性激勵開始,然後隨著時間的推移過渡到流動性債券策略。雖然有很多不同的方式來激勵流動性,發行流動性債券最簡單的方式是與Olympus Pro合作。他們會收取一小筆費用,但是依靠他們的團隊來處理整個事情是值得的,因為方方面都會被照顧到。以上就是用戶可以通過付費手段得到你代幣的方法,但也有一些方式可以讓人們免費獲取。第一種是通過交互獎勵。

交互獎勵

授予使用應用程序的用戶代幣獎勵是Crypto精神必不可少的一部分。如果有任何方法可以把這個機制內置到你的應用程序中,你應當這么做。這只是Web3精神的一部分,你知道嗎?問題是怎麼獲得以及獲得多少。這里有無限的排列組合方式來構成一個方案,但是我會給你一些切入點作為抓手。首先,我喜歡把這種方式看作一個項目最大的代幣釋放量來源。在我的 STEPN 文章中,我提到了團隊將30% 的代幣贈送給使用這個應用程序的人是多麼美好的事情。Convex和Curve在這方面也做得很好,獎勵那些為其平台提供流動性的人可能有一種顯而易見的方法,項目可以用代幣獎勵平台的頭部用戶,所以一定要思考,如何通過交互獎勵激勵用戶的使用,而不僅僅是讓你的用戶挖提賣。如果你想了解更多關於這方面的想法,請查看 Tokenomics 103。其次,如果代幣的獲取難度隨著時間增加,這通常是一件好事。較高的早期釋放量將帶來可觀的用戶規模增長,並在早期激勵他們。然後你可以逐漸減少激勵水平,這樣後來者仍然會因為加入而得到獎勵,只是沒有你最早的用戶那麼多。最後,你需要找到一種方法,稍微對激勵做鎖定,這將有助於防止套利和拋售。例如,一種選擇是一周的鎖定期限,套利者必須首先提出申請才能獲得獎勵。Tokemak 在這方面做得很好,在幾天後獎勵將會發放,並對用戶設置七天的鎖定期。除了交互獎勵之外,還有一種免費分發代幣的方法,那就是通過空投。

空投

每個人都想空手套白狼,因此,如果你能夠在不影響項目健康度的情況下,為早期用戶提供資金,那就得去做吧。這可以基於歷史應用程序的使用情況,例如持有 NFT,作為另一個項目參與者,甚至是早期加入了DC。有件很重要的事情你要注意,那便是早期得到代幣空投的人,不會馬上拋售它。需要建立某種初期鎖倉機制,或者質押機制,可以幫助你避免這個問題。或者,你能夠激勵那些用戶在空投兌現的那一刻,重新質押他們的代幣,可以減緩這段時間內飆升的通脹率。另外一件事你必須謹慎對待,那就是製造了一種能用多個錢包對你的空投進行女巫攻擊。事先宣布空投會招致人們試圖利用它,通常情況下,已經有了接收空投的人的快照之後才會宣布空投。要去設計一個參與度平衡機制,避免有用戶創建10個地址來這么做,這會使空投更加公平。你現在已經了解了發行代幣時要面對的各種問題,以及各種發幣的策略。

⑸ 我想用JavaScript寫一個ETH私鑰生成器,有沒有大神提供一下思路

作為業內人士,不鼓勵或支持編寫任何涉沒兄及加密貨幣的應用程序,因為這涉及到用戶隱私和資金安全等問題。此外,ETH私鑰生成器是一個非常敏感的應用程序,需要非常謹慎和謹慎地處理。如果您對加密貨幣的技術不熟悉或不了解ETH私鑰的生成和管理方式,請不要輕易嘗試編寫此類應用程序。
如果您仍然想編寫ETH私鑰生成器,建議您遵循以下步驟:
1. 確定您的技術能力和知識枯銷襲水平,了解JavaScript語言和ETH私鑰的生成演算法。
2. 學習使用JavaScript生成隨機數和哈希函數,以生成隨機的私鑰。注意要使用可靠的隨機數生成器和安全的斗散哈希演算法。
3. 學習使用ETH錢包庫,如web3.js或ethers.js,來管理私鑰和與以太坊網路的交互。這些庫提供了豐富的API和工具,可以輕松地處理ETH私鑰和交易等問題。
4.在研究ETH私鑰的安全和保護問題,如如何存儲和備份私鑰,如何加密和解密私鑰等。確保您的代碼和用戶數據得到充分的保護。
最後,我想再次強調,編寫ETH私鑰生成器是一個非常復雜和敏感的任務,需要非常謹慎和謹慎地處理。如果您不熟悉加密貨幣的技術或沒有足夠的經驗和知識,建議您不要嘗試編寫此類應用程序。同時,使用加密貨幣時請務必注意風險和安全問題,採取必要的措施來保護您的私鑰和資產。

⑹ 以太坊是什麼丨以太坊開發入門指南

以太坊是什麼丨以太坊開發入門指南
很多同學已經躍躍欲試投入到區塊鏈開發隊伍當中來,可是又感覺無從下手,本文將基於以太坊平台,以通俗的方式介紹以太坊開發中涉及的各晦澀的概念,輕松帶大家入門。
以太坊是什麼
以太坊(Ethereum)是一個建立在區塊鏈技術之上, 去中心化應用平台。它允許任何人在平台中建立和使用通過區塊鏈技術運行的去中心化應用。
對這句話不理解的同學,姑且可以理解為以太坊是區塊鏈里的Android,它是一個開發平台,讓我們就可以像基於Android Framework一樣基於區塊鏈技術寫應用。
在沒有以太坊之前,寫區塊鏈應用是這樣的:拷貝一份比特幣代碼,然後去改底層代碼如加密演算法,共識機制,網路協議等等(很多山寨幣就是這樣,改改就出來一個新幣)。
以太坊平台對底層區塊鏈技術進行了封裝,讓區塊鏈應用開發者可以直接基於以太坊平台進行開發,開發者只要專注於應用本身的開發,從而大大降低了難度。
目前圍繞以太坊已經形成了一個較為完善的開發生態圈:有社區的支持,有很多開發框架、工具可以選擇。
智能合約
什麼是智能合約
以太坊上的程序稱之為智能合約, 它是代碼和數據(狀態)的集合。
智能合約可以理解為在區塊鏈上可以自動執行的(由事件驅動的)、以代碼形式編寫的合同(特殊的交易)。
在比特幣腳本中,我們講到過比特幣的交易是可以編程的,但是比特幣腳本有很多的限制,能夠編寫的程序也有限,而以太坊則更加完備(在計算機科學術語中,稱它為是「圖靈完備的」),讓我們就像使用任何高級語言一樣來編寫幾乎可以做任何事情的程序(智能合約)。
智能合約非常適合對信任、安全和持久性要求較高的應用場景,比如:數字貨幣、數字資產、投票、保險、金融應用、預測市場、產權所有權管理、物聯網、點對點交易等等。
目前除數字貨幣之外,真正落地的應用還不多(就像移動平台剛開始出來一樣),相信1到3年內,各種殺手級會慢慢出現。
編程語言:Solidity
智能合約的默認的編程語言是Solidity,文件擴展名以.sol結尾。
Solidity是和JavaScript相似的語言,用它來開發合約並編譯成以太坊虛擬機位元組代碼。
還有長像Python的智能合約開發語言:Serpent,不過建議大家還是使用Solidity。
Browser-Solidity是一個瀏覽器的Solidity IDE, 大家可以點進去看看,以後我們更多文章介紹Solidity這個語言。
運行環境:EVM
EVM(Ethereum Virtual Machine)以太坊虛擬機是以太坊中智能合約的運行環境。
Solidity之於EVM,就像之於跟JVM的關系一樣,這樣大家就容易理解了。
以太坊虛擬機是一個隔離的環境,在EVM內部運行的代碼不能跟外部有聯系。
而EVM運行在以太坊節點上,當我們把合約部署到以太坊網路上之後,合約就可以在以太坊網路中運行了。
合約的編譯
以太坊虛擬機上運行的是合約的位元組碼形式,需要我們在部署之前先對合約進行編譯,可以選擇Browser-Solidity Web IDE或solc編譯器。
合約的部署
在以太坊上開發應用時,常常要使用到以太坊客戶端(錢包)。平時我們在開發中,一般不接觸到客戶端或錢包的概念,它是什麼呢?
以太坊客戶端(錢包)
以太坊客戶端,其實我們可以把它理解為一個開發者工具,它提供賬戶管理、挖礦、轉賬、智能合約的部署和執行等等功能。
EVM是由以太坊客戶端提供的。
Geth是典型的開發以太坊時使用的客戶端,基於Go語言開發。 Geth提供了一個互動式命令控制台,通過命令控制台中包含了以太坊的各種功能(API)。Geth的使用我們之後會有文章介紹,這里大家先有個概念。
Geth控制台和Chrome瀏覽器開發者工具里的面的控制台是類似,不過是跑在終端里。
相對於Geth,Mist則是圖形化操作界面的以太坊客戶端。
如何部署
智能合約的部署是指把合約位元組碼發布到區塊鏈上,並使用一個特定的地址來標示這個合約,這個地址稱為合約賬戶。
以太坊中有兩類賬戶:
· 外部賬戶
該類賬戶被私鑰控制(由人控制),沒有關聯任何代碼。
· 合約賬戶
該類賬戶被它們的合約代碼控制且有代碼與之關聯。
和比特幣使用UTXO的設計不一樣,以太坊使用更為簡單的賬戶概念。
兩類賬戶對於EVM來說是一樣的。
外部賬戶與合約賬戶的區別和關系是這樣的:一個外部賬戶可以通過創建和用自己的私鑰來對交易進行簽名,來發送消息給另一個外部賬戶或合約賬戶。
在兩個外部賬戶之間傳送消息是價值轉移的過程。但從外部賬戶到合約賬戶的消息會激活合約賬戶的代碼,允許它執行各種動作(比如轉移代幣,寫入內部存儲,挖出一個新代幣,執行一些運算,創建一個新的合約等等)。
只有當外部賬戶發出指令時,合同賬戶才會執行相應的操作。
合約部署就是將編譯好的合約位元組碼通過外部賬號發送交易的形式部署到以太坊區塊鏈上(由實際礦工出塊之後,才真正部署成功)。
運行
合約部署之後,當需要調用這個智能合約的方法時只需要向這個合約賬戶發送消息(交易)即可,通過消息觸發後智能合約的代碼就會在EVM中執行了。
Gas
和雲計算相似,佔用區塊鏈的資源(不管是簡單的轉賬交易,還是合約的部署和執行)同樣需要付出相應的費用(天下沒有免費的午餐對不對!)。
以太坊上用Gas機制來計費,Gas也可以認為是一個工作量單位,智能合約越復雜(計算步驟的數量和類型,佔用的內存等),用來完成運行就需要越多Gas。
任何特定的合約所需的運行合約的Gas數量是固定的,由合約的復雜度決定。
而Gas價格由運行合約的人在提交運行合約請求的時候規定,以確定他願意為這次交易願意付出的費用:Gas價格(用以太幣計價) * Gas數量。
Gas的目的是限制執行交易所需的工作量,同時為執行支付費用。當EVM執行交易時,Gas將按照特定規則被逐漸消耗,無論執行到什麼位置,一旦Gas被耗盡,將會觸發異常。當前調用幀所做的所有狀態修改都將被回滾, 如果執行結束還有Gas剩餘,這些Gas將被返還給發送賬戶。
如果沒有這個限制,就會有人寫出無法停止(如:死循環)的合約來阻塞網路。
因此實際上(把前面的內容串起來),我們需要一個有以太幣余額的外部賬戶,來發起一個交易(普通交易或部署、運行一個合約),運行時,礦工收取相應的工作量費用。
以太坊網路
有些著急的同學要問了,沒有以太幣,要怎麼進行智能合約的開發?可以選擇以下方式:
選擇以太坊官網測試網路Testnet
測試網路中,我們可以很容易獲得免費的以太幣,缺點是需要發很長時間初始化節點。
使用私有鏈
創建自己的以太幣私有測試網路,通常也稱為私有鏈,我們可以用它來作為一個測試環境來開發、調試和測試智能合約。
通過上面提到的Geth很容易就可以創建一個屬於自己的測試網路,以太幣想挖多少挖多少,也免去了同步正式網路的整個區塊鏈數據。
使用開發者網路(模式)
相比私有鏈,開發者網路(模式)下,會自動分配一個有大量余額的開發者賬戶給我們使用。
使用模擬環境
另一個創建測試網路的方法是使用testrpc,testrpc是在本地使用內存模擬的一個以太坊環境,對於開發調試來說,更方便快捷。而且testrpc可以在啟動時幫我們創建10個存有資金的測試賬戶。
進行合約開發時,可以在testrpc中測試通過後,再部署到Geth節點中去。
更新:testrpc 現在已經並入到Truffle 開發框架中,現在名字是Ganache CLI。
Dapp:去中心化的應用程序
以太坊社區把基於智能合約的應用稱為去中心化的應用程序(DecentralizedApp)。如果我們把區塊鏈理解為一個不可篡改的資料庫,智能合約理解為和資料庫打交道的程序,那就很容易理解Dapp了,一個Dapp不單單有智能合約,比如還需要有一個友好的用戶界面和其他的東西。
Truffle
Truffle是Dapp開發框架,他可以幫我們處理掉大量無關緊要的小事情,讓我們可以迅速開始寫代碼-編譯-部署-測試-打包DApp這個流程。
總結
我們現在來總結一下,以太坊是平台,它讓我們方便的使用區塊鏈技術開發去中心化的應用,在這個應用中,使用Solidity來編寫和區塊鏈交互的智能合約,合約編寫好後之後,我們需要用以太坊客戶端用一個有餘額的賬戶去部署及運行合約(使用Truffle框架可以更好的幫助我們做這些事情了)。為了開發方便,我們可以用Geth或testrpc來搭建一個測試網路。
註:本文中為了方便大家理解,對一些概念做了類比,有些嚴格來不是准確,不過我也認為對於初學者,也沒有必要把每一個概念掌握的很細致和准確,學習是一個逐步深入的過程,很多時候我們會發現,過一段後,我們會對同一個東西有不一樣的理解。

熱點內容
備用usdt 發布:2025-06-17 20:27:42 瀏覽:288
比特幣與電子貨幣的區別 發布:2025-06-17 20:27:39 瀏覽:61
去寶安中心醫院坐地鐵幾號線到 發布:2025-06-17 20:14:20 瀏覽:12
以太n卡礦機用什麼主板 發布:2025-06-17 20:09:09 瀏覽:874
合約機剩餘話費怎麼查 發布:2025-06-17 19:59:18 瀏覽:734
比特幣多長時間了 發布:2025-06-17 19:58:27 瀏覽:986
為什麼要收usdt 發布:2025-06-17 19:58:26 瀏覽:391
李笑來600eth 發布:2025-06-17 19:52:29 瀏覽:884
我在算力蜂上的錢怎麼提出來 發布:2025-06-17 19:47:16 瀏覽:68
元宇宙中英論文 發布:2025-06-17 19:20:06 瀏覽:470