Spring Boot區塊鏈應用開發入門-微課視頻版

Spring Boot區塊鏈應用開發入門-微課視頻版

作者: 吳勝
出版社: 清華大學
出版在: 2020-07-01
ISBN-13: 9787302552574
ISBN-10: 7302552576




內容描述


本書先介紹區塊鏈基礎知識和Spring Boot區塊鏈應用開發基礎知識,再介紹區塊鏈應用的基礎開發、P2P實現、消息機制的實現、數據庫開發、共識算法的實現、工作流和多語言開發;然後,介紹Java語言版的區塊鏈庫、API、框架的應用。最後,結合一個簡單案例演示了Spring Boot區塊鏈應用開發的過程。
本書由淺入深結合示例介紹各個知識點;並以區塊鏈應用開發技術所處的層次由低到高、Spring Boot開發的由易到難和開發步驟的先後次序來組織章節內容;還配備了示例的操作視頻;可以幫助讀者更好地理解、掌握Spring Boot區塊鏈應用開發。


目錄大綱


目錄
第1章區塊鏈基礎

1.1區塊鏈簡介

1.1.1區塊鏈的含義

1.1.2區塊鏈的特點

1.1.3區塊鏈的分類

1.2區塊鏈的發展

1.2.1區塊鏈的發展簡史

1.2.2區塊鏈的發展階段

1.3區塊鏈的應用領域

1.3.1信息數據領域

1.3.2金融與數字資產領域

1.3.3供應鏈領域

1.3.4政務領域

1.4區塊鏈應用開發的相關技術

1.4.1技術模型

1.4.2支持環境

1.4.3信任機制

1.4.4智能合約

1.4.5應用系統

1.4.6區塊鏈技術的多樣性

1.5比特幣錢包的安裝與使用

1.5.1Electrum錢包的功能

1.5.2網頁版Coin.Space錢包的功能

習題1

第2章Spring Boot開發基礎

2.1Spring Boot基礎

2.1.1Spring Boot簡介

2.1.2Spring Boot的主要特點

2.2配置Spring Boot開發環境

2.2.1安裝和配置JDK

2.2.2安裝IDEA

2.3創建項目與項目基本情況

2.3.1利用IDEA創建項目

2.3.2項目的基本構成

2.4Spring Boot開發起步

2.4.1軟件生命周期

2.4.2Spring Boot開發步驟

2.5helloworld項目的實現

2.5.1添加依賴

2.5.2創建類Block

2.5.3創建類SecurityUtils

2.5.4創建類HelloController

2.5.5運行程序

習題2

第3章區塊鏈應用的基礎開發

3.1模擬兩個錢包之間的交互

3.1.1創建項目並添加依賴

3.1.2創建接口MainService

3.1.3創建類MainServiceImpl

3.1.4創建類MainController

3.1.5修改配置文件application.properties

3.1.6運行程序

3.2模擬挖礦

3.2.1添加依賴

3.2.2創建類Block

3.2.3創建類MineService

3.2.4創建類MineController

3.2.5運行程序

3.3模擬創建錢包和利用錢包進行交易

3.3.1添加依賴

3.3.2創建類StringUtil

3.3.3創建類ContractService

3.3.4創建類ErcController

3.3.5運行程序

3.4Merkle樹的實現

3.4.1創建類Stakeholder

3.4.2創建類ProofEntry

3.4.3創建類Node

3.4.4創建類FtsResult

3.4.5創建類FtsService

3.4.6創建類FtsController

3.4.7運行程序

3.5Gossip協議的模擬實現

3.5.1創建項目並添加依賴

3.5.2創建類Node

3.5.3創建類StaticSeedFinder

3.5.4創建類SeedFinderChain

3.5.5創建類GossipConnector

3.5.6創建類GossipController

3.5.7運行程序

3.6模擬IOTA的應用

3.6.1創建項目並添加依賴

3.6.2創建類IotaController

3.6.3運行程序

3.7用線程模擬區塊鏈的示例

3.7.1創建項目並添加依賴

3.7.2創建類Block

3.7.3創建類StringUtil

3.7.4創建類MineThread

3.7.5創建類OutWaitThread

3.7.6創建類MineController

