当前位置:首页 » 以太坊知识 » 使用以太坊开发web

使用以太坊开发web

发布时间: 2025-01-07 04:34:36

A. 「官方」搭建Web3:Filecoin与以太坊携手共进


这是Protocol Labs创始人Juan Benet在EthCC 2021上的演讲概要,查看完整内容:

https://www.bilibili.com/video/BV1eb4y1r7E1

Filecoin网络是面向生态的,它与Protocol Labs搭建模块化解决方案的倾向是一致的。因为它本来就是设计给其他人使用,所以Filecoin在Web3领域的其他栈、应用和生态里如鱼得水。自从其在2020年10月的启动开始,Filecoin已经增长到超过8 exbibytes的可用存储空间,有超过400个项目进入了这个生态。以太坊就是一个能持续证明其可协作性和共同利益的生态系统。

Filecoin + 以太坊

>>>>Filecoin和以太坊虚拟机(EVM)

Filecoin生态意识到网络支持智能合约的好处。最初,开发者社区相信架设在以太坊和Filecoin之间的桥服务足够在Filecoin上支持智能合约了。不过,通过桥来使用智能合约是很笨重的方式,相比于直接在以太坊实现智能合约的功能和可组合性更是不足。有一个提议是在Filecoin上加入以太坊虚拟机(EVM),从而在存储层启用对智能合约的支持,以及为这两个生态的结合提供更多机会。


>>>>开发者工具和资源

Fleek:让用户能为去中心化网络架设网站、存储和分发文件及开发dapp。Fleek可以让每一个人(从专业的开发者到日常的互联网用户)更容易以去中心化的方式创建app和存储文件,从而加速去中心化网络的采用率。Fleek可以在Filecoin上进行自动化存档,并通过ENS(以太坊域名服务)这样的应用来利用以太坊的生态系统。

https://fleek.co/

Web3.Storage:是一个让开发者在Filecoin去中心化存储网络上存取数据的简单接口。Web3.Storage为开发者(包括以太坊dapp开发者)提供了搭建应用的简单方式,这些应用可以带有冗余的去中心化的存储以及安全的内容寻址数据。

http://web3.storage/

PowerLoom:以去中心化的方式将链上和链下数据聚合起来以生成带有密码学证明的快照。它旨在通过一个丰富的节点和利益相关者生态系统(他们被激励参与到协议里)来搭建信任,并按需提供洞见。PowerLoom特别适用于以太坊DeFi这样的生态,这类系统是非常复杂的,而且需要基于验证的信任。

https://powerloom.io/

>>>>DeFi应用

SecuredFinance(https://secured-finance.com/)是一个综合平台,整合了基于智能合约的点对点固定利率贷款、抵押品管理服务、货币间交易和其他类型的利率产品。Secured Finance的协议是去中心化的点对点金融协议,提供了由以太坊智能合约赋能的区块链上的中后台银行业务。Secured Finance可以满足Filecoin网络内的需求,它提供的解决方案能够满足Filecoin存储提供者对FIL贷款的强烈需求。

>>>>数据市场

OceanProtocol(https://t.co/misApE3ggc?amp=1)是一个在Filecoin上搭建的数据市场。Ocean的数据token(data tokens)是以太坊ERC-20 token,可以轻易地用于发布和消费数据服务。如果你有1个数据token,你可以访问一个特定的数据服务。Ocean market是一个专门为数据服务的去中心化交易所,它分叉了一个Balancer AMM(自动化做市商)来降低gas成本。在这个市场中,用户可以对数据进行发布、购买、销售、消费和stake操作。

通过Filecoin,用户可以利用Ocean来发起自己的Filecoin数据市场,或创建一个Filecoin dataDAO或指数基金。通过Ocean Protocol的工具和Filecoin的去中心化存储数据库,我们正见证新生的开放数据经济。


>>>>视频应用

LivePeer:是一个去中心化的在线视频流媒体基础设施,由以太坊区块链确保安全性。将Filecoin和IPFS结合提供存储和内容分发功能后,去中心化视频应用就成为可能了。

https://livepeer.org/

Voodfy:正为私有的视频架设服务提供去中心化工具。这是一个多功能的安全流媒体解决方案,让用户能完全控制自己的内容,这包括了访问权的设定以及变现的方式。它利用了Livepeer、Ethereum、Textile Powergate和Filecoin.

https://voodfy.com/

VideoCoin:正搭建一个能可靠地创建、存储和交易基于视频的NFT解决方案,它可以绕过在以太坊上存储实际内容时固有的复杂性和费用。VideoCoin正将其去中心化视频处理网络与Filecoin整合起来,以搭建首个专门为创建和交易视频NFT服务的平台。这个平台是新生的全球数字收藏品市场急需的一部分。

https://videocoin.io/


>>>>NFT

nft.storage(http://nft.storage/)是一个由Protocol Labs实验室和Pinata支持的服务,它专门为存储NFT数据而设计。

nft.storage让开发者通过内容寻址和去中心化存储来保护其NFT资产和相关的元数据,确保所有的NFT遵循最佳实践以实现长期的可访问性。

未来的使用场景


随着Filecoin和Ethereum生态系统的成长和重叠,会出现更多的新生用例和开发者机会。一些可以进行创新的用例包括:

>>>>可组合的DeFIL

将存储和Defi的世界结合可以产生一些机会。人们可以将市场订单(如要价、出价和交易)带到一个去中心化交易所上,以观察市场是如何评判这些订单的价值的。通过这样的能力,生态系统可以开始想象硬件期货(hardware futures)和时空期货(spacetime futures)等的出现。


>>>>数据丰富的NFT

NFT将会越来越复杂,而Web3社区需要 探索 采用数据丰富(data-rich)的NFT的方式。VideoCoin已经将其视频处理引擎与Filecoin连接起来,以结合以太坊对NFT的支持能力及Filecoin的存储能力。像VideoCoin这样的工具可以用来创建一类新型的NFT,如短电影、视频片段和完整长度的专题特写。


>>>>按观看次数支付的媒体

通过在Filecoin上存储的信息,我们可以利用以太坊的token支持能力去创建由token保护的页面和媒体(文章、电影和音乐等)。我们可以复制Web2时代的按观看次数支付模式,而无需复制数据和广告模型。


这只是一个开始!Filecoin和以太坊生态有长期的协作 历史 和机会,未来可期。

B. Geth 控制台使用及 Web3.js 使用

在以太坊的DAPP开发中,需要 页面开发 智能合约 开发,页面开发需要 H5 智能合约 开发用 Solidity 实现。页面和以太坊智能合约交互,就需要使用 Web3.js

Geth 控制台(REPL)实现了所有的 web3 API 及 Admin API ,如果你对Geth命令行不太熟悉,请参考之前的文章。
以太坊客户端Geth常用命令详解

重定向日志到文件

使用geth console启动时,会在当前的交互界面下时不时出现日志。
可以使用以下方式把日志输出到文件。

可以新开一个命令行终端输入以下命令查看日志:

重定向另一个终端

也可以把日志重定向到另一个终端,先在想要看日志的终端输入:

就可以获取到终端编号,如:/dev/test
然后另一个终端使用:

启动geth, 这是日志就输出到另一个终端。
如果不想看到日志还可以重定向到空终端:

日志级别控制

使用–verbosity可以控制日志级别,如不想看到日志还可以使用:

另外一个启动geth的方法是连接到一个geth节点:

C. 【ETH钱包开发04】web3j转账ERC-20 Token

在上一篇文章中讲解了ETH转账,这一篇讲一下ERC-20 Token转账。
【ETH钱包开发03】web3j转账ETH

1、直接用web3j的API
2、java/Android调用合约的 transfer 方法

不管用哪种方式来转账,你都需要先写一个solidity智能合约文件来创建ERC-20 Token,然后部署合约,最后才是通过客户端来调用。

注意:erc-20 token转账和eth转账的区别如下:
1、erc-20 token创建交易对象用的是这个方法 createTransaction

2、erc-20 token需要构建 Function ,它其实对应的就是erc-20 token合约中的那些方法。它的第一个参数就是ERC20中那几个方法的名称,第二个参数的话就是对应合约方法中的参数,第三个参数是和第二个参数对应的,按照我那样就行了。转账的话就是 transfer ,我们从合约的 transfer 可以看到第一个参数是收款地址,第二个参数是金额,所以 Function 这里对应起来就好。

这种方法不需要使用web3j封装的方法,而是直接调用solidity合约的方法。

步骤
1、web3j加载一个已经部署的合约
2、验证合约是否加载成功 isValid
3、如何加载合约成功,则调用合约的 transfer 方法

注意:
1、这里的 TokenERC20 是根据solidity智能合约生成的对应的Java类,用于java/Android和智能合约交互的,如果你对这里不太清楚,不妨看看我之前的一篇文章。
以太坊Web3j命令行生成Java版本的智能合约

2、如果加载合约失败,可能的一个原因是合约对应的Java类中的 BINARY 的值不对,这个值是你部署合约成功之后的bytecode,你最好检查对比一下。

我发送一笔交易,可以通过这个地址查询
https://rinkeby.etherscan.io/tx/

D. 以太坊如何使用web3.js或者rpc接口获取交易数据交易时间与确认数

如果要查询主网上的交易记录,可以使用etherscan。但是,如果是你自己搭建的私链,应该如何查询交易记录呢?

答案是你需要自己监听链上的日志,存到数据库里,然后在这个数据库中查询。例如:

varaddr=""
varfilter=web3.eth.filter({fromBlock:0,toBlock:'latest',address:addr});
filter.get(function(err,transactions){
transactions.forEach(function(tx){
vartxInfo=web3.eth.getTransaction(tx.transactionHash);
//这时可以将交易信息txInfo存入数据库
});
});

web3.eth.filter()用来监听链上的日志,web3.eth.getTransaction()用来提取指定交易的信息,一旦获得交易信息,就可以存入数据库供查询用了。

推荐一个实战入门,你可以看看:以太坊教程

E. web3.0怎么入门

web3.0入门方法是:了解区块链技术、学习Solidity编程语言、创建以太坊钱包、参与以太坊网络、研究DApp开发。

1、了解区块链技术:Web3.0是建立在区块链技术之上的,因此需要先了解区块链的基本原理、加密算法和智能合约等概念。

2、学习Solidity编程语言:Solidity是一种专门用于编写智能合约的编程语言,它是以太坊平台上的主要编程语言。可以通过在线教程、书籍或者参加培训班来学习Solidity编程语言。

3、创建以太坊钱包:以太坊钱包是一个存储数字货币和私钥的软件程序,用于与以太坊网络交互。可以使用MetaMask、Trust Wallet等常见的以太坊钱包。

4、参与以太坊网络:通过搭建个人节点或者使用一些第三方平台,可以参与到以太坊网络中。可以在本地测试智能合约和DApp。

5、研究DApp开发:DApp是基于区块链技术的应用程序,通常包括智能合约和去中心化的应用程序。可以通过阅读相关文档、参加开发者社区等方式来学习和研究DApp开发。

Web3.0特色:

1、去中心化:Web3.0是建立在区块链技术之上的,具有去中心化的特点。这意味着数据和应用程序不是由单一的中心控制,而是由网络中的所有节点共同维护和管理。

2、安全性高:Web3.0使用密码学技术和智能合约来确保数据的安全性和隐私性。这使得Web3.0更加安全,可以有效地防止黑客攻击和数据泄露等安全问题。

3、可扩展性强:Web3.0具有可扩展性,可以处理大量的数据和交易。这是因为Web3.0使用了分布式网络和共识算法,可以同时处理多个交易,而不会出现拥堵和延迟等问题。

4、透明度高:Web3.0使用区块链技术来记录所有的交易和数据,这使得数据的透明度非常高。这也使得Web3.0更加公正和可信,因为任何人都可以查看和验证这些数据。

热点内容
使用以太坊开发web 发布:2025-01-07 04:34:36 浏览:417
eth爆仓怎么算的 发布:2025-01-07 04:16:02 浏览:518
btc编程语言 发布:2025-01-07 04:14:38 浏览:245
盗窃比特币判刑6亿 发布:2025-01-07 04:14:01 浏览:675
2019年1比特币等于多少人民币 发布:2025-01-07 04:13:06 浏览:829
比特币交易成本 发布:2025-01-07 04:11:06 浏览:397
2019币圈是牛市 发布:2025-01-07 04:06:13 浏览:611
eth能不能到4000 发布:2025-01-07 04:06:06 浏览:772
区块链毕业后工资高吗 发布:2025-01-07 04:03:06 浏览:447
100比特币兑换人民币 发布:2025-01-07 03:46:49 浏览:541