区块链的主要作用是储存信息。任何需要保存的信息,都可以写入区块链,也可以从里面读取,所以它是数据库。
其次,任何人都可以架设服务器,加入区块链网络,成为一个节点。区块链的世界里面,没有中心节点,每个节点都是平等的,都保存着整个数据库。你可以向任何一个节点,写入/读取数据,因为所有节点最后都会同步,保证区块链一致
区块链技术还有一个很重要的优势就是可追溯性和不可篡改性。在区块链上进行的每一笔交易都会被记录在区块链上,并且这些交易记录都是透明的,任何人都可以查看。Moreover,these records are tamperproof and will be immediately recognized even if someone wants to modify them.In this way,the security and fairness of the transaction are ensured.
从学术角度来解释,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。
#连接一个Kovan测试网上的用来计算支持接口常量值的智能合约
from web3.auto.infura.kovan import w3
#合约ABI。注意,这里所有的true和false要替换成python的True和False
contract_abi=[
{
"constant":True,
"inputs":[
{
"internalType":"string",
"name":"signature",
"type":"string"
}
],
"name":"getSelector",
"outputs":[
{
"internalType":"bytes4",
"name":"",
"type":"bytes4"
}
],
"payable":False,
"stateMutability":"pure",
"type":"function"
},
{
"constant":True,
"inputs":[
{
"internalType":"bytes4[]",
"name":"selectors",
"type":"bytes4[]"
}
],
"name":"getSupportedInterface",
"outputs":[
{
"internalType":"bytes4",
"name":"",
"type":"bytes4"
}
],
"payable":False,
"stateMutability":"pure",
"type":"function"
}
]
#Kovan测试网上合约地址
contract_address='0x07d74Cf0Ce4A1b10Ece066725DB1731515d62b76'
#构造合约对象
CalSelector=w3.eth.contract(address=contract_address,abi=contract_abi)