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
TL;DR:
Today, the SEC made its biggest announcement yet: all the crypto exchanges are illegal unless they register with the SEC.
@siriusye
Spending money on those horrific and illegal fees is like burning it. Money needs to be taken to good use, which is development. Neither Binance nor Bitfinex is top exchanges. >85% of the exchanges' volume is fake volume. They are neither regulated, performant, or feature-rich. It also makes no sense in splitting liquidity if an already illiquid asset.
The token price will be boosted if the utility token is used in services and products. The current price is only formed by hype, FOMO, greed, and criminal activities by certain market participants.
Again, listed on a regulated exchanged is free! Resources for the token price? It's a utility token and price is formed by its usage.
She would only have lost money if she sold the token. No money would have been lost until a trade is settled. The golden rule of investing: only invest money you can afford to lose.
I would like to ask you what is the relationship between your red project and the block chain.
"Blockchain" is such a generic (and misused) term that it's impossible to figure what "relationships" you're talking about. Clearly, project's goals, related to blockchain, are described in the whitepaper.
So the ICO you made last year should not be based on ETH.
So, usage of crypto-assets is prohibited unless it's somehow "related to blockchain"? I have trouble following this leap of logic.
C3 has seriously deviated from its development plan so far.
Which is more than expected with experimental software and murky, constantly shifting landscape, such as Ethereum ecosystem.
And again, unless you have technical questions, move your inquires to Telegram channel.
We use PRTG monitoring at work, and I have found their article about the upcoming Facebook's Libra cryptocurrency. They don't seem to be all-positive about it. On an interesting side, they are introducing a statically typed language, called Move. The code looks kind of readable, but far from the DSL cleanness. Would it be worth to support Libry by C3? Or better - is that even technically possible, if it does not follow some cryptocurrency principles?
https://blog.paessler.com/the-unbearable-lightness-of-bitcoin
First, let me opine (state an opinion). The whitepaper says:
The Libra mission is to enable a simple global currency and financial infrastructure that empowers
billions of people
I believe that is disingenuous. Maybe the development team believes that, but if that was FB's mission for Libra, while FB's own mission, by law, is profit, they would have gone about it a different way. They want to empower people the same way FB wants to connect people.
That said, they want to ride the blockchain wave as well, and we've learned a lot from our time there. Like, having cryptographers design computing systems doesn't make for foolproof systems. It can make for an incredibly secure infrastructure that people can't use safely. Like having a bank vault door on your house, but you can easily lock yourself out, or accidentally leave it unlocked and not know it.
Let's look at a couple move
samples:
public deposit(payee: address, to_deposit: Coin) {
let to_deposit_value: u64 = Unpack<Coin>(move(to_deposit));
let coin_ref: &mut Coin = BorrowGlobal<Coin>(move(payee));
let coin_value_ref: &mut u64 = &mut move(coin_ref).value;
let coin_value: u64 = *move(coin_value_ref);
*move(coin_value_ref) = move(coin_value) + move(to_deposit_value);
}
public withdraw_from_sender(amount: u64): Coin {
let transaction_sender_address: address = GetTxnSenderAddress();
let coin_ref: &mut Coin = BorrowGlobal<Coin>(move(transaction_sender_address));
let coin_value_ref: &mut u64 = &mut move(coin_ref).value;
let coin_value: u64 = *move(coin_value_ref);
RejectUnless(copy(coin_value) >= copy(amount));
*move(coin_value_ref) = move(coin_value) - copy(amount);
let new_coin: Coin = Pack<Coin>(move(amount));
return move(new_coin);
}
If you want to avoid mistakes, that doesn't look like a language to help you do it.
But the name "Move" sparked a thought. It's just that, with no analysis. If what you want is the ability to move assets from one place to another, shouldn't that all be built in? You may have conditions to check, but if you just had one move
method, with a source, destination, and amount, it either works (atomically) or fails for some reason that it gives you (e.g. source account doesn't have enough funds).
In a world of separate systems, sure, you need deposit
and withdraw
, with some conversions possibly taking place as well. But within a single system, where there are X assets of a single type, that can only move from place to place, never being created or destroyed, you only need move
. Build that into the system and avoid the gobbledygook above, that will be done wrong by many people.
Can we support Libra? Yes. It's just a VM and bytecode. Should we? Not just yet.
"Smart-contract" itself is a very misleading term: in SCL (smart-contract language) research, it means any kind of automation of legal contracts and agreements between multiple parties, so, most papers that I've found concentrate only on this aspect.
I had Cardano in mind with Haskell
One of the seminal work in this area is, in fact, a Haskell parser combinator library (a DSL, basically) from Peyton-Jones, who IIRC worked on GHCi compiler and later established a fintech company that used this DSL. Most of home-brewed / academic SCL implementations are inspired by this work, like e.g. Findel or Simplicity. Findel's author also maintains a curated list of SCL resources, which you should check out.