区块链以太坊以及hyperledger总结

https://learnblockchain.cn/

1.什么是智能合约?它有什么特点?

就是具有交互能力而且能够在区块链中传递的合约

一个由计算机代码控制的以太币账户

特点: 公开透明、能即时与区块链代币结合、去中心化而且生命力顽强(即时公司倒闭, 产品依然可以在链上运行)

编译部署智能合约到真实的区块链网络:

1) 编译(compile)用到了solc, 通过solidity编译器与javascript的绑定,转换为utf-8可读格式, 导出去即可随时调用

2) 生成web3, 拿到metamask里面的provider, 也就是用户的provider, 让用户使用用户掏钱, 导出web3

3) 部署(deploy)首先导入web3, 取到compile里的interface以及bytecode, 在npm库里下载一个HDwalletProvider钱包, 默认有5个账户, 把自己的metamask账户(也就是助记词)也部署进来, 然后部署一个infura(以太坊和区块链开发的总线系统), 使用infura就可以不用自己建节点, 接下来就是钱包账户的相互转账操作, 打印出来的地址可以到etherscan上查得到

2.以太币和比特币的区别?

以太坊相对于比特币出块时间是不一样的, 以太坊是15-30s, 比特币是10min左右,

以太坊没有采用比特币的utxo的模型,而是采用账户模型,效率本事就高一些. 另外以太坊采用了叔区块和默克树等方式优化了 出块的效率

3.说说Solidity编程语言的特点?和Javascript、Python有什么区别?

solidity是强类型编程语言, javascript和python是弱类型编程语言, 它运行在Ethereum虚拟机(EVM)之上

Solidity是以太坊的首选语言,语法接近于Javascript,是一种面向对象的语言,这降低了学习门槛,易于被掌握和使用,因为JavaScript是Web开发者的常用语言。因此,Solidity充分利用了现有数以百万程序员已掌握JavaScript这一现状。

solidity基本数据类型: 

类型 说明 示例
string 字符串 "hello solidity"
bool 布尔 true / false
int 整型 300 , 0 , -200
uint 非负整数 30
fixed/unfixed 小数 3.14 / -3.14
address 地址 0xD53a291C6807eebCA371a3aF9Cb40Bb7556B7DC4

4.以太坊虚拟机EVM以及JVM有什么差别?

虚拟机都是跨平台的

以太坊实现了一个叫Ethereum Virtual Machine(EVM)的运行时环境,类似JVM,它的主要工作是执行智能合约的字节码,EVM“位于区块链之上”,而JVM主要是执行目标代码(字节码),内存回收机制也不一样

5.docker的原理? 

https://blog.csdn.net/yc199505/article/details/72366982

docker相当于一个集装箱, 用container容器装好各种需求的东西, 当要使用这些东西的时候, 只需要通过container拿到里面的镜像即可, 所以也可以称他为虚拟机, 只要拉下来一个集装箱, 就可以运行集装箱里面的东西了

6.讲一下默克树以及二叉树?

默克尔树就是一个hash树, 可能是二叉的 也可以是多叉的, 默克树的基本原理就是将叶子节点两两配对做哈希运算  所以都是偶数

个. 如果碰到奇数个就 复制一个成偶数个, 默克树的作用 就是不需要拿到全部区块 找到部分区块 就可以验证数据是否正确.

http://www.blockchainbrother.com/article/466  go语言版的默克树

7.区块链是怎么加密的, 说一下它的加密步骤?

https://www.cnblogs.com/bruceshao/p/8535324.html   

8.gas每次交易会不会发生变化?

gas(油)如果在做智能合约的时候值固定的话是不会发生变化的, 而没有固定的话会根据用户所给的gas量进行挖矿, 如果量多那么矿工会优先挖gas多的交易

9.发行比特币类山寨币的流程?

https://baijiahao.baidu.com/s?id=1591255057902365263&wfr=spider&for=pc  

10.公钥地址怎么生成的?

https://www.walian.cn/zixun/news/113.html    - -

http://bjiebtc.com/miyao-shengcheng-qkl/    私钥生成的详细方法

11.交互以太坊网络用过什么协议?

rpc(Remote Procedure Call), 远程进程调用的协议, 可查看metamask测试网络下一栏的端口, rpc端口也是8545, rpc使得开发包括网络分布式应用更加的容易.

不论什么时候只要多个路径产生了,一个”分叉“就会出现。我们通常都想避免分叉,因为它们会破坏系统,强制人们去选择哪条链是他们相信的链。 为了确定哪个路径才是最有效的以及防止多条链的产生,以太坊使用了一个叫做“GHOST协议(GHOST protocol.)”的数学机制。 简单来说,GHOST协议就是让我们必须选择一个在其上完成计算最多的路径。区块号越大,路径就会越长,就说明越多的挖矿算力被消耗在此路径上以达到叶子区块。使用这种推理就可以允许我们赞同当前状态的权威版本。

13.base64和base58是什么,解释一下?

https://xz.aliyun.com/t/2255

14.什么是mocha、solc、ganache、truffle?

在使用这些测试框架的时候, 必须要安装好node的环境  http://nodejs.cn/

mocha: javascript的一套框架;

solc: 用来编译智能合约的 , 是一套测试框架;

ganache: 一套测试网络, 测试的时候不需要花费一分钱, 网络上已经把钱都准备好了, 执行起来效率也是特别高, 它相当于是testrpc的升级版, 是本地使用的, 不过是用来写做测试的, 部署到真实测试环境需要的还是rinkeby

truffle: 快速进行以太坊开发的工具集, 以太坊开发的瑞士军刀 https://truffleframework.com/  智能合约的甜蜜工具, 它可以编译、连接、部署智能合约, 管理智能合约的二进制代码, 可以测试智能合约里付钱的操作, 可以直接和智能合约进行交互, 增加我们的开发速度, 

15.为什么要用DAPP, 它的好处?

收益高, 门槛低, 符合国情, 发展前景非常大, 工具也很全面, 可以做类似于以太猫的游戏...案例: 整个以太坊上只有这一只猫, 赶快来买, 只此一只

16.信息互联网和价值互联网?

信息互联网: 一个人讲笑话, 一堆人听笑话, 当那个人讲完笑话后, 那堆人也知道了这个笑话, 是属于复制的方式进行流动

价值互联网: 我兜里有一百块, 然后现在都给你了, 我就没钱了, 而你有100块,这就是价值互联网, 属于转移的方式进行流动

17.什么是以太坊?

1) 以太坊是一个区块链的网络, 由很多节点组成

2) 以太坊可以转账,可以做数据存储

3) 以太坊网络有很多个, 主网只有一个. 还有很多测试网络, 我们也可以自己搭建私链

4) 以太坊和比特币一样 有很多的node节点组成

5) 一个node节点其实就是一个运行以太坊客户端的计算机

6) 以太坊还是公有链, 每个

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值