木星链 木星链
Ctrl+D收藏木星链

ECO:火币科普系列:兼容以太坊开发环境 开发者如何参与Heco开发?

作者:

时间: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"

香港证监会会见加密货币交易所Gemini联合创始人:金色财经报道,据Bitcoin Magazine在社交媒体披露,香港证券及期货事务监察委员会已会见了加密货币交易所Gemini两位联合创始人Tyler Winklevoss和Cameron Winklevoss,与他们讨论了对比特币和加密货币的监管方法。[2023/6/24 21:56:33]

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

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

富达全球宏观总监:比特币是一种理想的强力通胀对冲工具:金色财经报道,富达全球宏观总监表示,比特币是一种理想的强力通胀对冲工具。[2023/5/13 15:00:26]

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

链上互动

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

奢侈手表经销商WatchBox两年内有1000万美元线上交易来自加密货币结账:金色财经报道,奢侈手表经销商 WatchBox 首席运营官 David Kaplan 表示,我不是加密货币交易员,我不想让加密货币出现在我的资产负债表上,但向客户提供加密货币作为支付选项是值得的。在过去两年中,WatchBox 的在线销售额中有 1000 万美元来自加密货币交易结账,不过这只是 WatchBox 过去两年约 5 亿美元总销售额中的一小部分。[2023/4/25 14:26:09]

开发包

使用诸如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')

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()

Web3孵化器和做市商iBLOXX完成500万美元融资:2月23日消息,Web3 孵化器和做市商 iBLOXX 宣布完成 500 万美元融资,PrimeXM 领投,这笔资金将用于扩大公司的游戏开发部门 iBLOXX Studios,该笔投资使其游戏部门的投后估值达到 3000 万美元。

iBLOXX 的游戏部门 BLOXX Studios 专注于使用虚幻引擎和 Unity 构建区块链游戏,开发 GameFi 经济健康和监控解决方案,以及创建与交易相关的区块链应用程序。[2023/2/23 12:25:48]

????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按钮

通过钱包将合约部署到区块链。

1.在MetaMask中设置网络信息:

2.回到Remix。

开关环境

选择合约

单击部署按钮

通过MetaMask即可将合约部署上链了

Agya Ventures完成3200万美元新基金募资:8月16日消息,风险投资公司Agya Ventures宣布旗下新基金Fund I完成 3200 万美元募资,拟探索元宇宙虚拟地产投资。该基金有限合伙人包括多家日本地产企业,包括三菱地所株式会社、东京不动产株式会社、大林组株式会社、森益株式会社、以及日立解决方案有限公司。(雅虎财经)[2022/8/16 12:29:23]

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请求数据

来源:金色财经

标签:ECOWEBCONWEB3ecoin币怎么充值superwebusinessconflux币总量web3游戏项目价值排名

芝麻开门交易所下载热门资讯
COI:子易论币:腊月二十九比特币行情分析日内以震荡为主

  腊月二十九,春节即将到来,比特币在年前的一波强势拉升再次打开上方多头空间,币价与38000单边上行不断突破新高,到达48126一线,整整一万点的涨幅.

1900/1/1 0:00:00
比特币:祝大家牛年发大财

大家好,我是认知变现,我喜欢区块链精神:去中心化、时间戳、不可篡改。以下文章仅为个人观点,仅针对现货操作,据此投资,后果自负.

1900/1/1 0:00:00
比特币:对话CME董事总经理:推出以太坊期货的背后原因是什么?

芝加哥商品交易所在2月8日推出以太坊期货合约,首日交易量超过3300万美元。在2017年,当CME首次推出比特币期货合约时,比特币的价格在该合约产品推出后一路暴跌进入了漫长的熊市,以太坊是否会步.

1900/1/1 0:00:00
ETH:金色DeFi日报 | DeFi真实锁仓量首次突破$400亿

DeFi数据1.DeFi总市值:768.93亿美元市值前十币种涨跌幅,金色财经制图,数据来源Coingecko2.过去24小时去中心化交易所的交易量:28.4亿美元交易量排名前十的DEX数据来源.

1900/1/1 0:00:00
OLY:以太晚间行情低多为主

??以太早间插针刺破中轨支撑,触底1748一线反弹,持续震荡上升,突破前期高点,插针突破上轨压制,遇压1825一线回调,随后短线下挫回吐部分涨幅,触底二次反弹重回1800上方,从走势来看.

1900/1/1 0:00:00
CAL:“大姨夫”YFI价格破新高 推手或是灰度?

GrayscaleInvestments已经为潜在的YearnFinance信托注册了有限责任公司,这表明资产管理公司开始把DeFi代币纳入考虑范围.

1900/1/1 0:00:00