3.7.7創建類BlockController

3.7.8創建類BlockchainController

3.7.9運行程序

習題3

第4章區塊鏈應用的P2P實現

4.1基於JavaWebSocket實現P2P網絡

4.1.1創建項目並添加依賴

4.1.2創建類P2PUtil

4.1.3創建類P2Pserver

4.1.4創建類P2Pclient

4.1.5運行程序

4.2基於WebSocket實現P2P頁面互連

4.2.1添加依賴

4.2.2創建類WalletSendMessage

4.2.3創建類WebSocketConfig

4.2.4創建類WalletController

4.2.5創建文件index.html

4.2.6運行程序

4.3基於tio實現P2P網絡

4.3.1添加依賴

4.3.2創建類ServerPacket

4.3.3創建類MServerAioHandler

4.3.4創建類MServerAioListener

4.3.5創建類MClientAioHandler

4.3.6創建類MClientAioListener

4.3.7創建類TIOServer

4.3.8創建類TIOClient

4.3.9創建類TIOController

4.3.10運行程序

4.4基於ZooKeeper實現P2P服務

4.4.1服務提供者模塊provider的實現

4.4.2消費者模塊consumer的實現

4.4.3運行程序

4.5基於Web Service和CXF實現P2P服務

4.5.1服務器端模塊serverofws的實現

4.5.2客戶端模塊clientofws的實現

4.5.3運行程序

4.6同一服務器向多個頁面發送區塊鏈信息的示例

4.6.1創建項目並添加依賴

4.6.2創建類Block

4.6.3創建類SocketIOConfig

4.6.4創建類Service

4.6.5創建類ServerRunner

4.6.6創建類MsgEventHandler

4.6.7創建類ClientController

4.6.8創建類StringUtil

4.6.9創建類LoggerUtil

4.6.10創建文件index.html、login.html和welcome.html

4.6.11修改配置文件application.properties

4.6.12運行程序

習題4

第5章區塊鏈應用中消息機制的實現

5.1ActiveMQ的應用

5.1.1創建項目並添加依賴

5.1.2創建類Sender

5.1.3創建類Receiver

5.1.4創建類RsUtil

5.1.5創建類ActiveMQController

5.1.6運行程序

5.2RabbitMQ的應用

5.2.1創建項目並添加依賴

5.2.2創建類Runner

5.2.3創建類Receiver

5.2.4修改入口類

5.2.5運行程序

5.3Spring Cloud Stream和RabbitMQ的應用

5.3.1創建項目並添加依賴

5.3.2創建接口Sink

5.3.3創建類SinkReceiver

5.3.4創建配置文件application.yml

5.3.5運行程序

5.4基於ActiveMQ傳遞區塊鏈消息的示例

5.4.1創建項目並添加依賴

5.4.2創建類Block

5.4.3創建類MQSendService

5.4.4創建類MQReceiveService

5.4.5創建類StringUtil

5.4.6創建類SendInfoController

5.4.7修改配置文件application.properties

5.4.8運行程序

習題5

第6章區塊鏈應用中數據庫開發

6.1MySQL的應用

6.1.1創建項目並添加依賴

6.1.2創建類Pair

6.1.3創建接口PairService

6.1.4創建類PairServiceImpl

6.1.5創建接口PairRepository

6.1.6創建類PairController

6.1.7修改配置文件application.properties

6.1.8運行程序

6.2CouchDB的應用

6.2.1創建項目並添加依賴

6.2.2創建類CouchDBConfiguration

6.2.3創建類Note

6.2.4創建類NotFoundException

6.2.5創建類NotePersistenceHandler

6.2.6創建類NoteDTO

6.2.7創建類NoteService

6.2.8創建類NotesController

6.2.9修改配置文件application.properties

6.2.10修改入口類

6.2.11運行程序

6.3MongoDB的應用

6.3.1創建項目並添加依賴

6.3.2創建類Block

6.3.3創建接口BlockRepository

6.3.4創建類SHA256

6.3.5創建類PrimaryController

6.3.6修改配置文件application.properties

6.3.7運行程序

6.4用以太坊區塊鏈進行數據審核的示例

6.4.1創建項目並添加依賴

