Font Size: a A A

Design And Implementation Of Code Version Control System Based On Blockchain

Posted on:2024-01-23Degree:MasterType:Thesis
Country:ChinaCandidate:S L WuFull Text:PDF
GTID:2568307136995559Subject:Software engineering
Abstract/Summary:PDF Full Text Request
As an indispensable key technology in modern software development,version control plays a crucial role in the entire lifecycle of software project collaborative development.At present,version control tools are mainly divided into centralized and distributed ones.The centralized version control tools have the risk of single point of failure and single entity tampering with files.The distributed version control tools also have the problem of developers’ trust in service providers,such as Github’s ban on some Russian developers in April 2022.Therefore,designing and implementing a decentralized version control tool has become an urgent problem to be solved.There is a certain similarity between blockchain and version control systems in terms of historical traceability.This thesis utilizes the decentralized nature of blockchain systems and flexible consensus mechanisms to introduce blockchain technology into the process of code version management.And the process of implementing version control based on blockchain was deeply explored,and a storage model combining on chain and off chain was proposed.Based on this,the data organization structure and consensus mechanism of blocks were redesigned to adapt to version control application scenarios.In addition,this thesis uses smart contract technology to implement the core function of code version control and enable multi role access control.The main research content of the paper is as follows:(1)A hybrid on chain and off chain storage model combining interstellar file system and blockchain has been proposed,which stores project source files and version information separately.At the same time,the storage structure and content of the Merkel tree in the blockchain have been adjusted to adapt to version control application scenarios,thereby expanding the storage bottleneck of blockchain and achieving the goal of reducing storage pressure in the blockchain system.(2)An improved DPo S consensus algorithm based on node importance and activity is proposed,which combines the importance,activity,and performance of participating nodes to select the block out committee for each round.As the highest authority in this round of block allocation,the committee exercises block allocation power in the order of calculated node weights,and optimizes the issue of DPo S consensus algorithm secondary centralization based on specific election dimensions.Experiments have shown that improving the DPo S consensus algorithm has certain advantages in terms of transaction throughput,transaction latency,and other aspects.(3)With the help of smart contract technology,the application prototype implementation of code version management process has been completed.Specifically,it includes main functions such as version update,version submission,and version backtracking,achieving widespread participation of multi role users.In addition,combining Java Spring and Vue technology,a software project collaboration community has been established,achieving project knowledge sharing functionality.
Keywords/Search Tags:version control, blockchain, IPFS, smart contract
PDF Full Text Request
Related items