用Springboot+web3j完成去中心化的以太坊区块链应用(附带实战案例)

本文介绍了如何使用Springboot、web3j和Solidity进行去中心化的以太坊区块链应用开发。从基础准备如设置IDEA、Geth和Remix,到核心开发阶段的智能合约设计、本地区块链启动,再到Java程序的实现,包括部署和加载智能合约、注册账户等关键步骤。文章提供了详细的实战案例链接,供读者深入学习。
摘要由CSDN通过智能技术生成

Springboot+web3j完成去中心化的区块链应用

去中心化的开发流程

简单分析下本人的小小开发经历,当初自己学习的时候翻看很多资料也一头雾水,白花了很多力气,这里进行简要总结,希望为大家带来帮助。

基础准备

前期准备如下:

  1. IDEA ,你的后台编辑器;
  2. Geth ,你的以太坊区块链本地客户端;
  3. 不需要数据库,因为数据可以存储在区块链之上,当然你可以加上。
  4. 在线编辑器remix,用来使用solidity语言编写智能合约。
    http://remix.hubwiz.com
  5. 下载安装web3j命令行。用来把.sol转为.java

核心开发

区块链

  1. 用solidity语言设计你的智能合约,数据结构用struct存储于以太坊区块链上,调试运行在remix的虚拟机上。

  2. 在本地geth客户端上创建创世区块。
    首先配置私有区块链网络的初始状态。新建一个文件 genesis.json
    {
    “config”: {
    “chainId”: 22,
    “homesteadBlock”: 0,
    “eip150Block”: 0,
    “eip155Block”: 0,
    “eip158Block”: 0,
    “byzantiumBlock”: 0,
    “constantinopleBlock”: 0,
    “petersburgBlock”: 0,
    “ethash”: {}
    },
    “difficulty”: “1”,
    “gasLimit”: “0xffffffff”,
    “alloc”: {}
    }
    其中需要修改的配置
    •chainId 指定了独立的区块链网络 ID,不同 ID 网络的节点无法互相连接;
    •ethash 使用ethash共识算法;
    •difficulty 初始挖掘难度,难度越大越难挖到区块;
    •gasLimit 用于限制单个块中可以进行多少EVM计算,这里值得一提,那就是我配置的最大,因为我的智能合约功能很复杂花费的gas很多。
    •alloc 这将确定您在创世纪块中列出的地址有多少以太币可用&#x

  • 3
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 32
    评论
评论 32
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值