6.4.2創建類User

6.4.3創建類Property

6.4.4創建類Feedback

6.4.5創建類ContractDetails

6.4.6創建接口Repository

6.4.7創建接口UserRepository

6.4.8創建接口PropertyRepository

6.4.9創建接口FeedbackRepository

6.4.10創建接口EthereumContractRepository

6.4.11創建類AbstractService

6.4.12創建類UserService

6.4.13創建類PropertyService

6.4.14創建類FeedbackService

6.4.15創建類EthereumService

6.4.16創建類ControllerLoggingAspect

6.4.17創建類Sha256Hex

6.4.18創建類HashArray

6.4.19創建類ApplicationConfig

6.4.20創建類UserController

6.4.21創建類PropertyController

6.4.22創建類FeedbackController

6.4.23創建類EthereumController

6.4.24修改配置文件application.properties

6.4.25運行程序

習題6

第7章區塊鏈應用中共識算法的實現

7.1PoW算法的實現

7.1.1創建項目並添加依賴

7.1.2創建類BeanInjector

7.1.3創建類BlockChain

7.1.4創建類RegisterRequest

7.1.5創建類Transaction

7.1.6創建類FastJsonUtil

7.1.7創建類SHAUtils

7.1.8創建類SwaggerConfig

7.1.9創建類BlockChainController

7.1.10修改配置文件application.properties

7.1.11創建文件index.html

7.1.12運行程序

7.2PBFT算法的實現

7.2.1創建項目並添加依賴

7.2.2創建類PbftMsg

7.2.3創建類Pbft

7.2.4創建類PoAUtil

7.2.5創建類TimerManager

7.2.6創建類PbftController

7.2.7運行程序

7.3Raft算法的實現

7.3.1創建項目並添加依賴

7.3.2創建類Follower

7.3.3創建類Candidate

7.3.4創建類Leader

7.3.5創建類ClusterMsg

7.3.6創建類MsgUtil

7.3.7創建類RaftController

7.3.8修改配置文件application.properties

7.3.9運行程序

7.4基於PoW的區塊鏈應用示例

7.4.1創建項目並添加依賴

7.4.2創建類BaseEntity

7.4.3創建類Block

7.4.4創建類Blockchain

7.4.5創建類Member

7.4.6創建類MemberGroup

7.4.7創建接口MemberRepository

7.4.8創建接口MemberGroupRepository

7.4.9創建接口BlockchainRepository

7.4.10創建類MemberService

7.4.11創建類MemberGroupService

7.4.12創建類BlockchainService

7.4.13創建類ByteUtils

7.4.14創建類ProofOfWork

7.4.15創建類PowResult 

7.4.16創建類MemberandGroupController

7.4.17創建配置文件application.yml

7.4.18運行程序

習題7

第8章工作流、多語言和智能合約的應用

8.1Activiti的應用

8.1.1創建項目並添加依賴

8.1.2創建類Applicant

8.1.3創建接口ApplicantRepository

8.1.4創建類ResumeService

8.1.5創建類HireProcessRestController

8.1.6修改配置文件application.properties

8.1.7修改入口類

8.1.8修改測試類

8.1.9運行程序

8.2Spring Cloud Sidecar的多語言應用

8.2.1創建項目並添加依賴

8.2.2修改配置文件application.properties

8.2.3修改入口類

8.2.4創建文件nodeservice.js

8.2.5Spring Cloud Eureka註冊中心的實現

8.2.6運行程序

8.3智能合約的模擬實現

8.3.1創建項目並添加依賴

8.3.2創建類AccountNew

8.3.3創建接口AccountRepository

8.3.4創建類SmartContractStub

8.3.5創建接口ISmartContract

8.3.6創建類SCController

8.3.7修改配置文件application.properties

8.3.8運行程序

8.4基於Activiti的區塊鏈應用示例

8.4.1創建項目並添加依賴

8.4.2創建類Person

8.4.3創建類Comp

8.4.4創建類Block

8.4.5創建類Blockchain

8.4.6創建類TaskRepresentation

8.4.7創建接口PersonRepository

8.4.8創建接口CompRepository

8.4.9創建接口BlockchainRepository

