A. 鍖哄潡閾惧彲鍒嗕负鍝涓夌被
鍖哄潡閾句富瑕佸垎涓轰笁绫伙細鍏鏈夐摼銆佺佹湁閾惧拰鑱旂洘閾俱
1. 鍏鏈夐摼锛圥ublic Blockchains锛夛細鍏鏈夐摼鏄鏈鏃╁嚭鐜扮殑鍖哄潡閾剧被鍨嬶紝瀹冨畬鍏ㄥ幓涓蹇冨寲锛屼笉鍙椾换浣曟満鏋勬帶鍒躲備换浣曚汉閮藉彲浠ヨ嚜鐢卞姞鍏ュ叕鏈夐摼锛屽弬涓庡叡璇嗚繃绋嬨佹煡鐪嬮摼涓婃暟鎹銆佸彂閫佷氦鏄撶瓑銆傚叕鏈夐摼涓鐨勬暟鎹瀵规墍鏈夊弬涓庤呭叕寮閫忔槑锛岄摼涓婅勫垯涔熺敱绀惧尯鍏卞悓缁存姢鍜屽崌绾с傛瘮鐗瑰竵鍜屼互澶鍧婃槸鐩鍓嶆渶鐭ュ悕鐨勫叕鏈夐摼锛屽畠浠鍒嗗埆閲囩敤浜嗗伐浣滈噺璇佹槑锛圥OW锛夊拰鏉冪泭璇佹槑锛圥OS锛変綔涓哄叡璇嗘満鍒躲傚叕鏈夐摼涓昏佽В鍐崇殑鏄淇′换闂棰橈紝閫氳繃鍔犲瘑鎶鏈鍜屽幓涓蹇冨寲鏈哄埗锛屼娇寰楅摼涓婃暟鎹涓嶅彲绡℃敼鍜屼吉閫狅紝浠庤屽缓绔嬩簡鏃犻渶淇′换鐨勪俊浠绘満鍣ㄣ
2. 绉佹湁閾撅紙Private Blockchains锛夛細绉佹湁閾句笌鍏鏈夐摼鐩稿弽锛屽畠鏄瀹屽叏涓蹇冨寲鐨勶紝閫氬父鐢辨煇涓缁勭粐鎴栨満鏋勬帶鍒躲傜佹湁閾剧殑鍙備笌鑰呴渶瑕佽幏寰楄稿彲鎵嶈兘鍔犲叆锛岄摼涓婃暟鎹鐨勬煡鐪嬪拰淇鏀逛篃鍙楀埌闄愬埗銆傜佹湁閾剧殑涓昏佺洰鐨勬槸鎻愰珮缁勭粐鍐呴儴鐨勬暟鎹瀹夊叏鎬у拰鏁堢巼锛岄氳繃鍖哄潡閾炬妧鏈瀹炵幇鏁版嵁鐨勪笉鍙绡℃敼鍜屽彲杩芥函銆備緥濡傦紝鏌愪簺閲戣瀺鏈烘瀯鍙鑳戒細浣跨敤绉佹湁閾炬潵璁板綍鍐呴儴浜ゆ槗鍜屽¤′俊鎭銆
3. 鑱旂洘閾撅紙Consortium Blockchains锛夛細鑱旂洘閾句粙浜庡叕鏈夐摼鍜岀佹湁閾句箣闂达紝瀹冩槸涓绉嶅崐鍘讳腑蹇冨寲鐨勫尯鍧楅摼绫诲瀷銆傝仈鐩熼摼鐢卞氫釜缁勭粐鎴栨満鏋勫叡鍚岀淮鎶わ紝鍙備笌鑰呴渶瑕佽幏寰楄稿彲鎵嶈兘鍔犲叆銆備笌鍏鏈夐摼鐩告瘮锛岃仈鐩熼摼鐨勬暟鎹璁块棶鍜屼慨鏀规潈闄愬彈鍒伴檺鍒讹紝浣嗙浉瀵逛簬绉佹湁閾捐岃█锛屽畠鍙堟洿鍔犲紑鏀惧拰鍘讳腑蹇冨寲銆傝仈鐩熼摼涓昏侀傜敤浜庡氫釜缁勭粐涔嬮棿鐨勫崗浣滃拰淇′换寤虹珛锛屼緥濡備緵搴旈摼閲戣瀺銆佽法澧冩敮浠樼瓑鍦烘櫙銆俁3 CEV鐨凜orda骞冲彴灏辨槸涓涓鍏稿瀷鐨勮仈鐩熼摼锛屽畠鍏佽稿氫釜閲戣瀺鏈烘瀯鍦ㄥ垎甯冨紡缃戠粶涓鍏变韩鏁版嵁鍜屾祦绋嬨
缁间笂鎵杩帮紝鍖哄潡閾剧殑涓夌被鍒嗗埆閫傜敤浜庝笉鍚岀殑鍦烘櫙鍜岄渶姹傦紝鍏鏈夐摼涓昏佽В鍐充俊浠婚棶棰橈紝绉佹湁閾炬彁楂樼粍缁囧唴閮ㄦ暟鎹瀹夊叏鎬э紝鑱旂洘閾惧垯閫傜敤浜庡氫釜缁勭粐闂寸殑鍗忎綔銆
B. 区块链,如何破解中小企业融资难困局
近年来,企业欠薪、老板跑路已经成为了大家在新闻上习以为常的家常便饭,“江南皮革厂”的段子也是时不时出没在社交媒体上,这些已经不新的“新闻”反复地提醒着大家,多年来企业融资的老难题已经成为长期悬而未决的“新”困境,所有人都在想有没有什么可以破题的办法,伴随着金融科技的发展,也许区块链正在给这个老问题提出新思路?
经济视角观天下 微信公众号【江瀚视野观察】ID:jianghanview
C. 以太坊多节点私有链部署
假设两台电脑A和B
要求:
1、两台电脑要在一个网络中,能ping通
2、两个节点使用相同的创世区块文件
3、禁用ipc;同时使用参数--nodiscover
4、networkid要相同,端口号可以不同
1.4 搭建私有链
1.4.1 创建目录和genesis.json文件
创建私有链根目录./testnet
创建数据存储目录./testnet/data0
创建创世区块配置文件./testnet/genesis.json
1.4.2 初始化操作
cd ./eth_test
geth --datadir data0 init genesis.json
1.4.3 启动私有节点
1.4.4 创建账号
personal.newAccount()
1.4.5 查看账号
eth.accounts
1.4.6 查看账号余额
eth.getBalance(eth.accounts[0])
1.4.7 启动&停止挖矿
启动挖矿:
miner.start(1)
其中 start 的参数表示挖矿使用的线程数。第一次启动挖矿会先生成挖矿所需的 DAG 文件,这个过程有点慢,等进度达到 100% 后,就会开始挖矿,此时屏幕会被挖矿信息刷屏。
停止挖矿,在 console 中输入:
miner.stop()
挖到一个区块会奖励5个以太币,挖矿所得的奖励会进入矿工的账户,这个账户叫做 coinbase,默认情况下 coinbase 是本地账户中的第一个账户,可以通过 miner.setEtherbase() 将其他账户设置成 coinbase。
1.4.8 转账
目前,账户 0 已经挖到了 3 个块的奖励,账户 1 的余额还是0:
我们要从账户 0 向账户 1 转账,所以要先解锁账户 0,才能发起交易:
发送交易,账户 0 -> 账户 1:
需要输入密码 123456
此时如果没有挖矿,用 txpool.status 命令可以看到本地交易池中有一个待确认的交易,可以使用 eth.getBlock("pending", true).transactions 查看当前待确认交易。
使用 miner.start() 命令开始挖矿:
miner.start(1);admin.sleepBlocks(1);miner.stop();
新区块挖出后,挖矿结束,查看账户 1 的余额,已经收到了账户 0 的以太币:
web3.fromWei(eth.getBalance(eth.accounts[1]),'ether')
用同样的genesis.json初始化操作
cd ./eth_test
geth --datadir data1 init genesis.json
启动私有节点一,修改 rpcport 和port
可以通过 admin.addPeer() 方法连接到其他节点,两个节点要要指定相同的 chainID。
假设有两个节点:节点一和节点二,chainID 都是 1024,通过下面的步骤就可以从节点二连接到节点一。
首先要知道节点一的 enode 信息,在节点一的 JavaScript console 中执行下面的命令查看 enode 信息:
admin.nodeInfo.enode
" enode://@[::]:30303 "
然后在节点二的 JavaScript console 中执行 admin.addPeer(),就可以连接到节点一:
addPeer() 的参数就是节点一的 enode 信息,注意要把 enode 中的 [::] 替换成节点一的 IP 地址。连接成功后,节点一就会开始同步节点二的区块,同步完成后,任意一个节点开始挖矿,另一个节点会自动同步区块,向任意一个节点发送交易,另一个节点也会收到该笔交易。
通过 admin.peers 可以查看连接到的其他节点信息,通过 net.peerCount 可以查看已连接到的节点数量。
除了上面的方法,也可以在启动节点的时候指定 --bootnodes 选项连接到其他节点。 bootnode 是一个轻量级的引导节点,方便联盟链的搭建 下一节讲 通过 bootnode 自动找到节点
参考: https://cloud.tencent.com/developer/article/1332424
D. 公有链、联盟链、私有链是什么意思
公有链是指全世界任何人都可读取、发送交易且交易能获得有效确认的、也可以参与其中共识过程的区块链。
联盟链,只针对某个特定群体的成员和有限的第三方,其内部指定多个预选节点为记账人,每个块的生成由所有的预选节点共同决定。
私有链指的是对单独的个人或实体开放。
希望对你有帮助,望采纳。
E. 选择以太坊客户端
有很多以太坊客户端供我们选择。我们推荐在开发和部署时使用不同的客户端。
我们推荐 Ganache ,它是一个运行在你个人电脑上的私有连客户端。它是 truffle 套种中的一部分,
Ganache 将智能合约和交易放在前台并且中心化,从而简化了dapp的开发。使用 Ganache 你可以
快速查看你们的应用是如何影响区块链的,并且对账户,余额,智能合约创建以及燃料消费进行自省。
Ganache 运行在 http://127.0.0.1:7545 。默认会创建是个账户,重启后账户依然不会变,
当然也可以手动随机账户,你也可以用你自己的账户。
我们同样也推荐使用 truffle develop ,它是 truffle 内置的开发链工具。不需要任何的额外安装,
你要使用它只需要一条命令行即可:
Truffle Develop 运行在 http://127.0.0.1:9545 上。
当你的开发机没有图形界面时就无法直接使用 Ganache ,而 Ganache CLI 就提供了没有图形界面系统的能力。
有很多官方和非官网的以太坊客户端你可以选择。以下是部分: