Before asking generic blockchain questions, you might want to study these first: — Getting up to speed on Ethereum: https://medium.com/@mattcondon/getting-up-to-speed-on-ethereum-63ed28821bbe — Illustrated basics of blockchains: https://www.youtube.com/watch?v=bBC-nXj3Ng4
>> probe system/locale/currencies/list
[
AED AFN ALL AMD ANG AOA ARS AUD AWG AZN BAM BBD BDT BTC BGN BHD BIF BMD BND BOB BRL BSD
BTN BWP BYN BZD CAD CDF CHF CKD CLP CNY COP CRC CUC CUP CVE CZK DJF DKK DOP DZD EGP ERN
ETB ETH EUR FJD FKP FOK GBP GEL GGP GHS GIP GMD GNF GTQ GYD HKD HNL HRK HTG HUF IDR ILS
IMP INR IQD IRR ISK JEP JMD JOD JPY KES KGS KHR KID KMF KPW KRW KWD KYD KZT LAK LBP LKR
LRD LSL LYD MAD MDL MGA MKD MMK MNT MOP MRU MUR MVR MWK MXN MYR MZN NAD NGN NIO NOK NPR
NZD OMR PAB PEN PGK PHP PKR PLN PND PRB PYG QAR RED RON RSD RUB RWF SAR SBD SCR SDG SEK
SGD SHP SLL SLS SOS SRD SSP STN SYP SZL THB TJS TMT TND TOP TRY TTD TVD TWD TZS UAH UGX
USD UYU UZS VES VND VUV WST CFA XAF XCD XOF CFP XPF YER ZAR ZMW
]
>> m: XYZ$30
*** Syntax Error: (line 1) invalid money at XYZ$30
>> append system/locale/currencies/list 'XYZ
>> m: XYZ$42
== XYZ$42.00
>> ?? system/locale/currencies/on-deep-change*
system/locale/currencies/on-deep-change*: func [owner word target action new index part][
if any [
word <> 'list
not find [append appended] action
not word? :new
all [action = 'append any [find list new 255 < length? list]]
3 <> length? form new
] [cause-error 'script 'protected []]
if action = 'appended [set-slot-quiet back tail list to word! uppercase form new]
]
3 <> length? form new
line.
OK, but without some upper boundary we're setting up a fertile ground for things like MYCOOLTOKEN$1337
.
Anyway, if using currencies with more than 3 letters is something urgent for your project, I can look into that, but the usual procedure is that you open a wish ticket and wait for eons for it to be evaluated and then maybe fulfilled :wink:
we don't follow the standard strictly
As I said, ISO 4217 doesn't mandate that "all the rest of the currency codes not in the list are forbidden to be in use, and if you do use them then you are Bad and you should feel Bad!". By saying that ISO 4217 is supported we say that e.g. PHP
is Philippine peso and not some token that PHP Language Foundation decided to create, like Red Foundation did with RED.
The goal is to be useful to the most people, and the standard helps with that as a guideline. BTC, ETH, and RED are special crypto cases. Beyond that, we may want to consider a model like the standard uses (country code + currency letter, or X + precious metal symbol). There are pros and cons to short names too. In finance it's well known, and makes it easy to format things uniformly. That is, the codes are not meant to be self explanatory. That may help normal people, but not experts in the domain.
The proliferation of cryptocurrencies is insane, but it's a new world too. We have to choose between playing favorites (RED) and blessing some, eliminating limits, or telling people that they just need to come up with a moniker that fits our 3-letter model. Right now we've blessed a few, and if someone wants to use theirs with money, how painful is it to use _X3
or _DA
?
3 letters is certainly limiting, but we should think about other issues, e.g., special characters.
@loziniak
>> append system/locale/currencies/list 'x3mb ()
>> X3MB$1330 + 7
== X3MB$1337.00
>> append system/locale/currencies/list 'moon-soon ()
>> negate -moon-soon$42
== MOON-SOON$42.00
Exclusive offer! :wink: Hacked in a few hours and not thoroughly tested though, so play with that and see how bad it is. I'll keep the branch around as a PoC for your wish, in case it will be granted.