比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > FTT > Info

火幣科普系列:兼容以太坊開發環境 開發者如何參與Heco開發?_ION

Author:

Time:1900/1/1 0:00:00

火幣生態鏈火幣生態鏈是一個去中心化高效節能公鏈,也是火幣開放平臺推出的首個產品,在支撐高性能交易的基礎上,實現智能合約的兼容。Heco的原生數字資產為HT,采用HPoS共識機制。

Heco也是以太坊友好的開發平臺,兼容以太坊開發環境和工具,有以太坊智能合約開發經驗的開發者可以輕松上手。

為幫助開發者更好地使用Heco進行開發,本文將Heco的開發流程大致闡述。

首先要完成源碼下載,通過git下載源碼。

gitclonehttps://github.com/HuobiGroup/huobi-eco-chain.git

在拿到源碼后,需要把源代碼轉換成機器可以識別的二進制語言,組合成為一個系統可以執行的可執行文件,即完成編譯過程。編譯支持Go語言。區塊鏈開發較為復雜,而Go語言具有更好的便捷性,對開發者更為友好。

編譯:

cd/path/to/hecochain

makegeth

如果希望進行跨平臺編譯,某些在Mac上編譯Linux平臺的二進制文件,可以使用makegeth-linux相關命令操作。編譯完成后,生成的二進制文件在build/bin目錄下。

運行:

通過./build/bin/geth--help查看所有的option選項,根據情況自行設置相關配置參數。

網絡接入

程序啟動替換接入mainnet,如需接入公共測試網,可添加option?--testnet。

部署:引入系統管理配置

鏈節點

·?config.toml

SyncMode="fast"

DiscoveryURLs=

TrieCleanCacheRejournal=300000000000

GasFloor=8000000

GasCeil=8000000

GasPrice=0

Recommit=3000000000

Noverify=false

CacheDir="ethash"

CachesInMem=2

CachesOnDisk=3

CachesLockMmap=false

DatasetDir="/data/heco/data/.ethash"

數據:Polygon zkEVM交易筆數突破100萬筆:6月16日消息,Polygon創始人Sandeep Nailwal發推稱,Polygon zkEVM交易筆數已突破100萬筆。另據L2Beat數據顯示,當前Polygon zkEVM鎖倉量達到3456萬美元,創下新高。[2023/6/16 21:41:42]

DatasetsInMem=1

DatasetsOnDisk=2

DatasetsLockMmap=false

PowMode=0

Locals=

NoLocals=false

Journal="transactions.rlp"

Rejournal=3600000000000

PriceLimit=1

PriceBump=10

AccountSlots=16

GlobalSlots=4096

AccountQueue=64

GlobalQueue=1024

Lifetime=10800000000000

DataDir="/data/heco/data"

InsecureUnlockAllowed=true

NoUSB=true

IPCPath="geth.ipc"

HTTPHost="0.0.0.0"

HTTPPort=8545

HTTPCors=

HTTPVirtualHosts=

HTTPModules=

WSHost="0.0.0.0"

WSPort=8546

WSModules=

GraphQLVirtualHosts=

MaxPeers=50

NoDiscovery=false

ListenAddr=":32668"

EnableMsgEvents=false

ReadTimeout=30000000000

WriteTimeout=30000000000

IdleTimeout=120000000000

在配置中使用快速同步,如果需要完全同步,請刪除此行:

火必將首發上線ARB,今日20時將開放其充幣業務:據火必官方公告,火必將首發上線ARB并全面支持Arbitrum生態發展,于今日20時 (GMT+8)開放其充幣業務。公告顯示,其幣幣交易及提幣業務開放時間待定,具體以官方公告為準。

據此前消息,Arbitrum于3 月16 日晚宣布為Arbitrum One和Arbitrum Nova網絡推出DAO治理和治理代幣ARB,并將于3 月23 日空投給社群成員。此次空投代幣數量將占總供應量的11.6%。

據悉,Arbitrum是以太坊的一種Layer2擴展解決方案,由Offchain Labs創建。[2023/3/17 13:10:25]

SyncMode="fast"

啟動bash

·?config.toml

#!/usr/bin/envbash

/data/heco/geth-linux-amd64

--config/data/heco/config.toml?

--logpath/data/heco/logs

--verbosity3?>>/data/heco/logs/systemd_chain_console.out2>&1

如果需要將其用作存檔節點,請添加:

--syncmodefull

--gcmodearchive

因此:

#!/usr/bin/envbash

/data/heco/geth-linux-amd64

--config/data/heco/config.toml?

--logpath/data/heco/logs

--syncmodefull

--gcmodearchive

--verbosity3?>>/data/heco/logs/systemd_chain_console.out2>&1

系統配置

Description=huobismartchainservice

Type=simple

ExecStart=/bin/sh/data/heco/run.sh

Restart=on-failure

RestartSec=5s

LimitNOFILE=65536

