# JAVA学习solidity智能合约2 **Published by:** [想住大房子的java程序员](https://paragraph.com/@java-3/) **Published on:** 2022-10-12 **URL:** https://paragraph.com/@java-3/java-solidity-2 ## Content 调用web3时,发送事务:合约地址对象.methods.合约函数名(参数) .send({ from: 账户名,value: web3js.utils.toWei("0.001","ether")}) .on("receipt", function(receipt) { //成功的逻辑 }) .on("error", function(error) { //失败后的处理逻辑 }); 其中,receipt 事件将在合约被包含进以太坊区块上以后被触发。 error 将在事务未被成功包含进区块后触发。比如用户未支付足够的 gas。我们需要在界面中通知用户事务失败以便他们可以再次尝试。 调用的参数传递中,如果是payable,那么可以传value: web3js.utils.toWei("0.001","ether")。调用web3时,发送消息。合约地址对象.methods.合约函数名(参数) .call(); call 用来调用 view 和 pure 函数. view 和 pure 函数是只读的并不会改变区块链的状态。它们也不会消耗任何gas。用户也不会被要求用MetaMask对事务签名。 ## Publication Information - [想住大房子的java程序员](https://paragraph.com/@java-3/): Publication homepage - [All Posts](https://paragraph.com/@java-3/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@java-3): Subscribe to updates