mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
0a1ec5023a
[DOCS] Move string manipulation FAQ items to type docs
59 lines
2.1 KiB
ReStructuredText
59 lines
2.1 KiB
ReStructuredText
###########################
|
|
Frequently Asked Questions
|
|
###########################
|
|
|
|
This list was originally compiled by `fivedogit <mailto:fivedogit@gmail.com>`_.
|
|
|
|
|
|
***************
|
|
Basic Questions
|
|
***************
|
|
|
|
If I return an ``enum``, I only get integer values in web3.js. How to get the named values?
|
|
===========================================================================================
|
|
|
|
Enums are not supported by the ABI, they are just supported by Solidity.
|
|
You have to do the mapping yourself for now, we might provide some help
|
|
later.
|
|
|
|
******************
|
|
Advanced Questions
|
|
******************
|
|
|
|
Get return value from non-constant function from another contract
|
|
=================================================================
|
|
|
|
The key point is that the calling contract needs to know about the function it intends to call.
|
|
|
|
See `ping.sol <https://github.com/fivedogit/solidity-baby-steps/blob/master/contracts/45_ping.sol>`_
|
|
and `pong.sol <https://github.com/fivedogit/solidity-baby-steps/blob/master/contracts/45_pong.sol>`_.
|
|
|
|
How do I initialize a contract with only a specific amount of wei?
|
|
==================================================================
|
|
|
|
Currently the approach is a little ugly, but there is little that can be done to improve it.
|
|
In the case of a ``contract A`` calling a new instance of ``contract B``, parentheses have to be used around
|
|
``new B`` because ``B.value`` would refer to a member of ``B`` called ``value``.
|
|
You will need to make sure that you have both contracts aware of each other's presence and that ``contract B`` has a ``payable`` constructor.
|
|
In this example::
|
|
|
|
pragma solidity ^0.5.0;
|
|
|
|
contract B {
|
|
constructor() public payable {}
|
|
}
|
|
|
|
contract A {
|
|
B child;
|
|
|
|
function test() public {
|
|
child = (new B).value(10)(); //construct a new B with 10 wei
|
|
}
|
|
}
|
|
|
|
More Questions?
|
|
===============
|
|
|
|
If you have more questions or your question is not answered here, please talk to us on
|
|
`gitter <https://gitter.im/ethereum/solidity>`_ or file an `issue <https://github.com/ethereum/solidity/issues>`_.
|