区块链在GitHub上线
A. 如何从github上抓取分支到本地
多人协作时,大家都会往master分支上推送各自的修改。现在我们可以模拟另外一个同事,可以在另一台电脑上(注意要把SSH key添加到github上)或者同一台电脑上另外一个目录克隆
http://blog.csdn.net/u010255818/article/details/50748649
B. 如何从github上clone
1、下载安装git
https://git-scm.com/downloads
2、在某个文件夹点击右键,进入bash命令界面,输入git clone 项目地址,然后就等待clone吧
C. 如何在github上加入Organizations
登陆到https://github.com平台上注册一个自己的账号,这个过程就不演示了
然后在左上部分输入一个开源项目的名字,选择的是jvalidator,回车搜索。
在搜索结果页面找到如下如图所示的项目,单击项目名称。
进入到了rinh/jvalidator的项目主页了,单击右上角的fork按钮,就把这个项目拉到你的账户下了,你就可以加入到这个项目中了
页面已经跳转到你的账户下的jvalidator项目里了,单击右下方的复制按钮,将这个地址就复制下来了,稍后有用
你需要安装一个git的客户端工具,到这个页面下载此工具,选择一个最新的版本,下载到你的电脑里,安装它。
下载源码即加入了该组织
D. 如何在github上发布一个开源项目
有三种参与形式: 贡献代码,协作流程总是:Fork->创建分支->修改->发Pull Request 贡献文档,补充、翻译文档 报告用户体验,实际使用项目后,发issue,报告bug,提交feature请求。 了解更多开源相关,去LUPA社区看看吧
E. 如何将代码push到github上的branch上
1、在github有个项目
2、查看该项目,右边中间部位有类似:[email protected]:Zjmainstay/test.git的链接,
使用git客户端执行命令:
git clone [email protected]:Zjmainstay/test.git
可以得到一个git仓库
注:git clone的使用需要将本地ssh的公钥(id_rsa.pub)放到github上,
https://github.com/settings/ssh
ssh公钥生成命令:
ssh-keygen -t rsa -C "some comment"
3、基于当前项目创建一个分支,作为新开发内容:
git co -b dev-test
做了开发修改之后,使用命令:
git add *
git ci -m "最新修改内容的描述"
git push origin dev-test:dev/dev-test
推送到远端
4、使用Pull Request请求合并内容到test分支
F. 区块链中的公链是什么
公链也称“公有链”,即指全世界任何人都可以随时进入到系统中读取数据、发送可确认交易、竞争记账的区块链。公有链通常被认为是“完全去中心化”的,因为没有任何个人或者机构可以控制或篡改其中数据的读写。而从应用上说,区块链公有链则主要包括比特币、以太坊、超级账本、大多数山寨币以及智能合约,其中区块链公有链的始祖则为比特币区块链,具有以下特点:
1、代码开源
代码上传到github,每个人都可以通过下载得到完整的区块链数据,接受大众的考验。
2、完全去中心化
任何人都可以成为一个节点,每一个节点都是公开的,每个人都可以参与区块链的计算,任何节点都不是永久的,而是阶段性的,任何中心对节点都不具有强制性。任何人都可读取的、且能发送交易,而且交易能够在区块链上得到有效的确认,任何人都可参与其中共识过程。共识过程决定某个区块可以添加到区块链中,以及确切的当前状态。每个人都可以从中得到经济奖励,和在共识过程中所作的贡献成正比。这些公有链通常被认为是“完全意义上的去中心化”。
3、开发去中心化应用
程序开发者通过此公链,可以很方便地开发出去中心化应用。公有链可以保护用户权益免受程序开发者的影响。
G. 如何在github上加入Organizations
以提交的一次开源代码为例,教会你步入开源的世界。
1,首先登陆到平台上注册一个自己的账号,这个过程就不演示了
2,然后在左上部分输入一个开源项目的名字,选择的是jvalidator,回车搜索。
3,在搜索结果页面找到如下如图所示的项目,单击项目名称。
4,此时,你已经进入到了rinh/jvalidator的项目主页了,单击右上角的fork按钮,就把这个项目拉到你的账户下了,你就可以加入到这个项目中了
5,此时,页面已经跳转到你的账户下的jvalidator项目里了,单击右下方的复制按钮,将这个地址就复制下来了,稍后有用
6,此时,你需要安装一个git的客户端工具,当然这就很多了,我们演示就用它了,到这个页面下载此工具,选择一个最新的版本吧,下载到你的电脑里,然后安装它。
H. github是区块链技术吗
它一个开源平台,好多区块链项目的源代码会在上面上传。
I. git和区块链的区别
一、相似性
分布式
Git 确保每个代码仓库在本地保留完整的项目库,而不仅仅是自己在工作的这个分支和自己的提交历史。同时也保留了最近这次 pull 下来后的所有快照和索引信息。
区块链上,每个节点在本地保存完整数据库,而不仅仅是自己的交易信息。
可追溯性
Git commit 链上,每个 commit 对象都包含父级对象(上一次 commit 的对象,除了第一个 commit ),对之前的记录全部可追溯。
区块链上,每个区块都包含前一个区块的索引(除了创世区块),可以追溯之前所有有效交易。
不可篡改
Git 的 commit 链中,每个对象本身在存储前都计算校验和,然后以校验和来引用。一旦修改,校验和就会不对, 这意味着不可能在 Git 不知情时更改任何文件内容或目录内容。
Git 用以计算校验和的机制叫做 SHA-1 散列( hash,哈希)。 这是一个由 40 个十六进制字符( 0-9 和 a-f )组成字符串,基于 Git 中文件的内容或目录结构计算出来。SHA-1 哈希看起来是这样:区块链中,每个区块包含上个区块 ID,本区块 ID 两个 SHA-256 散列,这两个散列都是基于区块内容计算出来。一旦修改内容,则散列将变化,和其他节点的链不一致,最终不能加入到最长链中,因此无法真正篡改内容。
二、差异性
集体共识和中央节点意志: 1 - 区块链是基于集体共识( POW/POS)来 merge,形成最长链,最长链即为主链。
2 - 而 Git 体系里,通过仓库托管平台来进行多节点合作时,是平台项目的管理者掌握了 merge 的权力,体现的是中央节点的意志。
密码学
1 - 比特币区块链中,密码学主要用到了以下方式
在比特币区块链的整个体系中,大量使用了公开的加密算法,如 Merkle Tree 哈希数算法,椭圆曲线算法、哈希算法、对称加密算法及一些编码算法。各种算法在比特币区块链中的作用如下:
a)哈希算法
比特币系统中使用的两个哈希函数分别是:1.SHA-256,主要用于完成 PoW (工作量证明)计算; 2.RIPEMD160,主要用于生成比特币地址。
b)Merkle 哈希树
基于哈希值的二叉树或多叉树,在计算机领域,Merkle 树大多用来进行完整性验证处理,在分布式环境下,其进行完整性验证能大量减少数据传输和计算的复杂程度。
c)椭圆曲线算法
比特币中使用基于 secp256k1 椭圆曲线数学的公钥密码学算法进行签名与验证签名,一方面可以保证用户的账户不被冒名顶替,另一方面保证用户不能否认其所签名的交易。用私钥对交易信息签名,矿工用用户的公钥验证签名,验证通过,则交易信息记账,完成交易。
d)对称加密算法
比特币官方客户端使用 AES (对称分组密码算法)加密钱包文件,用户设置密码后,采用用户设置饿密码通过 AES 对钱包私钥进行加密,确保客户端私钥的安全。
e)Base58 编码
Base58 是比特币使用的一种独特的编码方式,主要用于产生比特币的钱包地址,其类似于古典密码学里的置换算法机制,目的是为里增加可读性,把二进制的哈希值变成了我们看到的地址“ ”。
2 - Git:主要用了 SSH 秘钥来进行远程登录验证,用了 SHA-1 来进行代码内容校验和。
SSH 是 Secure Shell 的缩写,由 IETF 的网络工作小组( Network Working Group )所制定,是一种专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。
SSH 传输的过程如下: (1)远程主机收到用户的登录请求,把自己的公钥发给用户。 (2)用户使用这个公钥,将登录密码加密后,发送回来。 (3)远程主机用自己的私钥,解密登录密码,如果密码正确,允许用户登录。