8.4.10創建類ActiveService

8.4.11創建類JoinService

8.4.12創建類MyRestController

8.4.13創建文件join.bpmn20.xml

8.4.14修改配置文件application.properties

8.4.15修改入口類

8.4.16運行程序

習題8

第9章區塊鏈庫、API和框架的應用

9.1bitcoinj的應用

9.1.1bitcoinj簡介

9.1.2創建項目並添加依賴

9.1.3創建類BitcoinJController

9.1.4運行程序

9.2fabricsdkjava的應用

9.2.1fabricsdkjava簡介

9.2.2添加依賴

9.2.3創建類HyperledgerController

9.2.4創建配置文件config.properties

9.2.5運行程序

9.3ethcontractapi的應用

9.3.1添加依賴

9.3.2創建類EthcontractapiController

9.3.3運行程序

9.4exonumjavabinding的應用

9.4.1添加依賴

9.4.2創建類ExonumController

9.4.3運行程序

9.5web3j的應用

9.5.1web3j簡介

9.5.2添加依賴

9.5.3創建類Web3jController

9.5.4運行程序

9.6WavesJ的應用

9.6.1添加依賴

9.6.2創建類WavesJController

9.6.3運行程序

9.7基於web3j錢包業務功能的示例

9.7.1創建項目並添加依賴

9.7.2創建類 BlockchainTransaction

9.7.3創建接口BTxRepository

9.7.4創建類BlockchainService

9.7.5創建類 BlockchainController

9.7.6創建文件index.html

9.7.7修改配置文件application.properties

9.7.8運行程序

習題9

第10章基於區塊鏈的簡易系統開發

10.1基於區塊鏈的簡易聊天室開發

10.1.1操作界面

10.1.2項目的主要文件構成

10.1.3創建項目並添加依賴

10.1.4創建類Block

10.1.5創建類Agent

10.1.6創建類AgentServerThread

10.1.7創建類AgentManager

10.1.8創建類Message

10.1.9創建類ChatController

10.1.10創建文件index.html

10.1.11創建文件display.js

10.1.12創建文件restClient.js

10.1.13創建文件main.css

10.1.14運行程序

10.2基於區塊鏈的簡易證書系統開發

10.2.1創建項目並添加依賴

10.2.2創建類Block

10.2.3創建類Certificate

10.2.4創建接口CertificateRepository

10.2.5創建類CertificateService

10.2.6創建類ByteUtils

10.2.7創建類ProofOfWork

10.2.8創建類PowResult

10.2.9創建類SearchCertificateController

10.2.10創建文件add_certificate.html

10.2.11創建文件searchcer.html

10.2.12修改配置文件application.properties

10.2.13運行程序

10.3基於區塊鏈的簡易投票系統開發

10.3.1創建項目並添加依賴

10.3.2創建類ElectionBlock

10.3.3創建類Elections

10.3.4創建類Voters

10.3.5創建類Votes

10.3.6創建類Candidates

10.3.7創建實體類訪問數據庫接口

10.3.8創建類HomeController

10.3.9創建類CreatElectionController

10.3.10創建類VoteController

10.3.11創建文件index.html

10.3.12創建文件add_election.html

10.3.13創建文件add_voters.html

10.3.14創建文件add_vote.html

10.3.15創建文件add_candidates.html

10.3.16創建文件view_votes.html

10.3.17修改配置文件application.properties

10.3.18運行程序

習題10

附錄AElectrum錢包的安裝和配置

附錄B網頁版Coin.Space錢包的創建

附錄CJDK的安裝和配置

附錄DIDEA創建Maven多模塊項目

附錄EZooKeeper的安裝和配置

附錄FActiveMQ的下載與啟動

附錄GRabbitMQ的安裝與配置

附錄HCouchDB的安裝與配置

參考文獻




相關書籍

Practical Entity Framework: Database Access for Enterprise Applications

作者 Gorman Brian L.

2020-07-01

Java虛擬機規範(Java SE8版)/Java核心技術系列

作者 Tim Lindholm Frank Yellin Gilad Br

2020-07-01

精通Visual C#(第4版)

作者 托尼·加迪斯 黃剛 等

2020-07-01