主页 > imtoken客服在哪 > 以太坊区块链开发技术岗位常见问题,附参考答案。

以太坊区块链开发技术岗位常见问题,附参考答案。

imtoken客服在哪 2023-11-15 05:10:42

前言

前段时间,该公司一直在开发以太坊,目前正在开发 EOS。总结了以太坊前期发展的相关知识,总结了各方对以太坊的面试题。在这里整理一下,以备不时之需。需要的朋友请自行领取。,哈哈。

智能合约

基础概念、Solidity开发语言、去中和应用DApp、web3.js开发

头发库等

以太坊

Q:以太坊的价值代币叫什么?

答案:以太(ETH:以太)

问:Wei 和 Ether 有什么区别?

A: Wei 是美分兑美元或便士兑英镑的一种面额。1 ETH

=10^18 伟

Q:以太坊的平均出块时间是多少?

答:约14秒

问:以太坊的平均区块大小是多少?

A:2KB左右,实际值视具体情况而定。

问:以太坊是否支持脚本?如果是,支持什么类型的脚

书?

回答:是的。它支持智能合约

问题:你如何获得以太?

答:有很多方法:

1.成为一名矿工

2.其他货币兑换

3.使用以太龙头,例如

4.接受别人的礼物

问:以太从何而来?

A:2014年预售中首次创造了6000万。此外,在挖掘新区块时

也产生了以太。

以太区块链的关系

问:什么是节点?

A: 节点本质上是一台连接到网络的处理交易的计算机

简单的。

Q:你熟悉多少个以太坊网络?

A:网络分为三种类型——现网(主网)、测试网(例如

Ropsten 和 Rinkeby)和专用网络。

问:与以太坊网络交互的方式有哪些?

A:您可以使用电子钱包或DApp

问:你可以“隐藏”以太坊交易吗?

答:不可以。所有交易对每个人都是可见的。

问:交易记录在哪里?

答:在公共分类账上。

问:这些网络的 ID 是什么?

答案:Live(id=1), Ropsten(id=3), Rinkeby(id=

4),私有(由开发人员分配)

问:我可以在 Rinkeby 测试网络中挖一些以太币并转移到 Live

网络?

答:不可以。以太不能在不同的以太坊网络之间传递。

问:为什么需要专用网络?

A:有很多原因,但主要是数据隐私、分布式数据库、权限

控制和测试。

问:简单解释一下工作量证明。

A:实际上是矿工出价证明他们的工作并验证交易

解决计算密集型问题。

问:用简单的方式解释权益证明。

A:区块的创建者是根据节点持有的财富和权益随机选择的。

它不是计算密集型的。

以太区块链的关系

Q:以太坊使用什么共识模型?

A:截至 2018 年初,它使用工作量证明,但将来会切换到质押

证明。

问:什么是用来签署交易的?

A:用户的私钥。

问:我的私钥丢失后可以恢复我的以太坊账户吗?

A:是的,可以使用助记词。

以太坊节点软件(Geth)

问:连接以太坊节点的方式有哪些?

答:IPC-RPC、JSON-RPC 和 WS-RPC。

问:Geth 是什么?

A:Geth 是以太坊的客户。

问:连接到 geth 客户端的默认方式是什么?

A:IPC-RPC 默认开启,其他 RPC 关闭。

问:你知道关于 geth 的哪些 API?

答案:管理员、eth、web3、miner、net、personal、shh、

调试和 txpool。

问:选项 -datadir 有什么作用?

A:它指定了区块链的存储位置。

问:geth 的“快速”同步是什么?为什么它更快?

A:快速同步将下载交易收据和区块并完全提取最新的

而不是重新执行所有已发生的事务。

问:选项 --testnet 有什么作用?

答:它将客户端连接到 Ropsten 网络。

Q:启动geth客户端会在屏幕上输出很多文字,如何减少输出

出信息?

A: --verbosity 可以设置为较小的数字(默认为 3)

以太区块链的关系

问:如何将自定义 javascript 文件加载到 geth 控制台?

A: 使用 --preload 选项传入 js 文件的路径。

问:geth 客户端的帐户存储在哪里?