Degis將為Avalanche BTC橋和Layer Zero BTC.b橋提供保護:2月10日消息,Avalanche生態保險協議Degis將于2月14日通過Protocol Protection為BTC橋和Layer Zero的BTC.b橋提供選擇性保險,允許更多的BTC用戶和機構在Avalanche和其他鏈上使用BTC.b,通過提供額外的安全性從DeFi可組合性中受益。

Protocol Protection是Degis保護產品,采用保護池和優先池雙重保護設計為各種鏈上風險提供保護。[2023/2/10 11:58:45]

鏈上互動

Heco與以太坊的生態系統兼容,支持所有以太坊的RPCAPI和DK

RPC

RPC方法列表

例如:

?curl-s-H'content-type:application/json'-d'{"jsonrpc":"2.0","method":"web3_clientVersion","params":,"id":67}'http://localhost:8545

開發包

使用諸如web3j、web3js等以太坊SDK庫進行開發。

獲取鏈上信息

constWeb3=require('web3')

asyncfunctiongetChainId(){

????constweb3=newWeb3('https://http-mainnet.hecochain.com')

????letchainId=awaitweb3.eth.getChainId()

????console.log(`chainid:${chainId}`)

????returnchainId

}

生成帳戶

constWeb3Accounts=require('web3-eth-accounts')

letaccount=newWeb3Accounts().create()

//donotdothisonprdenv

console.log(`accountgenerated.address:${account.address},privatekey:${account.privateKey}`)

生成事務

constWeb3=require('web3')

數據:4000萬枚XRP從未知錢包轉移到Bitso:金色財經報道,WhaleAlert監測數據顯示,40,000,000 枚XRP(13,677,157美元)從未知錢包轉移到Bitso。[2022/12/23 22:02:27]

asyncfunctiontransfer(fromAccount,to,value){

????constweb3=newWeb3('https://http-mainnet.hecochain.com')

????letchainId=awaitweb3.eth.getChainId()

????letnonce=awaitweb3.eth.getTransactionCount(fromAccount.address)

????letgasPrice=awaitweb3.eth.getGasPrice()

????letunsigned={

????????from:fromAccount.address,

????????to,

????????value:web3.utils.numberToHex(web3.utils.toWei(value,'ether')),

????????gasPrice,

????????nonce,

????????chainId,

????}

????unsigned.gas=awaitweb3.eth.estimateGas(unsigned)

????letsigned=awaitfromAccount.signTransaction(unsigned)

????returnsigned

}

合約

Heco使用EVM執行合約。

Remix

RemixIDE是一個開源的web和桌面應用程序。它促進了一個快速的開發周期,并且有一組具有直觀gui的豐富插件。Remix用于合約開發的整個過程,同時也是學習和教授合約開發的小天地。

在文件資源管理器中創建新文件。在右側編輯合約信息。

編譯合約

1.點擊編譯器按鈕,切換界面

2.選擇要編譯的合約

3.設置編譯標志

4.Clieckcompile按鈕

大宗經紀平臺FlowVault集成基金管理應用程序Seamless Digital:9月14日消息,加密貨幣服務公司Floating Point Group宣布,大宗經紀平臺FlowVault與數字資產基金管理公司Formidium的產品集成。客戶可以在Formidium的Seamless Digital應用程序中自動查看和報告FlowVault交易和結算活動。(PRNewswire)[2022/9/15 6:56:51]

通過錢包將合約部署到區塊鏈。

1.在MetaMask中設置網絡信息:

2.回到Remix。

開關環境

選擇合約

單擊部署按鈕

通過MetaMask即可將合約部署上鏈了

Truffle

·?使用truffle編譯和部署契約。

·?

·?安裝節點。

·?安裝truffle

npminstall-gtruffle

truffleversion安裝完成后運行。如果命令行顯示如下消息,則說明安裝成功。

Trufflev5.1.36(core:5.1.36)

Solidityv0.5.16(solc-js)

Nodev10.22.1

Web3.jsv1.2.1

·?創建項目

首先,為項目創建文件夾。

mkdirExample

cdExample

然后,通過truffle初始化項目

truffleinit

初始化完成后,將在項目中生成以下文件結構。

|--contracts????????//folderforcontracts

|--migrations???????//folderfordeploymentscripts

|--test?????????????//folderfortestscripts

|--truffle-config.js//truffleconfigfile

·?配置truffle信息

constHDWalletProvider=require(',

????mainnet:{

??????provider:()=>newHDWalletProvider(mnemonic,'https://http-mainnet.hecochain.com'),

??????network_id:128

????}

??},

??//Setdefaultmochaoptionshere,usespecialreportersetc.

??mocha:{

????//timeout:100000

??},

??//Configureyourcompilers

??compilers:{

????solc:{

??????//version:"0.5.1",???//Fetchexactversionfromsolc-bin(default:truffle'sversion)

??????//docker:true,???????//Use"0.5.1"you'veinstalledlocallywithdocker(default:false)

??????//settings:{?????????//SeethesoliditydocsforadviceaboutoptimizationandevmVersion

??????//?optimizer:{

??????//???enabled:false,

??????//???runs:200

??????//?},

??????//?evmVersion:"byzantium"

??????//}

????},

??},

};

