前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >关于智能合约DAPP系统开发方案流程详情

关于智能合约DAPP系统开发方案流程详情

原创
作者头像
开发v_syn520110
发布2022-11-03 14:13:16
3900
发布2022-11-03 14:13:16
举报
文章被收录于专栏:MMMKA

搭建私网并启动Geth 相关概念:

  • 主网:以太坊真是节点运行的网络,节点遍布全球,此网络中使用的ETH是真实的虚拟数字货币,部署合约时需要消耗真金白银。
  • 测试网:测试网的节点没有主网节点那么多,主要是为以太坊开发者提供一个测试的平台环境,此网络上的ETH可以通过做任务获得。
  • 私网:私网是由开发者自行组建的网络,不与主网及测试网连通,独立存在,仅用于个人测试或企业项目使用。

第一步:配置创世块文件

创建genesis.json文件:

代码语言:javascript
复制
{

"config":{

"chainId": 18,
"homesteadBlock": 0,
"eip150Block": 0,
"eip155Block": 0,
"eip158Block": 0
},
"alloc": {
},
"coinbase":"0x0000000000000000000000000000000000000000",
"difficulty":"0x2",
"extraData":"",
"gasLimit":"0xffffffff",
"nonce":"0x0000000000000042",
"mixhash":"0x0000000000000000000000000000000000000000000000000000000000000000",
"parentHash":"0x0000000000000000000000000000000000000000000000000000000000000000",
"timestamp": "0x00"
}
  • coinbase:挖矿后获得奖励的账户地址
  • difficulty:挖矿难度
  • gasLimit:一个区块所能容纳gas的上限,智能合约指令在执行时需要消耗gas,,可通过以太币自动兑换
  • nonce:随机值
  • mixhash:一个256位的hash证明,与nonce相结合,验证本块的有效性
  • extraData:附加信息,随意填写
  • parentHash:前一块的hash值,创世块的parentHash值为0

第二步:数据初始化

初始化指令

代码语言:javascript
复制
geth init genesis.json --datadir ./data
  • init:初始化关键字
  • datadir:指定数据存储位置

第三步:启动Geth节点

代码语言:javascript
复制
# 添加环境变量(若已添加环境变量,可跳过此步)
export PATH=$HOME/geth-home:$PATH
echo `export PATH=$HOME/geth-home:$PATH` >> ~/.bashrc
# 启动Geth节点
geth --datadir ./data --networkid 18 --port 30303 --rpc --rpcport 8545 --rpcapi 'db,net,eth,web3,personal' --rpcaddr 192.168.19.129 --rpccorsdomain '*' --gasprice 0 --allow-insecure-unlock console 2> 1.log
  • datadir:指定之前第二步初始化的数据目录文件
  • networkid:配置成与第一步genesis.json配置文件config内的chainId相同值,代表加入哪个网络,私网随意编号即可
  • port:P2P端口,即:节点之间互相通信的端口
  • http:开启远程调用服务
  • rpcport:远程服务端口,默认值为8545
  • rpcapi:远程服务提供的远程调用函数集
  • rpcaddr:默认值为localhost,只允许本机连接;如果需要允许其他机器连接的话,这里要指定当前机器的ip
  • rpccorsdomain:指定可以接收请求来源的域名列表(浏览器访问,必须开启)
  • gasprice:gas的单价
  • allow-insecure-unlock:允许在Geth命令窗口解锁账户
  • console:进入控制台
  • 2 > 1.log:UNIX系统下的重定向,将Geth产生的日志输出都重定向到1.log中,以免刷日志影响操作

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 搭建私网并启动Geth 相关概念:
    • 第一步:配置创世块文件
      • 第二步:数据初始化
        • 第三步:启动Geth节点
        相关产品与服务
        区块链
        云链聚未来,协同无边界。腾讯云区块链作为中国领先的区块链服务平台和技术提供商,致力于构建技术、数据、价值、产业互联互通的区块链基础设施,引领区块链底层技术及行业应用创新,助力传统产业转型升级,推动实体经济与数字经济深度融合。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档