智能合约在去信任化环境下,按顺序触发设定的合约内容并完成系列安全的自动化操作,为智能合约的实践提供了技术保障。
智能合约是运行在区块链公链上的一种代码,该代码由Solidity编写,并通过区块链的智能合约虚拟机来执行,以达到对区块链编程的目标。可以将区块链公联理解为操作系统,Solidity是编写该操作系统应用程序的编程语言,智能合约虚拟机则是编程语言编译之后的代码运行环境。
区块数据包含区块头与区块体,区块体存储具体的交易及交易相关的原始数据,区块头存储的是原始数据的Hash信息,任何对原始数据的修改,都会引起区块头Hash值的变化,这样对任何信息的篡改都很容易被察觉到并被验证为假数据。
区块的作用就是将不同时间阶段内的交易数据按照一定的格式和数量,打包成结构化数据,方便存储和管理。
<dependencies>
<!--web3j-->
<dependency>
<groupId>org.web3j</groupId>
<artifactId>core</artifactId>
<version>5.0.0</version>
</dependency>
<dependency>
<groupId>org.web3j</groupId>
<artifactId>codegen</artifactId>
<version>5.0.0</version>
</dependency>
<!--由于ether-camp/solcJ不再维护,所以使用了FISCO-BCOS/solcj-->
<dependency>
<groupId>org.fisco-bcos</groupId>
<artifactId>solcJ</artifactId>
<version>0.5.2.0</version>
</dependency>
<!--https://mvnrepository.com/artifact/commons-io/commons-io-->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
<!--https://mvnrepository.com/artifact/com.squareup.okhttp3/okhttp-->
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>4.4.0</version>
</dependency>
<!--https://mvnrepository.com/artifact/com.squareup.okhttp3/okhttp-ws-->
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp-ws</artifactId>
<version>3.4.2</version>
</dependency>
</dependencies>