区块链本质上是一个去中心化的分布式账本数据库,目的是解决交易信任问题。广义来看,区块链技术是利用块链式数据结构验证与存储数据、利用分布式节点共识算法生成和更新数据、利用密码学方式保证数据传输和访问的安全、利用自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。狭义来看,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。
const config:HardhatUserConfig={
solidity:"0.8.13",
defaultNetwork:"localhost_8888",//join hardhat self network
networks:{
localhost_8888:
{
url:"http://127.0.0.1:8888/"
},
ropsten:{
url:process.env.ROPSTEN_URL||"",
accounts:
process.env.PRIVATE_KEY!==undefined?[process.env.PRIVATE_KEY]:[],
},
},
gasReporter:{
enabled:process.env.REPORT_GAS!==undefined,
currency:"USD",
},
etherscan:{
apiKey:process.env.ETHERSCAN_API_KEY,
},
智能合约的优势:
控制:在确认(或拒绝批准)合约履行的分布式系统中,多方不断地检查、重新检查和更新块条目,而其他缔约方拒绝任何不符合规定规则的履行。
安全:遵循合约逻辑,然后在所有区块链节点上同时运行程序。所有相关方都可以比较结果。只有在双方同意合约条款后,这些相关方才修改自己的区块版本。然后在整个网络中复制该块。
透明度和灵活性:任何区块链用户都可以评估合约逻辑和底层机制。它们中的每一个都可以验证和运行相同的代码。用户不能访问单独的合约,合约的所有细节只能由合约双方看到。如果其他用户接受合约条款和合约逻辑,那么简单地说,他们中的任何一个都可以为了自己的目的再次复制、修改和执行合约。