Solidity 是一门面向合约的、为实现智能合约而创建的高级编程语言,也是用于开发以太坊智能合约最受欢迎的语言之一。...[ 百科 ]
深入了解区块链概念。了解Gas、挖矿和共识。如何在Solidity方面做得更好,以构建全堆栈DAPP、NFT集合、ICO 代币、DAO和DeFi协议。
Chainlink 32 小时视频教程发布,快来学习吧
语法摘要:Contact,数据类型,异常处理
在本文中,将看到:1.解释这些函数解决的问题。2.讨论 Solidity 编译器如何处理新的 `assert()`, `require()` 和 `revert()`。3.给出一些经验法则来决定如何以及何时使用每一个。
存储树中的智能合约数据表示合约的持久状态,可以通过更新全局状态的交易进行更改。在一个Solidity的智能合约中,动态变量被存在持久化的存储中。内存中初始化的任何变量都是临时的,将在执行下一次外部函数调用之前被删除。此外,无法修改的常量变量不使用存储空间,因此,使用更少的gas。
在合约代码中,最常用的是使用msg.sender来检查授权,但有时由于有些程序员不熟悉tx.origin和msg.sender的区别,如果使用了tx.origin可能导致合约的安全问题。黑客最典型的攻击场景是利用`tx.origin的代码问题常与钓鱼攻击相结合的组合拳`的方式进行攻击。
闪电贷
绝对初学者友好的课程,用于开始使用web3、设置开发环境和构建最初的DAPP。
在[上一篇文章](https://learnblockchain.cn/article/4273)中我们已经准备好了用于开发、测试和部署智能合约的以太坊私有环境,那么在开始编写合约之前,我们还需要准备开发环境。
在函数中添加不必要的Payable关键字只是为了节省gas可能是一个糟糕的决定。
这是一个使用MetaMask签名消息,然后在链上进行验证的实用教程。
最省GAS链上排序
uniswap v3
substrate,[ink!](https://learnblockchain.cn/article/1257),solidity,openbrush,patract
彻底理解solidity里的[storage](https://learnblockchain.cn/2017/12/21/solidity_reftype_datalocation):Ethereum Architecture(以太坊架构),Block Header(区块头),State Root,Ethereum Account,Storage Root,StateDB -> stateObject -> StateAccount,初始化一个新的以太坊账户,SSTORE,SLOAD
2242 回答,2135赞同
0 回答,827赞同
5 回答,347赞同
4 回答,133赞同
1 回答,109赞同
13 回答,101赞同
0 回答,99赞同
0 回答,89赞同
0 回答,85赞同
1 回答,85赞同