Ethereum: Arguments handed over to solidity scripts
When writing intelligent contracts in solidity, one of the most common challenges is to pass on arguments to scripts. In this article we will examine how arguments can be passed on to Solidity scripts, especially in a contract such as “MyContract”, which uses the “Run” function.
What are arguments?
In solidity, an argument is an argument that is handed over by the caller to the function that is executed by the Smart Treaty. For example, consider a simple contract with two functions: Function ADD (A Uint256, B Uint256) {}
and Function Multiply (a uint256, b uint256) {}
.
handed over arguments to scripts
To hand over an argument to a script, you must use the correct syntax to hand over variables as functional arguments. In solidity, this is usually done with the keyword “Call” followed by the argument name.
For example in the contract of “MyContract”:
`Solidity
Treaty MyContract {
// … (other functions)
Functional run (
Address _feecipient,
Uint256 _Feebase,
uint256 _taxbase,
…
) public {
// use the passed arguments here
Call (_Feerecipient, _Febase, _taxbase); // hand over the arguments as a functional call
}
}
`
In this example, we hand over address
andUint256
as functional arguments to the “Run” function.
hand over complex arguments
If you have to hand over a complex argument structure like an array or object, use the right syntax:
`Solidity
Functional run (
Address _feecipient,
Uint256 [] _FEEBASE,
uint256 [] [] _taxbase,
…
) public {
// use the passed arguments here
}
`
Here we pass a uint256 []
as the first argument _peebase
anduint256 [] [] as the second argument
_taxbase.
Tips and best practices
- Always use the right syntax to pass on arguments to scripts.
- Make sure you use the right arguments arguments (e.g.Uint256
instead of 'int
).
- Use “Call”, followed by the argument name to hand over variables as functional calls.
- Keep your functions precisely and focus on a single task because complex argumentation structures can make your code more difficult.
Example uses
Here is an example contract that shows how the “Run” function is used with various arguments:
`Solidity
Treaty MyContract {
Function ADD (Uint256 A, Uint256 B) Public {
// do something with the sum of A and B
uint256 result = a + b;
// hand the argument as a functional call
Call (result);
}
Multiply function (Uint256 A, Uint256 B) Public {
// do something with the product of A and B
uint256 result = a * b;
// hand the argument as a functional call
Call (result);
}
}
`
In this example, we use the functions “add” and “multiply” to demonstrate how various arguments are handed over to the “run” function.
By complying with these guidelines and best practices, you can write efficient and waiting solidity contracts that can handle complex argumentation structures without any problems.