How smart contract transactions work?Smart Contracts and symmetric encryptionHow to track token...
Does the Freedom of Movement spell prevent petrification by the Flesh to Stone spell?
How can I store milk for long periods of time?
I failed to respond to a potential advisor
Doubt about a particular point of view on how to do character creation
Why don't "echo -e" commands seem to produce the right output?
How did the Altair 8800 front panel load the program counter?
Is this statement about a motion being simple harmonic in nature strong?
Break down the phrase "shitsurei shinakereba naranaindesu"
What's the origin of the concept of alternate dimensions/realities?
Does the telecom provider need physical access to the SIM card to clone it?
Am I required to correct my opponent's assumptions about my morph creatures?
What caused the end of cybernetic implants?
How to load files as a quickfix window at start-up
A word for the urge to do the opposite
How to investigate an unknown 1.5GB file named "sudo" in my Linux home directory?
Why do presidential pardons exist in a country having a clear separation of powers?
How is the casino term "a high roller" commonly expressed in German?
How can I portray a character with no fear of death, without them sounding utterly bored?
Create a list of snaking numbers under 50,000
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?
How do I get my neighbour to stop disturbing with loud music?
Do universities maintain secret textbooks?
Calculate Landau's function
Did NASA/JPL get "waning" and "waxing" backwards in this video?
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 10 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
9 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
9 hours ago
1
So, like in your example, the smart contract “modifies” the original transaction?
– GBis
9 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
9 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
8 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
2 hours 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
1 hour 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 9 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
9 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
9 hours ago
1
So, like in your example, the smart contract “modifies” the original transaction?
– GBis
9 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
9 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
8 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
9 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
9 hours ago
1
So, like in your example, the smart contract “modifies” the original transaction?
– GBis
9 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
9 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
8 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
9 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
9 hours ago
1
So, like in your example, the smart contract “modifies” the original transaction?
– GBis
9 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
9 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
8 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
9 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
9 hours ago
1
So, like in your example, the smart contract “modifies” the original transaction?
– GBis
9 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
9 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
8 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
9 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
9 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
9 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
9 hours ago
1
1
So, like in your example, the smart contract “modifies” the original transaction?
– GBis
9 hours ago
So, like in your example, the smart contract “modifies” the original transaction?
– GBis
9 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
9 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
9 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
8 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
8 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
2 hours 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
1 hour 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
2 hours 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
1 hour 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 2 hours 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
2 hours 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
1 hour 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
2 hours 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
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
2 hours 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
2 hours 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
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
1 hour 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