精华内容
下载资源
问答
  • 以太坊以太坊经典的区别

    千次阅读 2018-02-26 10:54:39
    社区里面有很多新成员,他们可能不知道以太坊(ETH)和以太坊经典(ETC)的区别,因此,我会在这篇文章阐述它们的一些主要区别。我尽可能毫无偏颇地说明这些区别。欢迎读者讨论或者找出其他观点,任何人都不是最终的...

    社区里面有很多新成员,他们可能不知道以太坊(ETH)和以太坊经典(ETC)的区别,因此,我会在这篇文章阐述它们的一些主要区别。我尽可能毫无偏颇地说明这些区别。欢迎读者讨论或者找出其他观点,任何人都不是最终的权威。

      

    关于区块链的可变性

    ETH——假如大部分人同意修改链条(也就是可变性),那么就可以修改区块链记录和合约

    ETC——区块链记录和合约不可修改(也就是不可篡改性)

     

    下面是关于两种方法的利弊

    可变性的好处是人们可以适时地改变以做出正确的决定。因此,修改规范比找漏洞更实用。

    不可修改性是人们不管当时有多聪明,但也不可能会不出错。因此,应对此方案出现问题的时候,最好是通过现有的法律框架来寻找和解决漏洞。

     

    关于发展的不同

    ETH——不管是有意安排或者从诞生就如此,区块链核心决策都是在社区的参与下由以太坊基金会制定并大部分由它开发。

    ETC——区块链的决策主要是通过三个松散的、有协作关系的团队在社区参与下得到反馈而决定的。

     

    在任何情况下,任何人都可以为两种区块链提出改进建议。这正是开源之好处,也是很常见的。你会发现,这两条链的开发人员通过Github和Reddit来相互沟通。我希望为了实现共同目标,提高沟通和交流的频率。

     

    关于兼容性

    目前,这两种区块链都相互兼容。ETH写的合约(或应用程序)可以在ETC上应用,反之亦然。

    ETH——专注于eWASM,致力于为越来越多的开发者提供平台。而对于合约安全性的问题是次要的(例如:Viper)

    ETC——专注于让开发者创造出更安全的合约(例如:Viper,IOHK研究),代价是消耗潜在的开发者人数。

    很明显,这两条链都可以互相接纳。不管它们的意愿是否相同。我的看法是,开发人员的数量并不一定与产品的质量挂钩。

     

    关于交易速度

    ETH——平均25秒。升级之后会缩短。

    ETC——平均14秒。升级之后维持在10-14秒(根据ECIP-1010 和 ECIP-1036协议)

     

    关于区块容量

    ETH——随着ETH日交易量逐渐达到5百万,区块容量日渐饱和,这种情况跟最近比特币的交易费用问题类似,这个问题可以通过对区块扩容得到解决(通过增加默认的燃料限制)

    ETC­——目前区块容量还有很大空间。随着越来越多的人接受ETC,区块容量也会随着增加,跟ETH一样。

     

    关于社区

    ETH——主要在Reddit上讨论。

    ETC——主要在Slack上讨论。

     

    关于货币政策

    ETH——计划供应稳步增长,导致ETH区块链在生命周期里平均有3%的通货膨胀。

    ETC——2025年之前,通货膨胀达到3%,届时总供应量将达到2亿ETC。之后会通货紧缩。

     

    关于交易量的地区分布

    ETH——中国占20%,南韩25%,美国25%。

    ETC——中国占50%,南韩25%,美国10%。

     

    关于证券

    ETH——目前投资者没有交易证券的选择权。最近ETH的一个ETF(交易型开放式指数基金)产品被监管层否定了。

    ETC——拥有ETC交易信托基金,该基金允许投资者拥有ETC,而不用拥有这个资产本身。

    以上数据来源于24小时前coinmarketcap.com的交易

    展开全文
  • 以太坊智能合约,以模拟标准的英语拍卖。 智能合约功能: addListing(itemName:字符串,auctionDuration:数字(秒)); placeBid(itemId:number)应付帐款 withdraw(itemId:数字) getTotalBid(itemId:...
  • 以太坊Ethereum应用HelloWorld开发及测试币申请 阐明一个事:以太坊和比特币都不是区块链,它们是基于区块链的一种应用,区块链可以理解为各种技术的组合或者一直新型的“数据库”。想要了解更多,可以去度娘下载...

    以太坊Ethereum应用HelloWorld开发及测试币申请

    阐明一个事:以太坊和比特币都不是区块链,它们是基于区块链的一种应用,区块链可以理解为各种技术的组合或者一直新型的“数据库”。想要了解更多,可以去度娘下载相关的白皮书蓝皮书看看,这里有些pdf的白皮书可以下载观摩。

     

    说明:以下样例和代码操作都是基于Java版的钱包应用来描述的。

    标签:以太坊钱包开发,区块链钱包开发,ethereum钱包开发,web3j接口使用,以太坊测试网络,获取以太坊测试

     

    一 测试网络

    什么是测试网络?以太坊为了方便智能合约的开发、学习和测试,开启了一条全新的区块链,与主网络特性相同,但测试网络中的以太币价值更低,也更容易得到。这样不至于在主网络上开发出现 BUG 造成以太币的损失。当然我们也可以搭建私有的测试网络,不过区块链的去中心化特点,需要更多的节点运行才能达到理想效果,好在以太坊有公开的测试网络,而我们接入也更容易。

    目前提供的测试网络:Ropsten、Rinkeby、Kovan、Morden(已下架),其中使用较多是的是RinkebyKovan

     

    二 涉及框架或模块(Java)

    web3j , gtihub:  https://github.com/web3j/web3j

    web3j是使用java语言开发用于和以太坊网络进行交互的类库。它是直接使用http请求以太坊的API,学习及使用的成本比较低。

    另外还有js的版本:https://github.com/ethereum/web3.js,可自行参考。

     

    三 使用样例(部分代码)

    maven依赖

    <dependency>
        <groupId>org.web3j</groupId>
        <artifactId>abi</artifactId>
        <version>3.3.1</version>
    </dependency>
    <dependency>
        <groupId>org.web3j</groupId>
        <artifactId>core</artifactId>
        <version>3.3.1</version>
    </dependency>

     

    配置文件

    # web3j - ethereum - settings
    # Main Ethereum Network:
    # https://mainnet.infura.io/<your-token>
    # Test Ethereum Network (Rinkeby):
    # https://rinkeby.infura.io/<your-token>
    # Test Ethereum Network (Kovan):
    # https://kovan.infura.io/<your-token>
    eth.web3j.profile=kovan
    eth.web3j.profile.api.token=GZUqwBFcfDaniSWXwbJD
    eth.web3j.http.service=https://${eth.web3j.profile}.infura.io/${eth.web3j.profile.api.token}

     

    此处根据自己的环境灵活配置环境,可以使用各个环境web3j的实例。

     

    @Bean
    Web3j web3j() {
        Web3j web3j = Web3j.build(new HttpService(“${eth.web3j.http.service}”));
        return web3j;
    }

     

    //# 创建轻量级钱包(获取地址)

    String walletFile = WalletUtils.generateLightNewWalletFile("123456", new File("."));

    返回的是json格式文件,里面包含了地址,同时这个文件就是keystore。

     

    //# 查询账户余额,address是0x开头地址

    EthGetBalance ethGetBalance =

    web3j.ethGetBalance(address, DefaultBlockParameterName.LATEST).send();

     

    //# 转账,返回交易hash

    String toAddress = "0xadress"; 转出地址
    Double amount = 1D; //# 转账数目,单位在下面指定Convert.Unit.ETHER
    String privateKey = "";//# 私钥(只有自己知道)
    Credentials keys = Credentials.create(privateKey);
    TransactionReceipt transactionReceipt = Transfer.sendFunds(web3j, keys, toAddress, BigDecimal.valueOf(amount), Convert.Unit.ETHER).send();

     

    四 网站查看余额及交易记录

    Kovan环境:

    https://kovan.etherscan.io/address/0x3d95eaEB3c1A2017FE9c90E760906D4624d71318

    Rinkeby环境:

    https://rinkeby.etherscan.io/address/0xcab0FC2c49D2C12e49571019977B518Fcbf4109a

     

    五 密钥普及

    公钥和私钥成对出现 

    公开的密钥叫公钥,只有自己知道的叫私钥 

    用公钥加密的数据只有对应的私钥可以解密 

    用私钥加密的数据只有对应的公钥可以解密 

    如果可以用公钥解密,则必然是对应的私钥加的密 

    如果可以用私钥解密,则必然是对应的公钥加的密 

     

    Keystore+密码=银行卡号+银行卡密码

    Keystore ≠ 私钥

    Keystore+密码=私钥

    Keystore不是私钥,常见于以太坊钱包,一般你创建以太坊钱包后,会让你备份Keystore,输入密码,会出现一串字符这就是 Keystore。Keystore的本质是加密后的私钥,Keystore必须配合你的钱包密码来使用。用途:在导入钱包的时候,选择官方钱包,输入 Keystore 和密码,就能进入钱包了。需要说明的是,这和用私钥或助记词导入钱包不一样,用私钥或助记词导入钱包,不需要知道密码。

     

    私钥:私钥可以计算出公钥,公钥可以经过一系列数字签名生成钱包地址。所以, 私钥的持有者才是数字货币的持有者。你可以把它看成是你的银行卡密码。

    公钥:它是密码学上的概念,由私钥推算出来。公开密钥的算法属于不对称加密算法,该算法拥有两个密钥:公钥和私钥。使用私钥加密的数据可以用公钥解密,反之亦可。通过公钥可以算出钱包地址。

    钱包地址:地址由公钥转换而来,地址被用于接收数字货币,一个地址上收到数字货币后,只有使用该地址所对应的私钥才能花费这个地址上的钱。可以把钱包地址想象成一个银行卡号,别人可以给你的钱包地址打钱。一般地址和私钥是成对出现的,他们的关系就像银行卡号和密码。地址就像银行卡号一样用来记录你在该钱包地址上存有多少币。我们可以简单的把钱包地址理解成为银行卡号,该钱包地址的私钥理解成为所对应银行卡号的密码。只有你在知道银行密码的情况下才能使用银行卡号上的钱。所以,在使用钱包时请保存好你的地址和私钥。

     

    六 获取测试币

    除了开发过程使用,其他时候没有任何实际价值,表当真^_^, 谁认真谁输.....

    6.1 Kovan环境的测试币申请

    https://gitter.im/kovan-testnet/faucet,使用gethub账户,gitlab账户,twitter账户登录可以申请3个ether。

     

    6.2 Rinkeby环境的测试币申请

    https://faucet.rinkeby.io/ , 它Rinkeb水龙头,但是,这里需要科学上墙~~~。最好用的twitter账户直接登录之后,推送一条带有你地址的消息,复制连接到水龙头网站即可获取测试币,很土豪,一个星期可以获取十多个ether。具体图文操作提示可以度娘,这里不再截图排版。

     

    写的不好,不喜勿喷!  谢谢~~

     

    如果觉得申请比特币测试币麻烦,可以加我获取,有偿提供测试币~~~

    企鹅号: 631722350

    邮箱: vip_warne@163.com 

     

     

    展开全文
  • 以太坊应用开发接口指的是以太坊节点软件提供的API接口,去中心化应用可以利用这个接口访问以太坊上的智能合约。以太坊应用开发接口采用JSON-PRC标准,通常是通过HTTP或websocket提供给应用程序调用。 JSON-RPC是一...

    以太坊应用开发接口指的是以太坊节点软件提供的API接口,去中心化应用可以利用这个接口访问以太坊上的智能合约。以太坊应用开发接口采用JSON-PRC标准,通常是通过HTTP或websocket提供给应用程序调用。

    JSON-RPC是一种无状态轻量级远程过程调用(RPC)协议,规范定义了数据结构及相应的处理规则,规范使用JSON(RFC 4627)数据格式,规范本身是传输无关的,可以用于进程内通信、socket套接字、HTTP 或各种消息通信环境。

    以太坊应用开发接口的配置

    不同节点软件的应用开发接口访问点可能有所区别。常见以太坊节点软件的的默认JSON-RPC端结点如下:

    以最常见的geth节点软件为例,可以使用--rpc选项启动其基于HTTP的JSON-RPC应用开发接口。

    ~$ geth --rpc
    

    可以使用--rpcaddr和--rpcport选项修改默认的监听端口(8545)和监听地址(localhost):

    ~$ geth --rpc --rpcaddr <ip> --rpcport <portnumber>
    

    如果需要从浏览器中访问RPC接口,需要正确设置CORS,否则由于同源策略的限制,javascript调用将失败:

    ~$ geth --rpc --rpccorsdomain "http://localhost:3000"
    

    也可以在geth控制台使用admin.startRPC(addr,port)命令来启动JSON RPC。

    以太坊应用开发接口的调用

    利用标准的HTTP协议就可以调用以太坊应用开发接口,例如在命令行可以使用curl工具:

    ~$ curl -X POST --data '{"jsonrpc":"2.0","method":"web3_clientVersion","params":[],"id":67}' http://127.0.0.1:8545
    

    你可以点击这里查看以太坊应用开发接口中文手册

    以太坊应用开发接口的封装开发包

    为便于在不同语言的代码中调用以太坊应用开发接口,以太坊社区涌现了不同语言的开发包,例如:

    可以根据你的需要选择合适的开发包来调用以太坊应用开发接口,这样可以大大缩短对接以太坊节点的所需要的时间。

    展开全文
  • 区块链以太坊应用总结

    千次阅读 2018-01-25 11:42:33
    以太坊是利用区块链技术开发的通用计算机,简单地说,以太坊=区块链+智能合约,开发者在以太坊上可以开发任意的应用,实现任意的智能合约。从平台的角度来讲,以太坊类似于苹果的应用商店;从技术角度来讲,以太坊...

    1.以太坊
    以太坊是利用区块链技术开发的通用计算机,简单地说,以太坊=区块链+智能合约,开发者在以太坊上可以开发任意的应用,实现任意的智能合约。从平台的角度来讲,以太坊类似于苹果的应用商店;从技术角度来讲,以太坊类似于一个区块链操作系统。
    2.私有链
    在以太坊的公有链上部署智能合约、发起交易需要花费以太币。而通过修改配置,可以在本机搭建一套以太坊私有链,因为与公有链没关系,既不用同步公有链庞大的数据,也不用花钱购买以太币,很好地满足了智能合约开发和测试的要求,开发好的智能合约也可以很容易地切换接口部署到以太坊公有链上。
    3.环境搭建
    3.1 以太坊客户端
    以太坊客户端用于接入以太坊网络,进行账户管理、交易、挖矿、智能合约相关的操作。目前有多种语言实现的客户端,常用的有 Go 语言实现的 go-ethereum 客户端 Geth,支持接入以太坊网络并成为一个完整节点,也可作为一个 HTTP-RPC 服务器对外提供 JSON-RPC 接口。
    CentOS7上源码部署:
    rpm -ivh http://ftp.riken.jp/Linux/fedora/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
    yum install golang -y
    git clone https://github.com/ethereum/go-ethereum
    cd go-ethereum
    make geth
    环境变量设置:
    vi /etc/profile
    +export PATH="$JAVA_HOME/bin:$KAFKA_HOME/bin:$MAVEN_HOME/bin:$PATH:/usr/local/share/scala/bin:/data/tools/go-ethereum/build/bin"
    source /etc/profile
    测试安装是否成功:geth version
    3.2 智能合约编译器
    以太坊支持两种智能合约的编程语言:Solidity。Solidity 语法类似 JavaScript,它编译器 solc 可以把智能合约源码编译成以太坊虚拟机 EVM 可以执行的二进制码。
    现在以太坊提供更方便的在线 IDE:Remix。 https://remix.ethereum.org, 使用 Remix,免去了安装 solc 和编译过程,它可以直接提供部署合约所需的二进制码和 ABI。
    部署:
    安装cmake
    wget https://cmake.org/files/v3.10/cmake-3.10.2.tar.gz
    tar zxvf cmake-3.10.2.tar.gz
    cd cmake-3.10.2
    ./bootstrap
    make
    make install
    部署solidity
    git clone --recursive https://github.com/ethereum/solidity.git
    cd solidity/
    ./scripts/build.sh
    3. 3 安装solc
    CentOS7通过yum安装nodejs和npm
    curl --silent --location https://rpm.nodesource.com/setup_5.x | bash -
    yum install -y gcc-c++ make
    yum install -y nodejs
    npm install -g solc
    如下命令验证是否安装成功:solcjs --help
    4. 私有链搭建
    4.1
    要运行以太坊私有链,需要定义自己的创世区块,创世区块信息写在一个 JSON 格式的配置文件中。例如genesis.json。其内容:
    独立的区块链网络ID chainID: 网络 ID 在连接到其他节点的时候会用到,以太坊公网的网络 ID 是 1,为了不与公有链网络冲突,运行私有链节点的时候要指定自己的网络 ID。不同 ID 网络的节点无法相互连接。
    当前挖矿难度: difficulty
    区块Gas消耗限制: gasLimit 

    参数综述:

    mixhash

    与nonce配合用于挖矿,由上一个区块的一部分生成的hash。注意他和nonce的设置需要满足以太坊的Yellow paper, 4.3.4. Block Header Validity, (44)章节所描述的条件。.

    nonce

    nonce就是一个64位随机数,用于挖矿,注意他和mixhash的设置需要满足以太坊的Yellow paper, 4.3.4. Block Header Validity, (44)章节所描述的条件。

    difficulty

    设置当前区块的难度,如果难度过大,cpu挖矿就很难,这里设置较小难度

    alloc

    用来预置账号以及账号的以太币数量,因为私有链挖矿比较容易,所以我们不需要预置有币的账号,需要的时候自己创建即可以。

    coinbase

    矿工的账号,随便填

    timestamp

    设置创世块的时间戳

    parentHash

    上一个区块的hash值,因为是创世块,所以这个值是0

    extraData

    附加信息,随便填,可以填你的个性信息

    gasLimit

    该值设置对GAS的消耗总量限制,用来限制区块能包含的交易信息总和,因为我们是私有链,所以填最大。


    在Geth1.6+中,以太坊提供了一个生成创世块的向导工具:puppeth。并且提供了更适合在私有链中使用的 Clique PoA 共识算法。
    准备好创世区块配置文件后,需要初始化区块链,将上面的创世区块信息写入到区块链中。
    git clone https://github.com/littleredhat1997/Ethereum.git
    cd Ethereum
    mkdir ethereum
    cp genesis.json ethereum/
    cd ethereum
    geth init genesis.json [geth --datadir data0 init genesis.json,指定目录将在此目录下生成./ethereum,否则在当前用户的根目录下生成]
    其中 geth/chaindata 中存放的是区块数据,keystore 中存放的是账户数据
    4.2 启动私有链节点
    geth --rpc --rpcapi personal,db,eth,net,web3 --networkid 666666 console
    [又:geth --identity "TestNode" --rpc --rpcport "8545" --datadir data0 --port "30303" --nodiscover console]

    geth参数含义如下: 

    identity

    区块链的标示,随便填写,用于标示目前网络的名字

    init

    指定创世块文件的位置,并创建初始块

    datadir

    设置当前区块链网络数据存放的位置

    port

    网络监听端口

    rpc

    启动rpc通信,可以进行智能合约的部署和调试

    rpcapi

    设置允许连接的rpc的客户端,一般为db,eth,net,web3

    networkid

    设置当前区块链的网络ID,用于区分不同的网络,是一个数字

    console

    启动命令行模式,可以在Geth中执行命令


    进入交互式的 JavaScript 执行环境:
    在这个环境里也内置了一些用来操作以太坊的 JavaScript 对象,可以直接使用这些对象。这些对象主要包括:
    eth:包含一些跟操作区块链相关的方法;
    net:包含一些查看p2p网络状态的方法;
    admin:包含一些与管理节点相关的方法;
    miner:包含启动&停止挖矿的一些方法;
    personal:主要包含一些管理账户的方法;
    txpool:包含一些查看交易内存池的方法;
    web3:包含了以上对象,还包含一些单位换算的方法。
    进入以太坊 Javascript Console 后,就可以使用里面的内置对象做一些操作,这些内置对象提供的功能很丰富,比如查看区块和交易、创建账户、挖矿、发送交易、部署智能合约等。
    常用命令有:
    personal.newAccount():创建账户;
    personal.unlockAccount():解锁账户;
    eth.accounts:枚举系统中的账户;
    eth.getBalance():查看账户余额,返回值的单位是 Wei(Wei 是以太坊中最小货币面额单位,类似比特币中的聪,1 ether = 10^18 Wei);
    eth.blockNumber:列出区块总数;
    eth.getTransaction():获取交易;
    eth.getBlock():获取区块;
    miner.start():开始挖矿;
    miner.stop():停止挖矿;
    web3.fromWei():Wei 换算成以太币;
    web3.toWei():以太币换算成 Wei;
    txpool.status:交易池中的状态;
    admin.addPeer():连接到其他节点;
    4.3 命令行创建钱包
    # 查询用户
    eth.accounts
    # 创建用户
    personal.newAccount("password")
    # 查询余额
    eth.getBalance(eth.accounts[0])
    并开始挖矿:miner.start(1) # 一个线程挖矿,多线程会很卡
    挖到一个区块会奖励5个以太币,挖矿所得的奖励会进入矿工的账户,这个账户叫做 coinbase,默认情况下 coinbase 是本地账户中的第一个账户,可以通过 miner.setEtherbase() 将其他账户设置成 coinbase。
    4.4 利用geth部署智能合约
    编写智能合约文件crowdfunding.sol
    编译智能合约,获得编译后的EVM二进制码:solcjs --bin crowdfunding.sol
    再用solc获取智能合约的JSON ABI(Application Binary Interface),其中指定了合约接口,包括可调用的合约方法、变量、事件等:solcjs --abi crowdfunding.sol
    回到Geth的控制台,用变量code和abi记录上面生成的两个文件中的内容,注意在code前加上0x前缀。
    code="0x"(二进制文件内容)
    abi="(abi文件内容)"
    首先解锁账户:personal.unlockAccount(eth.accounts[0])
    发送部署合约的交易:
    crowdfundingContract = web3.eth.contract(abi)
    contract = crowdfundingContract.new({from:eth.accounts[0],data:code,gas:1000000})
    此时记下本交易的编码,如下此行:
    contract=0xF0093B3c149c2F901a588bAe1152F6dBd1482725
    使用miner.start() 命令开始挖矿,一段时间后交易会被确认,随新区块进入区块链。

    智能合约的运行原理
    智能合约是部署在区块链的代码,区块链本身不能执行代码,代码的执行是在本地的EVM中,实际上,部署在区块链上代码是能够在本地产生原智能合约代码的代码,可以理解区块链为一个数据库,而客户端从数据库中读取了存储的运行代码,并在本地运行后,将结果写入到了区块链这个数据库中。



    5. 开发简单的业务应用
    git clone https://github.com/littleredhat1997/CrowdFunding
    进入目录crowdfunding\src\main\resources,修改文件config.properties,修改如下变量:
    # 钱包密码
    password=账户密码(password)
    # 钱包路径
    path=/root/.ethereum/keystore/UTC--2018-01-23T09-53-25.204779020Z--eeddb52b2dabb9a94a69c4d8d18bcb4875c618c0
    # 合约二进制
    binary=0x(二进制文件内容)
    # 合约地址
    address=0xF0093B3c149c2F901a588bAe1152F6dBd1482725(刚刚记下的那行contract编码)
    进入项目主目录:
    mvn clean install -Dmaven.test.skip=true
    将war文件放入Tomcat的webapp目录下,启动Tomcat。在应用运行时,记得持续挖矿。

    术语说明

    术语   说明
    ABI Application Binary Interface,应用二进制接口 其中指定了合约接口,包括可调用的合约方法、变量、事件等。
    DApp Decentralized App,去中心化的应用程序 基于智能合约的应用称为去中心化的应用程序。
    EVM Ethereum Virtual Machine,以太坊虚拟机 以太坊智能合约的运行环境。
    Gas (消耗的)汽油 在以太坊上发起交易、部署合约和调用合约都要消耗一定量的以太币,这些消耗的以太币称为 Gas。
    Geth - 以太坊客户端 go-ethereum,使用 Go 语言编写,是最常用的以太坊客户端之一。
    Solidity - 以太坊智能合约的一种编程语言,类似 JavaScript。
    Remix IDE https://remix.ethereum.org 基于浏览器的 Solidity 集成开发环境,在浏览器中编写和调试智能合约。

    展开全文
  • C#以太坊开发详解:本课程详细讲解如何使用C#开发基于.Net的以太坊应用,课程内容即涉及以太坊中的核心概念,例如账户管理、状态与交易、智能合约开发与交互、过滤器和事件等,同时也详细说明如何使用C#与以太坊进行...
  • Truffle 开发以太坊DAPP应用

    千次阅读 2018-02-01 16:58:58
    首先我们在另一个环境将以太坊的网络启动,通过testrpc指令就能启动本地网络,启动结果如上图我们验证testrpc安装成功结果。我们另起一个Terminal,进入到项目目录。 truffle compile //编译智能合约 truffle ...
  • 7个超酷的以太坊应用

    2021-01-08 07:20:20
    下面是使用以太坊区块链开发的七个有趣的项目。 1. Venue:让世界更加丰富多彩 http://www.govevue.com/ Vevue项目的承诺是:让用户能够将餐馆、酒店、地点、活动等30秒长度的视频剪辑与世界各地的其他人分享,从而...
  • 以太坊应用开发接口指的是以太坊节点软件提供的API接口,去中心化应用可以利用这个接口访问以太坊上的智能合约。以太坊应用开发接口采用JSON-PRC标准,通常是通过HTTP或websocket提供给应用程序调用。 JSON-RPC是一...
  • 例如账户管理包括账户的创建、钱包创建、交易转账,交易与状态、智能合约开发与交互、过滤器和事件等,同时也详细说明如何使用web3j提供的API开发接口与以太坊进行交互,是java工程师学习以太坊应用开发的不二选择。...
  • 区块链开发人员在开发以太坊应用时,除了使用自己搭建的节点,也可以利用第三方提供的以太坊api。Tokenview提供的以太坊API获取以太坊区块信息,进行广播交易,查询地址和交易详情。虽然以太坊节点人人均可搭建,但...
  • 以太坊技术及应用大会
  • 很多同学不是很明白以太坊ABI是什么,他的作用是什么,读完本文就明白了。 写在前面 阅读本文前,你应该对以太坊、智能合约有所了解, 如果你还不了解,建议你先看以太坊是什么,也可以观看我们的视频:零基础搞...
  • 为你的以太坊应用程序设计架构

    万次阅读 2019-04-28 09:42:12
    当你即将开始以太坊开发,并查阅...在本篇文章中,我将提及以太坊应用程序中最经典的一些场景。它们的出现源于这三个部件(客户端、服务器与区块链)间的不同互动。我将论述无服务器应用程序、浏览器插件、私有节点...
  • 使用本教程,在以太坊网络上构建您的第一个去中心化应用程序或Dapp! 完整的免费视频教程:** 2019更新代码 请按照以下步骤下载,安装和运行此项目。 依存关系 安装这些先决条件以跟随本教程。 请参阅免费视频...
  • 以太坊应用开发接口指的是以太坊节点软件提供的API接口,去中心化应用可以利用这个接口访问以太坊上的智能合约。以太坊应用开发接口采用JSON-PRC标准,通常是通过HTTP或websocket提供给应用程序调用。 JSON-RPC是一...
  • python开发以太坊应用(使用web3)

    千次阅读 2018-09-28 23:45:56
    目录 第一章,初识以太坊 第二章,以太坊之简易开发流程 ...第三章,以太坊之账户管理 ...第四章,以太坊之状态...在这一章,我们将完成一个简单的控制台应用,学习如何在命令行和在python中访问以太坊节点,并打...
  • 去中心化应用 • 基于以太坊可以创建智能合约(Smart Contract)来构建去中心化应用(Decentralized Application,简称为 DApp) ...以太坊应用 基于以太坊创建新的加密货币(CryptoCurrency,这种能力是 2017 年各...
  • 以太坊ETH与以太经典ETC的区别

    千次阅读 2020-10-09 11:11:19
    很多人都把以太坊、以太经典混淆,ETCorETH傻傻...以太坊是一个分布式的智能合约和分布式自主应用程序DApps平台,目标是成为全球唯一的超级计算机。该网络使用加密货币以太币(ETH),用于构建执行智能合约和DApps平台,
  • Web3-以太坊全栈应用 Web3以太坊全栈应用测试任务 测试任务要求 概述 Web3是用户进入以太坊网络魔力的入口。 Web3Modal是一个ReactJS组件,可简化web3体验的集成。它支持多个流行的web3提供程序。 在此测试任务中,...
  • 很多人都把以太坊、以太经典混淆,ETCorETH傻傻...以太坊是一个分布式的智能合约和分布式自主应用程序DApps平台,目标是成为全球唯一的超级计算机。该网络使用加密货币以太币(ETH),用于构建执行智能合约和DApps平台,
  • 加密怪兽 基本的以太坊市场应用程序,适用于加密货币怪物

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 28,497
精华内容 11,398
关键字:

以太坊经典应用