·?C創建合同將自定義合同放入文件夾中,contracts并修改文件夾中的部署腳本migrations。

·?部署合約

trufflemigrate--networktestnet

輸出如下.

2_example_migration.js

======================

???Deploying'ExampleToken'

???------------------------

???>transactionhash:???0x91e50594a63bc6f4c299f3f445868571678be306b835bddce6dff5c7a5ddf9dc

???>Blocks:2???????????Seconds:4

???>contractaddress:???0x54D2049715FC8De1361D7350de90eb05F0f6CA84

???>blocknumber:???????375304

???>blocktimestamp:????1608016637

???>account:????????????0x03D32B774295D740ffEe43b20fcC0a53acC576e6

???>balance:????????????878.909609236165318643

???>gasused:???????????1056044(0x101d2c)

???>gasprice:??????????20gwei

???>valuesent:?????????0ETH

???>totalcost:?????????0.02112088ETH

???>Savingmigrationtochain.

???>Savingartifacts

???-------------------------------------

???>Totalcost:?????????0.02112088ETH

Summary

=======

>Totaldeployments:??1

>Finalcost:?????????0.02112088ETH

最后,合約部署完成。

GraphNode

GraphNode是一種使用GraphQL在以太坊和IPFS上快速構建分布式應用程序的協議。

下一個操作僅作為簡單的設置教程供參考。

設置圖節點

為了方便起見,我們將官方dockercompose用于節點,數據庫和IPFS部署。

請注意,其中的ethereum字段的值將docker-compose.yml替換為HECO的節點連接信息。

graph-node:

????image:graphprotocol/graph-node

????ports:

??????-'8000:8000'

??????-'8001:8001'

??????-'8020:8020'

??????-'8030:8030'

??????-'8040:8040'

????depends_on:

??????-ipfs

??????-postgres

????environment:

??????postgres_host:postgres

??????postgres_user:graph-node

??????postgres_pass:let-me-in

??????postgres_db:graph-node

??????ipfs:'ipfs:5001'

??????ethereum:'mainnet:http://127.0.0.1:8545'?#replacedwithhecorpcinfo

??????RUST_LOG:info

注意:連接到graph-node的節點必須處于archive模式,我們建議每個用戶都構建自己的RPC節點。

創建子圖

每個用戶根據自己的情況編寫,以下內容可用作參考:

部署子圖

將編寫的子圖打包并構建到wasm文件中,然后部署到graphnode。可以在上面的示例項目代碼中找到特定的命令。

GraphQL的用法

一旦部署,就可以使用GraphQL請求數據

來源:金色財經

Tags:ECOCONAINIONHashNet BitEcoConscious Value NetworkOrbit ChainGodzillion

FTT
Alpha Homora V2新功能一覽_ALPHA

自2月1日AlphaHomoraV2上線以來,我們一直在收集用戶和社區成員的反饋。今天,我們在AlphaHomoraV2的用戶界面上加入了新的功能:礦工/流動性提供者現在可以通過借入更多的資產來.

1900/1/1 0:00:00
郭廣盈:2.11黃金最新行情解讀附亞盤操作策略,多空如何把握?_BIN

2月11日10點,話不多說,我們來看一下亞盤午間操作布局!經過3天行情的不斷驗證,現行波浪結構基本傾向于筆者給出的結構!2.10黃金亞盤1837開盤,隨后暴跌至1833附近反彈入震蕩.

1900/1/1 0:00:00
山前幣有路:2.13 BTC行情分析及操作建議 主流幣沉淀中 山寨幣乘勢沖擊_IFT

?2.13BTC行情分析:大餅晚間多頭再次發力,目前震蕩蓄力,小周期來看布林帶張口向上運行,幣價二連陽上行,KDJ多頭向上運行,MACD空頭趨勢明顯減量,白盤路哥建議可以順勢低位多單操作一波.

1900/1/1 0:00:00
玩幣少帥:比特幣等主流橫盤謹防回補缺口,除夕愿您來年有心愿,舊愿皆已償_THE

消息面: 2月11日消息,全球支付巨頭萬事達卡計劃在今年晚些時候為商家提供加密貨幣支付選項。該功能將使萬事達卡客戶的數字貨幣付款以加密方式在參與交易的商戶中結算,這將是該公司首次實現這一功能.

1900/1/1 0:00:00
重磅!MasterCard宣布今年將為商家提供加密貨幣支付_加密貨幣

要點: 全球支付巨頭萬事達卡宣布今年將允許客戶使用加密貨幣對商家進行付款,而無需以法幣結算。MasterCard明確表明有興趣整合穩定幣,而不是像比特幣這樣的資產.

1900/1/1 0:00:00
蔣福財:2.10黃金為何暴漲、午夜黃金行情最新操作建議_BAY

     黃金從盤面上看,4小時級別,K線小實體震蕩整理,布林線拐頭向上運行,所以,整體走勢偏多頭.

1900/1/1 0:00:00
ads