To send data, we'll use cast send
to send a transaction that we signed with our private key to the network. We use Cast to call the increment
function we built in a previous lesson. Then we will check Anvil to see the logs that our transaction generated.
Noah Hein: [0:01] If we want to change state on the chain, and we want to send a transaction, that will increase our contract's state. In this case, we're going to change it from 10 to 11. [0:14] We're going to call the increment. We'll go back over here, and we'll do cast send. Cast send takes a different parameter here. Instead of getNum, we're going to want to go back to our ABI. We'll open up another window, and we'll do that again.
[0:33] We'll forge inspect <Number> abi. Here we can see that this is decrement. Let's grab wherever our increment is, so here. That's increment. What we will do is we will say instead of getNum, increment. Since we are sending something up onto the chain, we are going to need to pass it a private key. We can go back to Anvil. Again, we can grab this private key.
[1:12] To show you that this is totally permissionless, we'll grab something else. This would replicate or simulate someone else interacting with the smart contract that you deployed up onto the chain. We'll do private-key. Then, we will send that.
[1:29] Awesome. Here, you can see that we got 1 back. We got a new blockHash. You can see now that our blockNumber has incremented to 2. You can see from our original deployment, the blockNumber was 1.
[1:45] Unlike the regular blockchain that is constantly moving forward the blockNumbers, Anvil isn't unnecessarily using your CPU. It will only "mine" a transaction whenever you send something. If you go back over to your Anvil server, you will see that "Hey, there is a new transaction. We have a new blockNumber."
[2:06] We'll call that one more time to just show, "Hey, cool, all of this is working." You can see that the blockNumber increments to 3. Awesome. It looks like those transactions are going through. Let's call getNum again. If you read hexadecimal, you can see that this would now map to 12. You can see that a was 10. Then, b would have been 11. Now, c is 12.
Member comments are a way for members to communicate, interact, and ask questions about a lesson.
The instructor or someone from the community might respond to your question Here are a few basic guidelines to commenting on egghead.io
Be on-Topic
Comments are for discussing a lesson. If you're having a general issue with the website functionality, please contact us at support@egghead.io.
Avoid meta-discussion
Code Problems?
Should be accompanied by code! Codesandbox or Stackblitz provide a way to share code and discuss it in context
Details and Context
Vague question? Vague answer. Any details and context you can provide will lure more interesting answers!