请选择 进入手机版 | 继续访问电脑版
高级搜索 关闭
本帖最后由 一碗机智的糖浆 于 2018-9-17 13:46 编辑

DAPP开发
    一.部署和测试开发工具
        1.安装web3.js
            web3.js:通过RPC调用和本地的ETH节点进行通信的js库,可以和任何暴漏了RPC接口的ETH节点进行连接。也就是让我们开发的DApp可以通过web3.js访问我们自身的ETH节点,调用ETH的功能
            01.在终端,进入MyToken的根目录。输入指令
               
  1. npm install ethereum/web3.js -save
复制代码

            02.遇到我们的一个错误:没有安装Git
               
            03.git安装教程:
                https://blog.csdn.net/qq_35246620/article/details/68951724
            04.关闭之前的终端,重新打开终端窗口,再次输入指令
               
  1. npm install ethereum/web3.js -save
复制代码

               
            05.如果你和我一样,恭喜你进入下一步:这里之所以长时间没有安装好是因为代理问题!解决代理的问题要下载淘宝镜像,安装淘宝镜像
               
  1. npm config set registry https://registry.npm.taobao.org
复制代码
            06.在进行安装
  1. npm install ethereum/web3.js -save
复制代码
            07.如果还是长时间无法安装,直接拷贝老师的工程!拷贝时只粘贴老师的src和node_modules文件夹!千万不覆盖掉你的bulid文件!!!                                                                                            



2.修改老师SeaCoin.js页面的代码
            
            01.在SeaCoin.js页面继续下拉,继续修改
            
            02.替换成我们自己的智能合约地址
            





3.使用web3
            01.
另外一个终端启动私链(在privatechain目录下!)
               
  1. geth --identity "newETH" --rpc --rpcaddr "0.0.0.0" --rpccorsdomain "*" --datadir data0 --port 30303 --rpcapi "personal,db,eth,net,web3" --networkid 999 --rpcport 8080 console
复制代码

            02.回到最开始myToken路径的终端,输入:
               
  1. node
复制代码

            03.在输入输入指令
               
  1. Web3=require('web3')
复制代码

           


            04.连接服务器,输入指令:
            
  1. web3=new Web3(new Web3.providers.HttpProvider("http://localhost:8080"))
复制代码

            ETH私链是我们的本地的电脑,连接localhost:8080本地端口
           
        05.调用ETH私链的方法
           
  1. web3.eth.accounts
复制代码

           
            这次的调用和之前的区别:
                之前:在geth客户端下
                现在:在node第三方平台下,通过node的web.js去调用
        上述整个过程确保了我们可以使用web3.js。访问我们本地的私链,调用我们的智能合约。这也是我们DApp的核心。代币的交易信息和数据都放在ETH上,并不是集中管理在某个服务器,所以我们开发的应用被称为:DApp,去中心化的应用程序(我们任何一笔交易都需要挖矿确认上链,保障了交易信息的安全性!DApp)






二.DApp源码分析
        1.引入的网页脚本,包含web3的脚本和我们自己建的SeaCoin代码的脚本
            
        2.网页显示的内容
            
        3.transfer方法分析
            
        4.transfer参数:
            
        5.SeaCoin.js链接ETH私链的源码
            
        6.智能合约初始化方法
            





三.启动DApp
        1.再打开一个终端,在MyToken目录下,输入指令进入钱包的网页
            
           
  1. npm run dev
复制代码

        2.这时就可以转账了!记得转账后要挖矿,整个DApp的开发就结束了!
概念
DApp
    DApp(Decentralized Application):去中心化应用程序,运行在去中心化的网络。网络中没有中心的化的节点控制DApp。
    底层的运行环境是区块链(类比IOS,android的操作系统)。
    应用一旦部署完毕,便不可修改,升级必须由大部分用户达成共识后才可以升级。(哪DApp的设计者每次的升级都需要用意见,怎么保证每个人都会参与?且每个人都会同意,这样不是很大的局限性么?有谁可以回答下么?)
    所有数据必须进行加密存储在去中心化的区块链应用平台。
    DApp必须有Token机制
App
    中性化的设计,我们请求需要访问某台服务器获取数据,处理数据
DApp的优点
    没有中心化机构进行干扰
    不会出现某些数据删除或者修改
    不能被关闭
    数据加密,用户信息不会被泄漏!(这就很厉害了,FaceBook要是之前用这个技术开发的化,就不会有今天因为泄漏用户信息的巨额损失了!区块链技术真的是未来!对于网络来说最大的问题就是不安全问题,如今区块链技术以一种高度加密的算法从源头上保护了信息,解决的是这个时代的痛点!真的很了不起,这就是未来!)


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

级别:老韭菜
发表于 2018-9-16 14:48:17 来自手机 | 显示全部楼层
沙发
感谢分享,恭喜恭喜,完美的句号
回复

使用道具 举报

 楼主| 发表于 2018-9-16 15:37:31 | 显示全部楼层
板凳
秭归橙子格格 发表于 2018-9-16 14:48
感谢分享,恭喜恭喜,完美的句号

感谢回复,哈哈哈
回复

使用道具 举报

级别:韭菜
发表于 2018-9-23 14:07:39 | 显示全部楼层
地板
分享不错,好有成就感的样子,恭喜
回复

使用道具 举报

级别:屁民
发表于 2019-4-30 17:44:41 | 显示全部楼层
5#
干货,收藏了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版规则