主页 > imtoken钱包官网版最新 > 以太坊实践整理(一)区块链基础知识
以太坊实践整理(一)区块链基础知识
以太坊实践整理(一)区块链基础知识
以太坊实践整理(二)以太坊Geth客户端
以太坊实战(三)智能合约的Remix开发与部署
以太坊实践整理(四)Truffle智能合约开发框架
以太坊实践整理(五)DApp开发过程记录(上)
以太坊实战(五)DApp开发全过程记录(下)
以太坊实践整理(六)文件的去中心化存储
在开始学习以太坊开发之前怎么查询泰达币交易记录,有必要对区块链知识有所了解,简单整理一些术语解释。
贸易
在去中心化应用中,发送给节点的请求通常是“交易”,包括转账、部署智能合约、调用智能合约函数等,都是交易; 交易数据需要由关联的钱包签名并发送到节点。
堵塞
区块是区块链中的数据存储单位。 每个区块存储一组交易信息和这些交易信息的哈希数据。 每个块还存储前一个块的哈希值。
区块链
区块通过哈希信息链接起来形成区块链
节点客户端
区块链是一个分布式网络,每个人都可以部署自己的节点加入区块链网络,成为节点之一。 以太坊客户端是以太坊网络中的一个节点程序。 运行客户端后,节点加入以太坊网络。 同时节点程序可以完成创建账户、发起交易、部署合约、执行合约、挖掘区块等任务。 例如,geth 是一个以太坊客户端。
矿业
节点生成块的过程称为挖矿。 挖矿是指一个节点将一批交易数据打包成一个新的区块,然后将这个区块广播到区块链网络,由其他节点验证有效性。 验证成功后,各节点将其作为新区块存储在本地,然后基于新区块继续竞争挖矿。 成功的节点矿工将获得数字货币作为奖励,因此会有很多节点参与竞争出块。
共识算法
在挖矿过程中,矿工需要支付算力才能找到满足条件的数字。 这种算力支付是无法伪造的。 当前节点计算出号码后,其他节点可以快速验证号码的有效性。 这种为了不断产生区块而被所有网络节点认可的方案称为共识算法,而支付算力来证明其工作的共识算法称为PoW(Proof of Work)共识算法。
智能合约
智能合约是运行在区块链上的程序。 与其他程序一样,它由代码和数据组成。 在以太坊之前,比特币等加密货币一般都可以在区块链上进行交易,最多只是在交易的后记中携带一些信息。 然而,以太坊引入了智能合约,扩大了交易的边界。 它允许一段代码在事务发生的同时执行,也就是说事务本身是有逻辑的。 毕竟现实中的很多交易都会伴随着逻辑,比如分期付款,或者保险。 合同的执行也受事先约定的条件的约束。
以太坊提供了一种几乎图灵完备的编程语言。 结果就是开发者理论上可以在以太坊智能合约之上编写任意复杂的逻辑,甚至可以实现他们能想到的任何程序。 得益于此,以太坊上出现了各种中心化应用程序(DAPP)。
以太坊虚拟机 (EVM)
以太坊虚拟机用于在以太坊上执行交易,为智能合约提供运行环境。 熟悉Java的同学可以把EVM理解为JVM,EVM也是运行程序的容器。 以太坊虚拟机运行在以太坊节点客户端上。
区块链的类型
代币
我们经常听到“代币发行”就是基于区块链发行代币。 这种代币发行与区块链本身挖矿产生的原生货币有本质区别。 代币是通过智能合约生成的一组数字资产。 通过智能合约编写代码,可以指定某种代币的总量和转账、收款、甚至销毁等操作。
系绳
Tether(USDT)是一种将加密货币与法定货币美元挂钩的虚拟货币。 它是一种保存在外汇储备账户中并由法定货币支持的虚拟货币。 它由中心化组织 Tether 背书。 其背后的支撑体系是Tether保证每一个usdt币都有一美元的储备保证。 由于数字货币价格的不稳定性,虚拟货币交易所需要这样一种价值趋于恒定的数字货币,以保证交易的及时性和空头对冲的考虑。 不同国家对法定货币和虚拟货币交易有不同的规定。 USDT避免了法币与虚拟货币的直接交易怎么查询泰达币交易记录,往往是先将法币兑换成USDT,再用USDT交易各种虚拟货币。 USDT本质上是一种代币。 Tether基于比特币网络、以太坊网络和TRON网络的代币协议发行的USDT代币的区别如下:
钱包客户端
除了geth这种比较“重”的以太坊客户端,还有一个比较“轻”的客户端:wallet。 普通用户多使用imToken,而开发者常用的钱包是MetaMask,它是一款可以部署和执行智能合约的浏览器插件钱包。
任何人都可以基于区块链开放的RPC接口开发钱包客户端。
区块浏览器
区块链浏览器是一个网站,通过它可以查询区块链上的一些信息,比如查询交易记录、某个区块的详细信息、当前链的高度等,还可以通过浏览器查询余额或交易明细钱包地址或交易 ID。 所以区块链浏览器不是建立在公链上的程序。 简单来说就是一个可以查询区块链数据的网站。 而且它建立在一个普通的中心化网络之上。 是区块链数据的对外窗口,区块浏览器让普通用户见证公链的公开透明。
DAPP去中心化应用
传统的互联网应用都是前端向中心化服务器请求,服务器同步响应数据。 DAPP是对去中心化网络中任意节点的前端请求。 节点收到交易请求后,向全网广播,全网达成共识,完成交易。
在DAPP应用中,发送给节点的请求称为“交易”,需要关联钱包签名后才能发送给节点; 另外,由于交易需要等待网络共识,大部分交易都是异步的,一般通过事件回调获取结果。
开发DAPP应用最重要的两个部分是前端应用和智能合约。 智能合约运行在以太坊虚拟机(EVM)上,前端通过向节点发送请求来调用智能合约。 前端部分与互联网前端应用相同。 你可以使用任何你擅长的前端框架如Vue或React进行开发,然后通过web3.js函数库调用智能合约。
以太坊实践整理(一)区块链基础知识
以太坊实践整理(二)以太坊Geth客户端
以太坊实战(三)智能合约的Remix开发与部署
以太坊实践整理(四)Truffle智能合约开发框架
以太坊实践整理(五)DApp开发过程记录(上)
以太坊实战(五)DApp开发全过程记录(下)
以太坊实践整理(六)文件的去中心化存储