How smart contract transactions work?Smart Contracts and symmetric encryptionHow to track token transactionsCreate broadcastable TX offline on WindowsBlockCypher Send TransactionWhat is the gas cost for verifying signature, run AES and conditional transaction?How to send transaction/call function from server-side?Different Values for v, r, s? What am I doing wrong?How can Contracts sign transactions, when they dont have a private key?0x0000000000000000000000000000000000000000 address behaviour
A vector is defined to have a magnitude and *a* direction, but the zero vector has no *single* direction. So, how is the zero vector a vector?
Do universities maintain secret textbooks?
My colleague treats me like he's my boss, yet we're on the same level
Can you use Apple Care+ without any checks (bringing just MacBook)?
How would a disabled person earn their living in a medieval-type town?
Break down the phrase "shitsurei shinakereba naranaindesu"
Questions about Noun+が+Adjective
A word for the urge to do the opposite
Fishing from underwater domes
Which is the correct version of Mussorgsky's Pictures at an Exhibition?
What is this "opened" cube called?
What are ways to record who took the pictures if a camera is used by multiple people?
Who declared the Last Alliance to be the "last" and why?
Why 50 Ω termination results in less noise than 1 MΩ termination on the scope reading?
Does the telecom provider need physical access to the SIM card to clone it?
Heavy Box Stacking
Why do motor drives have multiple bus capacitors of small value capacitance instead of a single bus capacitor of large value?
I failed to respond to a potential advisor
Understanding data transmission rates over copper wire
What's the origin of the concept of alternate dimensions/realities?
New coworker has strange workplace requirements - how should I deal with them?
What is the following VRP?
How smart contract transactions work?
Using font to highlight a god's speech in dialogue
How smart contract transactions work?
Smart Contracts and symmetric encryptionHow to track token transactionsCreate broadcastable TX offline on WindowsBlockCypher Send TransactionWhat is the gas cost for verifying signature, run AES and conditional transaction?How to send transaction/call function from server-side?Different Values for v, r, s? What am I doing wrong?How can Contracts sign transactions, when they dont have a private key?0x0000000000000000000000000000000000000000 address behaviour
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
I read that smart contracts don’t have a private key, so they can’t sign a transaction. My question is: when a smart contract starts a transaction to an EOA, how are we sure that the smart contract made the transaction if it doesn’t sign anything?
I’m new in this world and I'm still studying English, so please forgive the mistakes.
Thanks you
contract-development transactions blockchain addresses accounts
New contributor
add a comment |
I read that smart contracts don’t have a private key, so they can’t sign a transaction. My question is: when a smart contract starts a transaction to an EOA, how are we sure that the smart contract made the transaction if it doesn’t sign anything?
I’m new in this world and I'm still studying English, so please forgive the mistakes.
Thanks you
contract-development transactions blockchain addresses accounts
New contributor
add a comment |
I read that smart contracts don’t have a private key, so they can’t sign a transaction. My question is: when a smart contract starts a transaction to an EOA, how are we sure that the smart contract made the transaction if it doesn’t sign anything?
I’m new in this world and I'm still studying English, so please forgive the mistakes.
Thanks you
contract-development transactions blockchain addresses accounts
New contributor
I read that smart contracts don’t have a private key, so they can’t sign a transaction. My question is: when a smart contract starts a transaction to an EOA, how are we sure that the smart contract made the transaction if it doesn’t sign anything?
I’m new in this world and I'm still studying English, so please forgive the mistakes.
Thanks you
contract-development transactions blockchain addresses accounts
contract-development transactions blockchain addresses accounts
New contributor
New contributor
edited 9 hours ago
shane
3,4324 gold badges11 silver badges32 bronze badges
3,4324 gold badges11 silver badges32 bronze badges
New contributor
asked 9 hours ago
GBisGBis
63 bronze badges
63 bronze badges
New contributor
New contributor
add a comment |
add a comment |
3 Answers
3
active
oldest
votes
It's not so much about whether a smart contract has a private key or not; it's more about the fact that smart contracts can't initiate a transaction. All transactions are started by an EOA to either a smart contract or to another EOA.
If a transaction is sent to a contract the contract may include functionality to call another address within the same transaction (be it to another contract or to an EOA). We can always check msg.sender
to see where the transaction came from (who was the previous relayer - the very very original sender is visible with tx.origin
).
add a comment |
The smart contract can only send a transaction to an EOA if the transaction was initiated by an EOA. Smart contracts cannot initiate a transaction because they do not have a private key and cannot sign a transaction, as you said.
When value is being sent from a smart contract to an EOA, what is really happening is an EOA sending a transaction to the network that tells the smart contract to send value to the other EOA.
1
Thank you for the corrections and for the answer, I have a further doubt, you say: “an EOA sending a transaction to the network that tells the smart contract to send value to the other EOA“, so when the smart contract send value it mades a transaction, right? If true, how miners verify that the transaction is made by the smart contract?
– GBis
8 hours ago
Yes, every value transfer on Ethereum is through a transaction. For example, here is a transaction from an EOA (0x134...) to a contract (0x0d8...) that initiated a transfer of 31.71388712 BAT from the original EOA (0x134...) to a new EOA (0xdda...). Note: the second EOA (0xdda) could have also been a contract as well—it does not matter where the value gets sent to.
– shane
8 hours ago
1
So, like in your example, the smart contract “modifies” the original transaction?
– GBis
8 hours ago
No it does not. The sending EOA creates a transaction and signs it with his private key. This transaction tells the contract how to behave and what to do (it does this in thedata
field of the transaction). The transaction is never "modified". When the transaction is sent to the network, Ethereum processes what the transaction instructed it to do, which, in this case, was to send tokens to another address.
– shane
8 hours ago
1
Ok, therefore an eoa sends a transaction to a smart contract and when the miner verifies that transaction runs the code of the contract and in case add the new transaction “made” by the contract? Thank you for your patience and can you tell me where study the implementation of the “protocol”
– GBis
7 hours ago
|
show 1 more comment
Only an EOA can sign and send a transaction. It can be addressed to a contract in which case the contracts functions must run.
A contract's functions can send messages and/or value to other contracts in which case they also run, or to an EOA which just receives because it has no code.
All of this happens approximately instantaneously (after mining) because it is all considered part of a single atomic transaction that must either complete entirely or fail.
Hope it helps.
So, when i send a transaction to a smart contract, the miner execute the code and, if the smart contract want to send message, the miner add the message transaction?
– GBis
1 hour ago
The miner includes the transaction (inputs) in a block. Every full node runs the transaction to evaluate what it does for themselves. Running the transaction includes interactions with other contracts or EOAs.
– Rob Hitchens - B9lab
34 mins ago
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "642"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
GBis is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fethereum.stackexchange.com%2fquestions%2f74453%2fhow-smart-contract-transactions-work%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
It's not so much about whether a smart contract has a private key or not; it's more about the fact that smart contracts can't initiate a transaction. All transactions are started by an EOA to either a smart contract or to another EOA.
If a transaction is sent to a contract the contract may include functionality to call another address within the same transaction (be it to another contract or to an EOA). We can always check msg.sender
to see where the transaction came from (who was the previous relayer - the very very original sender is visible with tx.origin
).
add a comment |
It's not so much about whether a smart contract has a private key or not; it's more about the fact that smart contracts can't initiate a transaction. All transactions are started by an EOA to either a smart contract or to another EOA.
If a transaction is sent to a contract the contract may include functionality to call another address within the same transaction (be it to another contract or to an EOA). We can always check msg.sender
to see where the transaction came from (who was the previous relayer - the very very original sender is visible with tx.origin
).
add a comment |
It's not so much about whether a smart contract has a private key or not; it's more about the fact that smart contracts can't initiate a transaction. All transactions are started by an EOA to either a smart contract or to another EOA.
If a transaction is sent to a contract the contract may include functionality to call another address within the same transaction (be it to another contract or to an EOA). We can always check msg.sender
to see where the transaction came from (who was the previous relayer - the very very original sender is visible with tx.origin
).
It's not so much about whether a smart contract has a private key or not; it's more about the fact that smart contracts can't initiate a transaction. All transactions are started by an EOA to either a smart contract or to another EOA.
If a transaction is sent to a contract the contract may include functionality to call another address within the same transaction (be it to another contract or to an EOA). We can always check msg.sender
to see where the transaction came from (who was the previous relayer - the very very original sender is visible with tx.origin
).
answered 8 hours ago
Lauri PeltonenLauri Peltonen
7,9012 gold badges5 silver badges28 bronze badges
7,9012 gold badges5 silver badges28 bronze badges
add a comment |
add a comment |
The smart contract can only send a transaction to an EOA if the transaction was initiated by an EOA. Smart contracts cannot initiate a transaction because they do not have a private key and cannot sign a transaction, as you said.
When value is being sent from a smart contract to an EOA, what is really happening is an EOA sending a transaction to the network that tells the smart contract to send value to the other EOA.
1
Thank you for the corrections and for the answer, I have a further doubt, you say: “an EOA sending a transaction to the network that tells the smart contract to send value to the other EOA“, so when the smart contract send value it mades a transaction, right? If true, how miners verify that the transaction is made by the smart contract?
– GBis
8 hours ago
Yes, every value transfer on Ethereum is through a transaction. For example, here is a transaction from an EOA (0x134...) to a contract (0x0d8...) that initiated a transfer of 31.71388712 BAT from the original EOA (0x134...) to a new EOA (0xdda...). Note: the second EOA (0xdda) could have also been a contract as well—it does not matter where the value gets sent to.
– shane
8 hours ago
1
So, like in your example, the smart contract “modifies” the original transaction?
– GBis
8 hours ago
No it does not. The sending EOA creates a transaction and signs it with his private key. This transaction tells the contract how to behave and what to do (it does this in thedata
field of the transaction). The transaction is never "modified". When the transaction is sent to the network, Ethereum processes what the transaction instructed it to do, which, in this case, was to send tokens to another address.
– shane
8 hours ago
1
Ok, therefore an eoa sends a transaction to a smart contract and when the miner verifies that transaction runs the code of the contract and in case add the new transaction “made” by the contract? Thank you for your patience and can you tell me where study the implementation of the “protocol”
– GBis
7 hours ago
|
show 1 more comment
The smart contract can only send a transaction to an EOA if the transaction was initiated by an EOA. Smart contracts cannot initiate a transaction because they do not have a private key and cannot sign a transaction, as you said.
When value is being sent from a smart contract to an EOA, what is really happening is an EOA sending a transaction to the network that tells the smart contract to send value to the other EOA.
1
Thank you for the corrections and for the answer, I have a further doubt, you say: “an EOA sending a transaction to the network that tells the smart contract to send value to the other EOA“, so when the smart contract send value it mades a transaction, right? If true, how miners verify that the transaction is made by the smart contract?
– GBis
8 hours ago
Yes, every value transfer on Ethereum is through a transaction. For example, here is a transaction from an EOA (0x134...) to a contract (0x0d8...) that initiated a transfer of 31.71388712 BAT from the original EOA (0x134...) to a new EOA (0xdda...). Note: the second EOA (0xdda) could have also been a contract as well—it does not matter where the value gets sent to.
– shane
8 hours ago
1
So, like in your example, the smart contract “modifies” the original transaction?
– GBis
8 hours ago
No it does not. The sending EOA creates a transaction and signs it with his private key. This transaction tells the contract how to behave and what to do (it does this in thedata
field of the transaction). The transaction is never "modified". When the transaction is sent to the network, Ethereum processes what the transaction instructed it to do, which, in this case, was to send tokens to another address.
– shane
8 hours ago
1
Ok, therefore an eoa sends a transaction to a smart contract and when the miner verifies that transaction runs the code of the contract and in case add the new transaction “made” by the contract? Thank you for your patience and can you tell me where study the implementation of the “protocol”
– GBis
7 hours ago
|
show 1 more comment
The smart contract can only send a transaction to an EOA if the transaction was initiated by an EOA. Smart contracts cannot initiate a transaction because they do not have a private key and cannot sign a transaction, as you said.
When value is being sent from a smart contract to an EOA, what is really happening is an EOA sending a transaction to the network that tells the smart contract to send value to the other EOA.
The smart contract can only send a transaction to an EOA if the transaction was initiated by an EOA. Smart contracts cannot initiate a transaction because they do not have a private key and cannot sign a transaction, as you said.
When value is being sent from a smart contract to an EOA, what is really happening is an EOA sending a transaction to the network that tells the smart contract to send value to the other EOA.
answered 9 hours ago
shaneshane
3,4324 gold badges11 silver badges32 bronze badges
3,4324 gold badges11 silver badges32 bronze badges
1
Thank you for the corrections and for the answer, I have a further doubt, you say: “an EOA sending a transaction to the network that tells the smart contract to send value to the other EOA“, so when the smart contract send value it mades a transaction, right? If true, how miners verify that the transaction is made by the smart contract?
– GBis
8 hours ago
Yes, every value transfer on Ethereum is through a transaction. For example, here is a transaction from an EOA (0x134...) to a contract (0x0d8...) that initiated a transfer of 31.71388712 BAT from the original EOA (0x134...) to a new EOA (0xdda...). Note: the second EOA (0xdda) could have also been a contract as well—it does not matter where the value gets sent to.
– shane
8 hours ago
1
So, like in your example, the smart contract “modifies” the original transaction?
– GBis
8 hours ago
No it does not. The sending EOA creates a transaction and signs it with his private key. This transaction tells the contract how to behave and what to do (it does this in thedata
field of the transaction). The transaction is never "modified". When the transaction is sent to the network, Ethereum processes what the transaction instructed it to do, which, in this case, was to send tokens to another address.
– shane
8 hours ago
1
Ok, therefore an eoa sends a transaction to a smart contract and when the miner verifies that transaction runs the code of the contract and in case add the new transaction “made” by the contract? Thank you for your patience and can you tell me where study the implementation of the “protocol”
– GBis
7 hours ago
|
show 1 more comment
1
Thank you for the corrections and for the answer, I have a further doubt, you say: “an EOA sending a transaction to the network that tells the smart contract to send value to the other EOA“, so when the smart contract send value it mades a transaction, right? If true, how miners verify that the transaction is made by the smart contract?
– GBis
8 hours ago
Yes, every value transfer on Ethereum is through a transaction. For example, here is a transaction from an EOA (0x134...) to a contract (0x0d8...) that initiated a transfer of 31.71388712 BAT from the original EOA (0x134...) to a new EOA (0xdda...). Note: the second EOA (0xdda) could have also been a contract as well—it does not matter where the value gets sent to.
– shane
8 hours ago
1
So, like in your example, the smart contract “modifies” the original transaction?
– GBis
8 hours ago
No it does not. The sending EOA creates a transaction and signs it with his private key. This transaction tells the contract how to behave and what to do (it does this in thedata
field of the transaction). The transaction is never "modified". When the transaction is sent to the network, Ethereum processes what the transaction instructed it to do, which, in this case, was to send tokens to another address.
– shane
8 hours ago
1
Ok, therefore an eoa sends a transaction to a smart contract and when the miner verifies that transaction runs the code of the contract and in case add the new transaction “made” by the contract? Thank you for your patience and can you tell me where study the implementation of the “protocol”
– GBis
7 hours ago
1
1
Thank you for the corrections and for the answer, I have a further doubt, you say: “an EOA sending a transaction to the network that tells the smart contract to send value to the other EOA“, so when the smart contract send value it mades a transaction, right? If true, how miners verify that the transaction is made by the smart contract?
– GBis
8 hours ago
Thank you for the corrections and for the answer, I have a further doubt, you say: “an EOA sending a transaction to the network that tells the smart contract to send value to the other EOA“, so when the smart contract send value it mades a transaction, right? If true, how miners verify that the transaction is made by the smart contract?
– GBis
8 hours ago
Yes, every value transfer on Ethereum is through a transaction. For example, here is a transaction from an EOA (0x134...) to a contract (0x0d8...) that initiated a transfer of 31.71388712 BAT from the original EOA (0x134...) to a new EOA (0xdda...). Note: the second EOA (0xdda) could have also been a contract as well—it does not matter where the value gets sent to.
– shane
8 hours ago
Yes, every value transfer on Ethereum is through a transaction. For example, here is a transaction from an EOA (0x134...) to a contract (0x0d8...) that initiated a transfer of 31.71388712 BAT from the original EOA (0x134...) to a new EOA (0xdda...). Note: the second EOA (0xdda) could have also been a contract as well—it does not matter where the value gets sent to.
– shane
8 hours ago
1
1
So, like in your example, the smart contract “modifies” the original transaction?
– GBis
8 hours ago
So, like in your example, the smart contract “modifies” the original transaction?
– GBis
8 hours ago
No it does not. The sending EOA creates a transaction and signs it with his private key. This transaction tells the contract how to behave and what to do (it does this in the
data
field of the transaction). The transaction is never "modified". When the transaction is sent to the network, Ethereum processes what the transaction instructed it to do, which, in this case, was to send tokens to another address.– shane
8 hours ago
No it does not. The sending EOA creates a transaction and signs it with his private key. This transaction tells the contract how to behave and what to do (it does this in the
data
field of the transaction). The transaction is never "modified". When the transaction is sent to the network, Ethereum processes what the transaction instructed it to do, which, in this case, was to send tokens to another address.– shane
8 hours ago
1
1
Ok, therefore an eoa sends a transaction to a smart contract and when the miner verifies that transaction runs the code of the contract and in case add the new transaction “made” by the contract? Thank you for your patience and can you tell me where study the implementation of the “protocol”
– GBis
7 hours ago
Ok, therefore an eoa sends a transaction to a smart contract and when the miner verifies that transaction runs the code of the contract and in case add the new transaction “made” by the contract? Thank you for your patience and can you tell me where study the implementation of the “protocol”
– GBis
7 hours ago
|
show 1 more comment
Only an EOA can sign and send a transaction. It can be addressed to a contract in which case the contracts functions must run.
A contract's functions can send messages and/or value to other contracts in which case they also run, or to an EOA which just receives because it has no code.
All of this happens approximately instantaneously (after mining) because it is all considered part of a single atomic transaction that must either complete entirely or fail.
Hope it helps.
So, when i send a transaction to a smart contract, the miner execute the code and, if the smart contract want to send message, the miner add the message transaction?
– GBis
1 hour ago
The miner includes the transaction (inputs) in a block. Every full node runs the transaction to evaluate what it does for themselves. Running the transaction includes interactions with other contracts or EOAs.
– Rob Hitchens - B9lab
34 mins ago
add a comment |
Only an EOA can sign and send a transaction. It can be addressed to a contract in which case the contracts functions must run.
A contract's functions can send messages and/or value to other contracts in which case they also run, or to an EOA which just receives because it has no code.
All of this happens approximately instantaneously (after mining) because it is all considered part of a single atomic transaction that must either complete entirely or fail.
Hope it helps.
So, when i send a transaction to a smart contract, the miner execute the code and, if the smart contract want to send message, the miner add the message transaction?
– GBis
1 hour ago
The miner includes the transaction (inputs) in a block. Every full node runs the transaction to evaluate what it does for themselves. Running the transaction includes interactions with other contracts or EOAs.
– Rob Hitchens - B9lab
34 mins ago
add a comment |
Only an EOA can sign and send a transaction. It can be addressed to a contract in which case the contracts functions must run.
A contract's functions can send messages and/or value to other contracts in which case they also run, or to an EOA which just receives because it has no code.
All of this happens approximately instantaneously (after mining) because it is all considered part of a single atomic transaction that must either complete entirely or fail.
Hope it helps.
Only an EOA can sign and send a transaction. It can be addressed to a contract in which case the contracts functions must run.
A contract's functions can send messages and/or value to other contracts in which case they also run, or to an EOA which just receives because it has no code.
All of this happens approximately instantaneously (after mining) because it is all considered part of a single atomic transaction that must either complete entirely or fail.
Hope it helps.
answered 1 hour ago
Rob Hitchens - B9labRob Hitchens - B9lab
32.8k7 gold badges48 silver badges88 bronze badges
32.8k7 gold badges48 silver badges88 bronze badges
So, when i send a transaction to a smart contract, the miner execute the code and, if the smart contract want to send message, the miner add the message transaction?
– GBis
1 hour ago
The miner includes the transaction (inputs) in a block. Every full node runs the transaction to evaluate what it does for themselves. Running the transaction includes interactions with other contracts or EOAs.
– Rob Hitchens - B9lab
34 mins ago
add a comment |
So, when i send a transaction to a smart contract, the miner execute the code and, if the smart contract want to send message, the miner add the message transaction?
– GBis
1 hour ago
The miner includes the transaction (inputs) in a block. Every full node runs the transaction to evaluate what it does for themselves. Running the transaction includes interactions with other contracts or EOAs.
– Rob Hitchens - B9lab
34 mins ago
So, when i send a transaction to a smart contract, the miner execute the code and, if the smart contract want to send message, the miner add the message transaction?
– GBis
1 hour ago
So, when i send a transaction to a smart contract, the miner execute the code and, if the smart contract want to send message, the miner add the message transaction?
– GBis
1 hour ago
The miner includes the transaction (inputs) in a block. Every full node runs the transaction to evaluate what it does for themselves. Running the transaction includes interactions with other contracts or EOAs.
– Rob Hitchens - B9lab
34 mins ago
The miner includes the transaction (inputs) in a block. Every full node runs the transaction to evaluate what it does for themselves. Running the transaction includes interactions with other contracts or EOAs.
– Rob Hitchens - B9lab
34 mins ago
add a comment |
GBis is a new contributor. Be nice, and check out our Code of Conduct.
GBis is a new contributor. Be nice, and check out our Code of Conduct.
GBis is a new contributor. Be nice, and check out our Code of Conduct.
GBis is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to Ethereum Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fethereum.stackexchange.com%2fquestions%2f74453%2fhow-smart-contract-transactions-work%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown