{"action":"created","issue":{"url":"https://api.github.com/repos/cluracan/send-tokens/issues/4","repository_url":"https://api.github.com/repos/cluracan/send-tokens","labels_url":"https://api.github.com/repos/cluracan/send-tokens/issues/4/labels{/name}","comments_url":"https://api.github.com/repos/cluracan/send-tokens/issues/4/comments","events_url":"https://api.github.com/repos/cluracan/send-tokens/issues/4/events","html_url":"https://github.com/cluracan/send-tokens/issues/4","id":353779984,"node_id":"MDU6SXNzdWUzNTM3Nzk5ODQ=","number":4,"title":"can we change default unit to 1 token?","user":{"login":"MareoRaft","id":860303,"node_id":"MDQ6VXNlcjg2MDMwMw==","avatar_url":"https://avatars0.githubusercontent.com/u/860303?v=4","gravatar_id":"","url":"https://api.github.com/users/MareoRaft","html_url":"https://github.com/MareoRaft","followers_url":"https://api.github.com/users/MareoRaft/followers","following_url":"https://api.github.com/users/MareoRaft/following{/other_user}","gists_url":"https://api.github.com/users/MareoRaft/gists{/gist_id}","starred_url":"https://api.github.com/users/MareoRaft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MareoRaft/subscriptions","organizations_url":"https://api.github.com/users/MareoRaft/orgs","repos_url":"https://api.github.com/users/MareoRaft/repos","events_url":"https://api.github.com/users/MareoRaft/events{/privacy}","received_events_url":"https://api.github.com/users/MareoRaft/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2018-08-24T13:16:43Z","updated_at":"2018-08-24T19:05:19Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"I would like to make a proposal for a \"major\" change, in the sense that it would require incrementing the major version number of the project.  I've thought a lot about this, so please hear me out :)\r\n\r\n## default unit proposal\r\n\r\nGiven the contract (token) address, the default (user-facing) unit of currency in this repo is 10^(-18) tokens.  I propose changing it to 1 token.  (It is perfectly fine if a different unit is used internally)\r\n\r\n## why?\r\n\r\nWhile it is common (and you probably know better than I do) to use 10^(-18) tokens as the unit in smart contracts, I think it is common to use 1 token as the unit for user-facing wallets.  For example, if a user wants to send his friend some money in Bela, he usually thinks \"I'm going to send John 15 Bela\".  Since this repo is user-facing and not meant as a building block for smart contracts, I think it will be easier for users if an amount of \"4\" and all other options default would send 4 tokens.  The popular MEW which focuses on etherium and etherium tokens also follows the convention of using 1 token (when sending ERC20 tokens) or 1 ether (when working in etherium) as the default unit that amounts are expressed in.  Also, as a \"token\" is the unit that was chosen to express ERC20 currency amounts in the first place, changing that unit introduces an extra layer of complication.\r\n\r\n## exponentiation naming scheme proposal\r\n\r\nI propose changing the name of the \"base\" option to \"exponent\" and changing \"b\" to \"e\" and/or \"E\".\r\n\r\n## why?\r\n\r\nConsider a situation of exponentiation such as 10^7.  In mathematics, the word \"base\" refers to the number that it repeatedly multiplied by itself (in this case 10), while the word \"power\" or \"exponent\" refers to the number of times the base is multiplied by itself (in this case 7).  Since we are expressing amounts in the form 3 * 10^7 (for example), the most reasonable choice for variable names referring to the \"7\" are \"power\", \"exponent\", and \"order\" (\"order\" being a shortening of \"order of magnitude\").  I think \"exponent\" is most appropriate because there is already a prevailing convention and international standard of expressing a number in the form 3e7 or 3E7 (for example).  In that convention (https://en.wikipedia.org/wiki/Scientific_notation#E-notation), the \"e\" does in fact stand for \"exponent\".\r\n\r\n## default exponent value proposal\r\n\r\nI propose changing the default exponent to 0.\r\n\r\n## why?\r\n\r\nFor the same reasons as in the default unit proposal, I believe a user entering \"4\" as the amount and accepting all defaults should sent 4 tokens.  Since 4 = 4e0, this would necessitate a default exponent of 0.\r\n\r\n## 'migration' proposal\r\n\r\nI propose warning Tyler and anybody who starred this repo directly about the upcoming change and making this change sooner rather than later.  I would also add a warning message in the send-tokens CLI itself to warn people about the change and force them to hit enter to continue the transaction.  This warning can be temporary for a few months.\r\n\r\n## why?\r\n\r\nMy natural instinct is to worry that this change will cause people to accidentally send the wrong amount to others.  However, there are some good reasons why this should not be a huge issue.  Firstly, this repository is extremely young (only 1 month old).  There is a good chance that you only have 1 or 2 users at this point.  Better to bite the bullet now than later, when the repo becomes super popular!  Secondly, a factor of 10^18 is so large that it works in our favor.  Someone trying to send 1 Bela, for example, would now try to send 10^18 Bela.  They don't have that many Bela in their wallet, so the transaction will be rejected.  In order for the transaction to go through, they would have to be trying to send around 10^(-12) Bela or less in the first place.  But no reasonable person would send such a small amount of Bela, since the transaction fee alone is thousands of times more than the amount they are sending.  Thirdly, a warning message should successfully get the attention of users.  Fourthly, temporarily requiring \"enter\" or some bypass_warning to be passed in will prevent scripts from automatically executing the command and thus bring the change to any programmer's attention.\r\n\r\nThank you kindly for hearing me out.  I am happy to dicuss more.  Have a great day.\r\nMatt\r\n"},"comment":{"url":"https://api.github.com/repos/cluracan/send-tokens/issues/comments/415853771","html_url":"https://github.com/cluracan/send-tokens/issues/4#issuecomment-415853771","issue_url":"https://api.github.com/repos/cluracan/send-tokens/issues/4","id":415853771,"node_id":"MDEyOklzc3VlQ29tbWVudDQxNTg1Mzc3MQ==","user":{"login":"MareoRaft","id":860303,"node_id":"MDQ6VXNlcjg2MDMwMw==","avatar_url":"https://avatars0.githubusercontent.com/u/860303?v=4","gravatar_id":"","url":"https://api.github.com/users/MareoRaft","html_url":"https://github.com/MareoRaft","followers_url":"https://api.github.com/users/MareoRaft/followers","following_url":"https://api.github.com/users/MareoRaft/following{/other_user}","gists_url":"https://api.github.com/users/MareoRaft/gists{/gist_id}","starred_url":"https://api.github.com/users/MareoRaft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MareoRaft/subscriptions","organizations_url":"https://api.github.com/users/MareoRaft/orgs","repos_url":"https://api.github.com/users/MareoRaft/repos","events_url":"https://api.github.com/users/MareoRaft/events{/privacy}","received_events_url":"https://api.github.com/users/MareoRaft/received_events","type":"User","site_admin":false},"created_at":"2018-08-24T19:05:19Z","updated_at":"2018-08-24T19:05:19Z","author_association":"CONTRIBUTOR","body":"I'm okay with the units behaving as you say as long as it's documented.  If they input `--units -6` or any negative, I vote for emitting an error.\r\n\r\nI'm happy with `decimals`.  It more closely means what it actually does, and I think users will understand it quickly."}}
{"actor":{"display_login":"MareoRaft"}}