答:在密钥库目录中。

问:账户需要做什么才能进行交易?

A:账号必须先解锁——可以传入账号地址或者账号序列号来解锁账号

锁。您还可以使用 --password 选项传入密码文件,其中包含

包含每个帐户的密码。

问:你提到了一些关于帐户序列号的事情。哪些因素决定账户

序列号?

- 答:添加帐户的顺序。

智能合约和 Solidity

问:什么是智能合约?

答:这是用多种语言编写的计算机代码。以太坊上存在智能合约

在 Square 网络上,他们根据预先确定的规则执行动作,这些规则由参与者决定

在这些合同中约定。

Q:智能合约可以用哪些语言编写?

A:Solidity 是最常用的语言,Serpent 和 LLL 也有。

问:什么是 Metamask?

A:Metamask 是一个帮助用户在浏览器中与以太坊网络进行交互的工具。

互动工具

问:Metamask 使用哪个以太坊节点?

A: 它使用 infura.io

问:访问智能合约的状态是免费的吗?

A:是的,查询状态不是交易。

问:为什么需要煤气?

A:由于矿工在他们的机器上执行合约代码,他们需要 gas 来覆盖

以太区块链的关系

涵盖执行合约代码的成本。

问:gas 的价格是否决定何时处理交易?

答:是的,不是的。天然气价格越高,交易成功的可能性就越大。

尽管如此,gas 价格并不能保证更快的交易处理。

问:交易中的gas使用量取决于什么?

A:这取决于合约使用的存储量、指令(操作码)的类型和数量

数量。每个 EVM 操作码对应于固定数量的气体。

问:交易费用如何计算?

答:gas消耗*gas price(调用者指定的gas价格)

Q:如果智能合约的执行成本低于监管机构规定的gas消耗量以太区块链的关系,用户会

你收到退款了吗?

答案:是的

问:如果智能合约的执行成本高于指定的gas使用量会怎样

健康)状况?

A:用户不会得到退款,一旦所有的gas用完,就会停止执行,合约也不会改变。

问:粗略地说,EVM 的组成部分有哪些?

答:内存区域、堆栈和执行引擎。

问:什么是混音?

A:用于开发、测试和部署合约的在线工具。适合快速构建和测试

轻量级合约,但不适合更复杂的合约。

Q:在 Remix 中,可以连接哪些节点?

A:可以使用 Metamask 连接公共节点,也可以链接使用

由 Geth 构建的本地节点,或在 Javascript VM 中模拟的内存节点

观点。

问:什么是 DApp,它与 App 有何不同?有什么不同?

答:App通常包含一个客户端,这个客户端会和一些中心化的资源进行通信

来源(由组织拥有)进行通信,通常是通过中间层的客户

以太区块链的关系

连接集中数据层,如果集中数据层的信息丢失,不要

可以很容易地恢复。DApp 代表去中心化应用程序。DApps 通行证

智能合约与区块链网络交互。DApp 使用的数据存在于合约中

在这种情况下。集中式数据比分散式数据更容易受到破坏。

DApps 和 web3

问:DApp 的前端是否仅限于某些技术或框架?

答:不受限制。可以使用任何技术开发 DApp 的前端,例如

HTML、CSS、JS、Java、Python...

Q:前端用什么库连接后端(智能合约)?

答:Web3.js 库。

Q:DApp前端需要什么才能与指定的智能合约交互

相互的?

A:合约的ABI和字节码。

问:ABI 是做什么的?

答:ABI是合约的公共接口描述对象以太区块链的关系,DApps用来调用合约

界面。

问:字节码有什么作用?

A:节点上的EVM只能执行合约的字节码。

问:为什么使用 BigNumber 库?

A:因为 Javascript 不能正确处理大数。

问:.call 和 .send 有什么区别?

A:.send 发送交易并支付费用,而 .call 查询合约状态。

问:像这样发送 1 个以太币是否正确:

.send({value:1})?

A: 不,这是发送 1 wei。交易总是在wei。

问:所以为了发送 1 个以太币,我必须将这个值乘以 10^18?

答:可以用

web3.utils.toWei(1, 'ether')。