text:
Plutus Playground Client fails to load: npm ERR! code ELIFECYCLE
$ nix --version
nix (Nix) 2.5.1

$ ghci --version
The Glorious Glasgow Haskell Compilation System, version 8.10.4.20210212

$ cat /etc/issue
Ubuntu 21.10 \n \l

I have the plutus playground server running inside a nix-shell in another terminal:
$ netstat -natlp | grep plutus
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      3772215/plutus-play

Then i get into another nix-shell, cd to the plutus-playground-client (i already did git checkout 41149926c108c71831cfe8d244c83b0ee4bf5c8a) and run npm start or npm run start
This is what i'm getting anyway:
16:33 :) ../plutus-playground-client # npm start

> plutus-playground-client@1.0.0 start /home/atcasanova/plutus/plutus-apps/plutus-playground-client
> plutus-playground-generate-purs && npm install && npm run install:spago && npm run build:webpack:dev

[Info] Running: (Nothing,PSGenerator {_outputDir = "generated"})
The following purescript packages are needed by the generated code:

  - plutus-playground-client
  - purescript-argonaut-codecs
  - purescript-either
  - purescript-enums
  - purescript-lists
  - purescript-maybe
  - purescript-newtype
  - purescript-ordered-collections
  - purescript-prelude
  - purescript-profunctor-lenses
  - purescript-tuples
  - web-common

Successfully created your PureScript modules!

Successfully created your servant API purescript functions!
Please make sure you have purescript-servant-support and purescript-bridge-json-helpers installed

plutus-playground-server: user error (Error evaluating simulation: InterpreterError (CompilationErrors [RawError "/nix/store/xvj7mn015p98yypgwvzk4cq31b9j5xq7-plutus-ledger-constraints-lib-plutus-ledger-constraints-0.1.0.0/lib/x86_64-linux-ghc-8.10.4.20210212/libHSplutus-ledger-constraints-0.1.0.0-EN1avZ1OL0p63dNgqFuLBm-ghc8.10.4.20210212.so: undefined symbol: plutuszmledgerzmapizm0zi1zi0zi0zmKIxxnVyHrLq1ei02VYnb9P_PlutusziV1ziLedgerziBytes_zdwzdcshowsPrec_info\n"]))
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! plutus-playground-client@1.0.0 start: `plutus-playground-generate-purs && npm install && npm run install:spago && npm run build:webpack:dev`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the plutus-playground-client@1.0.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2022-01-13T19_34_10_171Z-debug.log

I guess it's fixed.
At first i was running the ubuntu-packed version of nix-bin, which was 2.3.10.
I then downloaded the newest version of nix following these instructions.
After loading the new version (since i've installed it with the --no-daemon flag i had to load a shell script) it kept malfunctioning. Then another user on the discord channel told me it would be nice to do a garbage collect and rebuild the server since i changed versions.
nix-collect-garbage
nix-build -A plutus-playground.server

It took a few hours but when it was done i've got everything running.

I was able to overcome this issue by running GC_DONT_GC=1 npm start.

What exactly that means?

Can you make this answer more clear and explicit?  We are catering to varied skill levels and many visitors whose native language is not English.  The few extra minutes it takes to make the answer clear and precise benefits everybody.

It will also make it more likely that @alfredo will mark it as the accepted answer. ;-)

I had the same issue with the commit from the setup guide 41149926c108c71831cfe8d244c83b0ee4bf5c8a. Using different commit worked for me. You can try git checkout 7f53f18dfc788bf6aa929f47d840efa1247e11fd.

Welcome to Cardano SE! As a new user be sure to take the [Tour].

Please make sure you have purescript-servant-support and purescript-bridge-json-helpers installed
Have you tried installing those ?

Welcome to Cardano SE! As a new user be sure to take the [Tour].


text:
How does Mithril increase Cardano network throughput?
Charles talks about Mithril as a means to light client wallets.
My understanding of mithril is it takes a screenshot of sorts of upcoming blocks and by representing the blocks in a lighter manner for validation it can improve the network throughput.
So the reason this speeds up wallets is because it's less data to download.
I can understand how this helps for light client wallets but I understand less so how it helps increase network throughput. Is it that it allows for quicker validation of blocks because its less information to be passing around? At that point is it fair to say it doesn't speed up the network so much but instead would allow Cardano to speed up the network if they wanted to move to a more DAG style network design?

Welcome to Cardano SE! As a new user be sure to take the [Tour].

source: Stack Exchange

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/

sort: votes


text:
nix-shell did not create the server/client directories
I am trying to follow the instructions in https://docs.plutus-community.com/docs/setup/Ubuntu.html
The nix-shell command completes without any errors. But, I cannot cd to plutus-plaground-server or plutus-playground-client because these two directories were not created.
Below is the output of running nix-shell :
[nix-shell:~/plutus]$ nix-shell
trace: To materialize project.plan-nix for Agda entirely, pass a writable path as the `materialized` argument and run the 'updateMaterialized' script in 'passthru'.
trace: To materialize project.plan-nix for cabal-install entirely, pass a writable path as the `materialized` argument and run the 'updateMaterialized' script in 'passthru'.
trace: To materialize project.plan-nix for haskell-project entirely, pass a writable path as the `materialized` argument and run the 'updateMaterialized' script in 'passthru'.
trace: To materialize project.plan-nix for haskell-project entirely, pass a writable path as the `materialized` argument and run the 'updateMaterialized' script in 'passthru'.
nix-pre-commit-hooks: hooks up to date
pid 6368's current affinity list: 0-11
pid 6368's new affinity list: 0-11

These are the entries in plutus directory :
Any idea what I may be doing wrong ?
[nix-shell:~/plutus]$ ls
cabal.project       flake.lock  papers             plutus-metatheory           release.nix  result-5    stubs
ci.nix              flake.nix   plutus-benchmark   plutus-report               result       result-6    word-array
CONTRIBUTING.adoc   LICENSE     plutus-core        plutus-tx                   result-1     result-7
default.nix         nix         plutus-core-spec   plutus-tx-plugin            result-2     scripts
doc                 notes       plutus-errors      prettyprinter-configurable  result-3     shell.nix
extended-utxo-spec  NOTICE      plutus-ledger-api  README.adoc                 result-4     stack.yaml

It looks like those folders are not in the git repo. I am running into same problem.
I am following instructions for MacOS from here:
https://docs.plutus-community.com/docs/setup/MacOS.html
And didn't realize it until i tried to build the playground client and server.
When i try to build with this command:
$ nix-build -A plutus-playground.client --option system x86_64-darwin
I get this error:
error: attribute 'plutus-playground' in selection path 'plutus-playground.client' not found
because the folder isn't there.
It looks like it has been removed. From this doc, I checked out the commit they mention:
https://tutorials.cardanoacademy.io/plutus-pioneer-program/setting-up-plutus-playground/cloning-plutus-repository
Like this:
$ git checkout 3746610e53654a1167aeb4c6294c6096d16b0502
Now the folders are there.

This is documentation drift. Those two applications have moved to the plutus-apps repository. If you do the same exact steps cloning plutus-apps instead of plutus repository, it will work.

Thank you! Builds now. plutus-pab not building with this command: $ nix-build -A plutus-pab
error is:
error: attribute 'plutus-pab' in selection path 'plutus-pab' not found

Please open another question for pan is you need assistance

You have to create these directories yourself and the "nix.conf" file with the contents from https://github.com/input-output-hk/plutus#iohk-binary-cache.
Maybe this video will help you:
https://www.youtube.com/watch?v=Cdu0gzCiYbY&t=758s

The nix.conf is fine. The video did not help.

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
Playground returning: ERR_CONNECTION_REFUSED after power-cycle of host
I was able to run the playground on localhost yesterday. Then I turned off the computer.
Today, I restarted nix-shell and started the client/server, but now the browser is not loading and giving error: ERR_CONNECTION_REFUSED
Tried changing the webpack:server value in package.json and rebuilt the code, but still did not help.
Any idea why it was working one day and not the next day?

What OS is this? Did you restart the playground server? Is the process still alive?

Please ignore this question. I just reinstalled the repositories and rebuild the code following the 1st lecture. Not seeing the problem now. Thanks.


text:
I have downloaded deadlus wallet from the testnet and now what?
I have downloaded deadalus wallet for testing with Ada from this link: https://testnets.cardano.org/en/testnets/cardano/get-started/wallet/
I couldn't find a link which helps me to figure out how to install the same on my linux 64 bit machine.
However, I have some questions:

How to install this in my local linux machine?
Do i have to take it online 24*7
Can i use the same wallet if i am going to use the real ada on this particular system.

My intention is to develop a token on the top of cardano block chain.

See IOHK Zendesk article: Installing Daedalus Testnet wallet

Log in to the target Linux or UNIX system.

Go to the directory that contains the installation program.

Launch the installation by entering the following commands:

chmod a+x filename.bin
./filename.bin


text:
Cardano-node updated to 1.33.0 - gLiveView not connecting to node
I have updated my relay node to 1.33.0 and gLiveView will not run.  The node is up and running and I can see it working with simpleLiveView, but when i run gLiveView I get an error. "could not connect to running instance"
Node is running

simpleLiveView

Node version is 1.33.0

This is the error for gLiveView

Any ideas where I can start to troubleshoot the issue?
Thanks,

Have you ensured that all your path variables are set appropriately in your ~/.bashrc folder, and that gLiveView is updated to the latest version (v1.25.1)?

if i am right, that you use cntools, please read below...
take a backup of your files in the folder "scripts",
and download again the env and gLive files.
if you want download all your files, just to be updated.
cd tmp/
./prereqs.sh -f

but please, dont forget to take backup of your current files, so that you bring back the settings to env file and the rest you use.

Thank you for the reply, yes that is correct I use cntools. In my env file the only change I have made is to set the port CNODE_PORT=6000 like in the guild-operators common env  [link] (https://cardano-community.github.io/guild-operators/Scripts/env/) is there something else i shoud check in the env file?  Should I replace all the script files in the folder or just the gLive files?

it looks you run a relay, then is fine only the setting for the port. - when you ask me for all files or only gLive, i used to update all files once per month. it is good. but you dont have to. - it would be nice if you vote my answers if that helps you mate.

Yeah, it did not solve my issue.  I did the ./prereqs.sh update, but still cannot run gLiveView


text:
How to get protocol parameters **only for latest epoch** with GraphQL?
How can I get protocol parameters only for the latest epoch using GraphQL?
I can get protocol parameters with cardano-cli:
cardano-cli query protocol-parameters \
  --testnet-magic 1097911063 \
  --out-file $HOME/cardano/protocol.json

I can get protocol parameters for multiple epochs with help of this query
https://github.com/input-output-hk/cardano-graphql/blob/master/packages/api-cardano-db-hasura/src/example_queries/epochs/epochProtocolParams.graphql

I've found the solution:
query currentEpochProtocolParams {
  cardano {
    currentEpoch {
      number
      protocolParams {
        a0
        coinsPerUtxoWord
        collateralPercent
        costModels
        decentralisationParam
        eMax
        extraEntropy
        keyDeposit
        maxBlockBodySize
        maxBlockExMem
        maxBlockExSteps
        maxBlockHeaderSize
        maxCollateralInputs
        maxTxExMem
        maxTxExSteps
        maxTxSize
        maxValSize
        minFeeA
        minFeeB
        minPoolCost
        minUTxOValue
        nOpt
        poolDeposit
        priceMem
        priceStep
        protocolVersion
        rho
        tau
      }
    }
  }
}


text:
Can two-factor authentication (2FA) be added to the Daedalus and Yoroi wallets?
I would like to ask if it is possible to implement 2FA at the wallets of cardano for increased security. As I see it we like to attract people from developing world they don't have access to hardware wallets and definitely the price of them isn't helping.
So is it possible?

What configuration are you suggesting?  2FA and wallet on the same mobile phone?

Yes like Google authenticator

I'd love the multi-sig. I really don't trust password only for anything of high value, so its a huge barrier of entry for others as well I'm sure.

2FA (in the traditional sense) relies on a shared secret. By design, this can only work in a centralized environment like an exchange or an online wallet, not with a wallet that interacts directly with the blockchain.
But there are other ways to achieve this, and a multi-sig would be possible and kind of the blockchain equivalent of 2FA. Multi-sig means, for example, you need two private keys to access the funds. (both keys should live on different devices)
There are also more advanced and configurable multi-sig solutions (m-of-n type) like: there are three private keys (m), and two of them (n) are sufficient to control the funds. We will see beautiful solutions here in the future.

I think it should become more feasible at a lower price, once the wallets start supporting Yubikeys as 2FA, via multisig. So, you would then be able to setup your wallet so that the Yubikey signature is required on all transactions, in addition to the signature from your spending password.


text:
What prevents flash loans attacks from occurring on the Cardano network?
Flash loans attacks are current in DeFi space and we saw several ones these last weeks on the Binance smart chain. (Pancake Bunny and Burger swaps)
Mr. Hoskinson said numerous times that if it took years for Cardano to implement smart contracts and DeFi, it was to avoid such attacks and to have a more secure plateform.
My question would therefore be :
Will projects on Cardano be flash-loans-attacksless? If yes how? If not, can we find a way to secure it?
Thanks in advance

While flash loans will exist on Cardano, flash loan attacks will not.
To understand why, let's examine that PancakeBunny attack, https://www.coindesk.com/markets/2021/05/20/flash-loan-attack-causes-defi-token-bunny-to-crash-over-95/

Hacker used PancakeSwap to borrow a large amount of BNB
Hacker used these funds to to manipulate the price of USDT/BNB as well as BUNNY/BNB
Hacker received a large amount of BUNNY tokens
Hacker dumped BUNNY tokens onto the market, causing BUNNY price to crash
Hacker paid back BNB back to PancakeSwap, closing the flash loan

https://twitter.com/PancakeBunnyFin/status/1395173389208334342
This pattern is a common vector for flash loan attacks.  Key to the success of this attack is the ability to chain the execution of multiple smart contracts in series within a single blockchain transaction.
On Cardano, this simply won't be possible by design.

A single blockchain transaction represents activity that occurs simultaneously, not in series
And while Cardano does support chaining smart contracts, they must be chained over a series of transactions not a single transaction

So how would flash loans on Cardano work?  One option would be to write a validator script that implements the following rule: allow this UTXO to be spent so long as it is spent back into the same script address plus interest.
By design, the number of cases where this will be useful will be far more limited than on some other blockchains.

what are your thoughts on this article?https://medium.com/@khajepour.amirhossein/the-curse-of-flash-loan-in-cardano-62969dd0ea88

Flash loans generally exploit financial protocol vulnerabilities to manipulate the prices and exploit the system. For example, In the 2020 attack on Fulcrum built using bZx protocol, attackers used borrowed Ether to manipulate the price of sUSD( a stable coin); naturally, the price of the stable coin should have remained stable to prevent the attack. Smart contract writers should have anticipated the instability of stable coin prices under unusual market conditions. Formal verification methods would have identified this hidden issue.
Theoretically, these higher protocols are influenced by the underlying blockchain technology, which results in unreliable smart contract state estimation.
Cardano has brought the "Formal Methods" paradigm in creating smart contracts, enabling precise estimation of smart contracts behaviors provably. Moreover, Plutus is designed with such care to enable this technology. The potential of this mathematical precision has not yet been realized in the current ETH-dominated DeFi. In short, Cardano will prevent this type of protocol attacks by enabling smart contract writers to predict what can go wrong in which setting.

EDIT nov-02-2021: I misspoke earlier, details at the bottom.
Cardano is not intrinsically flashloan-attackless. Functional programming and formal verification help you a lot with the distance between spec and implementation, but do not give you anything with the distance between reality and spec. Reality (edge cases, attackers, things you failed to foresee) will be what gets you if your devs didn't let a simple bug through. Any proof engineer will tell you that false sense of security is a risk introduced by formal verification
It's tricky because we only use one word: "exploit" - when what we mean is either exploits at the software implementation level or exploits at the mechanism design level, but not both. The literature is infused with ambiguity, one must read diligently if they want to disambiguate this.
If you make progress on this, charge someone a lot of money.
EDIT: Cardano is in fact intrinsically flashloan-attackless at this time, but it is not because of "formal verification", it's because there are no multi-step yet atomic transactions. Flashloans, by definition, are an atomic transaction where an uncollateralized loan happens in the first step and it gets repaid in the last step. No multi-step yet atomic transactions, no flashloans, no flashloan attacks.

As long as you understand what formal verification can do, and can't do, I don't see why this should give a "false sense of security". And of course there will be buggy smart-contracts on cardano as well.


text:
Are there guides for Router Contracts available (now or in the near future)?
Will IOHK be publishing best practice guides or common architectures?  For example, in solidity it's common to have a set of "Router" contracts, to assist in upgrading the protocol in the future?

Seeing as Plutus is brand new and that our Pioneers are the very first people who every write Plutus contracts, there are no best practices yet - and we hope our pioneers will help us discover and document some.
Of course, as soon as people have gathered experience with Plutus, we will be happy to publish such best practices.


text:
How can I find the Haskell source code for the sqrt function?
I am starting to learn Haskell and need to learn how to look things up.
Since I am studying a function that uses sqrt, I want to see how that was made in Haskell.
This is as much an exercise in using reference material as it is in seeing how the sqrt function works under the hood in Haskell. Any advice would be appreciated.

By entering :i sqrt using ghci, we can see that sqrt is

-- Defined in ‘GHC.Float’

A quick google shows that the source code repo is on https://gitlab.haskell.org/ghc/ghc.
Entering sqrt in the search bar for the repository yields several pages of interesting results (including tests). From what I see, using sqrt includes calling the corresponding sqrt operation on a CPU level (check out the x86 related code as one example).
Of course, GHC is not the only implementation of Haskell, but at least within these realms, both terms are most often used as synonyms.
Edit: OP found the implementation detail with this approach in https://gitlab.haskell.org/ghc/ghc/-/blob/master/libraries/base/GHC/Float.hs, where sqrt is defined as follows:
sqrt x              =  x ** 0.5

Thank you @Matthias Sieber
From your instructions, I was delighted to find the following in the source code.
sqrt x  =  x ** 0.5
I found that I could substitute x ** 0.5 for sqrt which tells me a lot about Haskell.
Much thanks for your help

API docs for the core libraries are maintained at haskell.org as well. There's an index link in the upper right where you can look up specific functions and then, on each module's documentation page, there are links to source code. For sqrt:
https://downloads.haskell.org/~ghc/latest/docs/html/libraries/base-4.15.0.0/GHC-Float.html#v:sqrt
Also, bookmark this, the top-level of the latest API docs:
https://downloads.haskell.org/~ghc/latest/docs/html/libraries/index.html

Great resource @dino. Much thanks


text:
How can a native token be removed/de-registered from Cardano token registry
We have minted and registered a native token on Cardano. Now we want to burn it, because of change of policy and remove it from the registry.
After burning the tokens how should I de-register, so that it does not appear in cardanoscan any more?

One solution, i can think of is this. I would remove the entry that was created during token registration in the repository:https://github.com/cardano-foundation/cardano-token-registry from the mapping/ directory. Would this remove the entry entirely from the registry ?

No, this will not work. See my answer below.

There are instructions on how to do it within the Cardano Registry documentation
(https://developers.cardano.org/docs/native-tokens/token-registry/How-do-I-delete-my-entry-from-the-registry%3F)
These are:

Removing an entry from the registry is an ad-hoc process. If this was
allowed without verification, anyone could delete anyone's metadata.
The verification process is therefore identical to updating an entry,
with the additional step of updating the value of the 'name' and
'description' fields to 'VOID' and explicitly mentioning in the title
of your Pull Request that you would like the entry deleted.
If the Pull Request passes validation (meaning you have signed the
submission with the required key/s), the maintainers of the registry
will delete your entry.
Steps Update your entry by updating the value of the 'name' and
'description' fields to 'VOID'. Submit a pull request. Make sure to
indicate in the title of your Pull Request that you would like the
entry deleted.

Quality quoting, well done.


text:
How can I derive the Staking address from a Payment address?
If someone provides me with a payment address, how can I derive the staking address from the payment address?
This can be useful for example when we want to sent rewards to the people in return for staking to a pool.

Good question, surprised you didn't get more votes.

This only works if it's an address embedding the payment and stake credential. You can use cardano-address address inspect locally. You could also use a tool like cardanoscan.io which when given an address to scan tells you the stake address associated as well.
Note that some addresses don't have stake addresses and other ones can have only pointers to stake registrations.

As Samuel said, the address in question must contain the staking part in the first place.
cardano-address uses IOG's implementation of bech32. Instead of using cardano-address you could also install bech32 instead and decode/encode the address.
$ addr=addr1qxkmuf2gqzsm5ejxm2amrwuq3pcc02cw6tttgsgqgafj46klskg5jjufdyf4znw8sjn37enwn5ge5l66qsx8srrpg3tq8du7us
$ echo $addr | ./bech32
01adbe254800a1ba6646dabbb1bb80887187ab0ed2d6b4410047532aeadf8591494b896913514dc784a71f666e9d119a7f5a040c780c614456

Now extract the last 57 bytes from the result as it is the staking address. Then you prefix that with the correct network tag (e0 for testnet and e1 for mainnet) and encode with bech32 to receive the staking address
$ echo "e1$(echo $addr | ./bech32 | tail -c 57)" | ./bech32 stake
stake1u9rfyvw5pkeherf56lzxjaqlpxs53fjghl4ft6w2x8wpnwchfeam3

On a side note, be aware of the existence of franken addresses. A constructed address which has the payment part of one wallet and the staking part of another. This way I could pretend I am the owner of the stake delegated to the pool.

Just for completeness, you can also use Haskell to decode the address into its components using a function like the one shown in the Plutus Pioneer Program.
tryReadStakeAddress :: String -> Maybe Plutus.StakingCredential
tryReadStakeAddress = show . Plutus.addressStakingCredential . tryReadAddress

tryReadAddress :: String -> Maybe Plutus.Address
tryReadAddress x = case deserialiseAddress AsAddressAny $ pack x of
    Nothing                                      -> Nothing
    Just (AddressByron _)                        -> Nothing
    Just (AddressShelley (ShelleyAddress _ p s)) -> Just Plutus.Address
        { Plutus.addressCredential        = credentialLedgerToPlutus p
        , Plutus.addressStakingCredential = stakeReferenceLedgerToPlutus s
        }

credentialLedgerToPlutus :: Ledger.Credential a StandardCrypto -> Plutus.Credential
credentialLedgerToPlutus (ScriptHashObj (ScriptHash h)) = Plutus.ScriptCredential $ Plutus.ValidatorHash $ toBuiltin $ hashToBytes h
credentialLedgerToPlutus (KeyHashObj (KeyHash h))       = Plutus.PubKeyCredential $ Plutus.PubKeyHash $ toBuiltin $ hashToBytes h

stakeReferenceLedgerToPlutus :: Ledger.StakeReference StandardCrypto -> Maybe Plutus.StakingCredential
stakeReferenceLedgerToPlutus (StakeRefBase x)                   = Just $ StakingHash $ credentialLedgerToPlutus x
stakeReferenceLedgerToPlutus (StakeRefPtr (Ptr (SlotNo x) y z)) = Just $ StakingPtr (fromIntegral x) (fromIntegral y) (fromIntegral z)
stakeReferenceLedgerToPlutus StakeRefNull                       = Nothing


text:
How and when do CAs in Catalyst get feedback on their reviews?
Proposers and vCAs had time to flag/review CA reviews. Where nd when do Community Advisors learn about which of their reviews got flagged (critically, but also marked for constructive feedback) and what is the outcome of this process?

Timing dependent questions should not be asked here.  Better to post regarding things that have time and circumstance dependent answers on Reddit.

@gRebel thank you for your suggestion. I didn't know that besides the older Cardano Forums, Telegram groups, Discord, (maybe slack) there's also reddit to monitor.

The vCA's have a google doc (bear with us for now) that we share amongst ourselves for tracking review the reviewers. The CAs remain anonymous while the vCA's do not.
There has been some talk about in the future having a way for CAs to anonymously receive feedback for their reviews that were flagged in order to help guide CAs in the right direction.
I think this would be tremendously valuable, especially as the number of CA's grows almost exponentially in order to keep up with the expanding amount of proposals.
I second that you should simply join the Telegram channel and stay up to date on the latest developments from Project Catalyst, as things are changing very rapidly as we learn what works and discarding what doesn't work very well.

Right now, the catalyst team is busy collecting and cleaning up all the feedback from vCAs. They will announce the outage as soon as they are able to.
Monitor the usual channels for announcements!

Thanks, I'm looking forward to the announcement. It is because I have had no success with the usual channels that I posted this question here. I also thought this may be a good general question to ask, because the documentation outlining the process did not include how and when CAs get notified.


text:
Voting on Catalyst with Ledger hardware wallet
Hey guys I really love the simple approach of just stacking my Ada with the safety and security in my ledger Nano X. But for some reason it does not seem to allow me to vote on catalyst projects. Will you guys enable this feature in the future?
I've read on some blog posts about transferring Ada from one wallet to another to vote before snapshots etc, but that seems very tedious to me.

This is a question better suited for the Cardano Forum than for Stack Exchange, which should be a technical Q&A site. I suggest asking this here - https://forum.cardano.org/

@EddHaigh I personnally think that it could be considered almost a technical question if phrased this way: "How to vote on Catalyst with a ledger wallet ?".

Yes, firmwares updates for this feature has been already submitted to both Trezor and Ledger.
Now, it is up to them, when they will release an update of their firmware to their customers.
Edit: they are now both available in your favorite wallet :)


text:
Getting TypeError: EC is not a constructor running pab-nami
When running npm, start inside a nix-shell of plutus-apps/plutus-pab-executables/demo/pab-nami/client

Actual steps would be helpful here so that the advice is crystal clear.

You're right. There's a bug open internally for this.
In future, it's best to raise questions here and bug reports over in the plutus-apps Github repo. I've also raised it there now: #357


text:
Is there a Daedalus wallet planned for mobile devices (Android and/or Apple)?
Will I be able to delegate to a stake pool from my mobile phone with Daedalus?

There is talk about Daedalus lite for mobiles. Charles mentioned it a couple of times. But I don't think it will be any time soon. It will be part of the next 5 year plan from IOG. But there will definitely be a Daedalus lite one day. For now it's Yoroi!

Definitely would be great to have a Daedalus lite for mobile devices. Nothing against Yoroi, haven't used it yet, so don't really have an opinion. Even if they were to make it a read-only mobile app where we can only check and see our ADA rewards and balance I'll be ok with that. But I'm sure it's easier said than done.

Yoroi may not be that intuitive but it does the job and its always with you on the mobile. I use both Daedalus and Yoroi. No complaints :). Oh don't you worry. When they do come up with Daedalus lite it will be awesome like everything else. "Quality" & "usability" are the main ingredients of anything built on Cardano! I have that much confidence by now.

You cannot use Daedalus on mobile because there is no mobile version. Daedalus is a "full node", i.e., it runs a cardano-node in the background, which maintains a complete copy of the blockchain. This is not intended to happen on mobile due to their limited resources. Mobile wallets like Yoroi work by connecting to a full node in the cloud.
WARNING: There have been apps claiming to be mobile versions of Daedalus pop up on some of the app stores. These are SCAMS! I've talked with people in the community that have had their ADA stolen because they trusted what appeared to be a legitimate Daedalus mobile app.

No, Daedalus has no mobile version right now and there is no mobile version planned in the future. Daedalus is a full node wallet, this means the whole blockchain is downloaded to the device where the wallet is running. On mobile devices this would be impractical as there is usually not that much storage on those devices.

Thanks, I do know that currently there's no Daedalus wallet for mobile devices. But just wanted to know if it's planned in the future.

When you get enough rep, maybe you can convert this to a comment. Alternatively, maybe you can write a little more detail? I know it's a simple question with a simple answer, but it would be good for answers to be a bit more substantial than just 1 line.


text:
Can the max supply of ADA be decreased or burned?
would decrease the amount of the max supply of ADA tokens?
With the limited supply, it can build more demand and that might be benefit for the team and also the investors.

This is a StackExchange site, not a connection to the Cardano developers.

See help for guidance on how to ask good quality questions

I’m voting to close this question because the questions about the future of Cardano can't be effectively addressed on this site and would be better addressed directly to the Cardano Team on their forum. This site is not operated by the Cardano organization.

Decreasing the supply is a method to artificially raise the value of the remaining supply.  It has been repeatedly stated that all ADA has an owner/purpose and supply will not be reduced.  ADA relies on use and utility to increase its value.

If you're interested in supply/demand, look at the staking metrics and the effect that is has on the price of ADA. The price of ADA denominated in USD and BTC has held up very well on this recent market drop.
Currently ~71% of the circulating supply is staked leaving ~29% either in wallets & unstaked or for trading purposes/on exchanges. This really didn't budge during the recent downturn -> a sign of positive community sentiment, but also Cardano saw the most inflows (+10M) this past week from Institutional Investors compared to BTC(-110.9M) and ETH(-12.6M) outflows.
Overtime as more people/corporations/institutions recognize Cardano's value proposition, the demand will continue to build and they'll all be bidding more and more for less and less available ADA.

The maximum supply is set. There are two obvious ways supply can absolutely reduce.

The person holding the secret key for addresses with unspent transaction outputs (UXTO) destroys or permanently loses the encryption keys for those outputs. This effectively means destroying/losing the wallet recovery key for the wallet that generated those addresses.

Paying the ADA to a script transaction that will never validate a transaction from that address. There is a straightforward way to do this: a script that deliberately or accidentally returns error on any spending transaction.

Any normal participant will avoid these two scenarios.


text:
Why are staking rewards still coming to my Daedalus wallet when I moved the funds to a hardware wallet?
I recently moved my funds from a Daedalus Wallet that was receiving staking rewards around 18 days ago to a Ledger for cold storage.
My staking rewards are still being sent to my previous wallet, is this just the snapshot doing it's magic?  I ask because I thought the snapshot was only for an Epoch, and it has been happening for 3 Epochs now, nothing bad, I am still receiving my rewards, just curious, thanks!
Ledger still on the Daedalus wallet.

Did you unstake the ADA in your 'hot' wallet before moving it to the 'cold' wallet? Or initiate an unstaking procedure of any sort in the 'hot' wallet?

You start getting rewards 3 epochs after you first delegate. You will be getting your reward for the next 3 epochs after you move, unless you un-delegate and get back the 2 Ada you initially deposited.

This is due, as you said, to the way Cardano is setup with epochs. Your ADA in your Daedalus wallet were included in a snap shot and then you moved your ADA. Once ADA is included in a snap shot, it takes 1 epoch before it becomes active, and then another epoch for rewards to be calculated, and then its paid out after that epoch (three epoch delay). The rewards that you just received were from the epoch snap shot just prior to you moving your funds. Next epoch the hardware wallet will receive rewards.
Note that if you don't un-stake your Daedalus wallet, you will continue to receive rewards on the small amount still in there. We see this all the time with "ghost" wallets. There are many wallets with a small amount of ADA staked in pools where someone moved their ADA but didn't un-stake the old wallet. Then they got rewards for the next three epochs and those are still sitting there earning small rewards.


text:
How can redundancy be established for producer nodes?
It is rather straightforward to create relay redundancy but it is not as clear how to create redundancies for the producer nodes. The best solution I could come up with for the time being are VMware ESXi server farms, over SAN connections, with CARP IPs, etc. creating a physical redundancy but the OS layer remains a single point of failure.
I believe that running redundant producer nodes is not something approved.
Is there anyway to create an Active/Active or Active/Passive environment for the producer nodes?

Currently, a block producer can only send out its blocks if there is an incoming connection to it. So, as long as your backup block producer has no incoming connections, it can be "hot" and ready to produce blocks. I recommend having a relay pointing to a backup block producer, but prevented from connecting by a firewall rule.
Use CNCLI ping to determine if the main block producer is up or down. Depending on the answer, you can add/remove the firewall block to the backup block producer.
Example script to run with cron once per minute. In this example, a backup relay and block producer are installed on the same server.
#!/bin/bash

# are we blocking? In other words, we are not in failover mode
isblocking=`/usr/sbin/iptables --list INPUT --numeric | grep REJECT | grep 5050 | wc -l`

#if [[ $isblocking -eq 1 ]]
#then
#  echo "NON-failover mode. checking..."
#else
#  echo "FAILOVER mode. checking..."
#fi

error=`/home/westbam/.cargo/bin/cncli ping --host relay0.myserver.com --port 5000 | jq .status | grep error | wc -l`
if [[ $error -eq 1 ]]
then
  #echo "relay0 error. check relay1..."
  sleep 10
  error=`/home/westbam/.cargo/bin/cncli ping --host relay1.myserver.com --port 5000 | jq .status | grep error | wc -l`
  if [[ $error -eq 1 ]]
  then
    #echo "relay1 error. check relay2..."
    sleep 10
    error=`/home/westbam/.cargo/bin/cncli ping --host relay2.myserver.com --port 5000 | jq .status | grep error | wc -l`
    if [[ $error -eq 1 ]]
    then
      if [[ $isblocking -eq 1 ]]
      then
        echo "$(date): Enter FAILOVER mode..."
        # remove the local node blocks
        /usr/sbin/iptables --delete INPUT -p tcp --dport 5050 --jump REJECT 2> /dev/null
        /usr/bin/mail -s "FAILOVER" 9999999999@msg.fi.google.com <<< "FAILOVER to relay3 enabled"
      fi
      exit 0
    fi
  fi
fi

if [[ $isblocking -eq 0 ]]
then
  # we're not blocking local traffic, but we SHOULD be. Turn on the blocks
  echo "$(date): Return to NORMAL mode..."
  /usr/sbin/iptables --insert INPUT -p tcp --dport 5050 --jump REJECT 2> /dev/null
  /usr/bin/mail -s "NORMAL" 9999999999@msg.fi.google.com <<< "failover disabled"
fi

Thank you, Andrew. I realized now that I never sent my feedback. It worked perfectly. Thank you again for all you do by sharing your scripts and solutions.

Any non-block-producer full node a passive node. Just load your keys and you now have your block producer.
You can also use any OS specific high-available software, such as pecemaker or corosync.


text:
Can I safely reinstall Daedalus wallet when hardware wallet already exists?
I have a hardware wallet. I have decided to reinstall the Daedalus wallet and link it to my hardware wallet. Does anyone know of a tutorial?
When I reinstall the Daedalus wallet and connect my hardware wallet to my computer, will Daedalus recognize that my hardware wallet had already been set up?

Yes, you can re-install Daedalus and re-connect your hardware wallet. As long as you have your seed phrase for the hardware wallet, all is good.

The "and/or" might be misleading. You only and always need the hardware wallet recovery seed and your chosen passphrase(s) (if you're using the passphrase feature). Those are the fails safes in case you wipe/lose your hardware wallet or forget the PIN.
Also, you can use the same hardware wallet to recover your Cardano wallets on multiple computers and differnt software wallet programs like Daedalus and Yoroi in parallel.

Thanks. edited the answer.


text:
Daedalus only has two translated languages. Can the community add more?
I want to help translating Daedalus to Brazilian Portuguese. Where can I find instructions on how to do it ?

From what I read here at https://github.com/input-output-hk/daedalus/issues/2423 (open on Mar 2, closed on Mar 3), there is indeed only 2 languages, English and Japanese, and yes the community already proposed for more translations, but as of now they will focus on the two actual as adding a new language requires to check carefully “every single line of text”. The verdict is that translations cannot be done by external contributions as it requires “internal people that are always present” for last-minutes changes.
I might propose that you could help translating other projects related to Cardano, for example maybe you could connect with people from specific staking pools!
It is a great initiative. :)


text:
As I front-end developer, how should I start learning more about blockchain and should I start with Plutus?
I'm currently a front-end dev - HTML, Javascript, CSS, PhP. I'd like to get into blockchain, but I don't know where to start. Any advice? Should I start by learning Plutus? If so, where should I start? Are there any online tutorials?

Smart contracts on Cardano are actually developed using Haskell which is then compiled into Plutus Core by the Plutus Tx compiler. Plutus Core is a very low-level programming language and programming wouldn't be fun.
The best place to start learning is to participate in the Plutus pioneers program.
More Haskell resources:
If you are not familiar with Haskell, grab a book such as Learn You a Haskell for Great Good!, as it will be very helpful.
If you want to focus on the Haskell features required for programming smart contracts, have a look at the Mongolia class recordings: Haskell and Crypto Mongolia 2020
Also see this YouTube playlist: Haskell for Imperative Programmers

Have a look at the Plutus Pioneer Program:
https://youtube.com/playlist?list=PLnPTB0CuBOBypVDf1oGcsvnJGJg8h-LII

As a dev myself, I'd suggest you wait another year or two for the libraries and tools to stabilize and become more straightforward. Right now it can be a headache just to get a local dev environment running.
That being said, you can start using the Plutus and Marlowe Playgrounds to start hands-on learning about smart contract code.
https://playground.plutus.iohkdev.io/
https://alpha.marlowe.iohkdev.io/

To add onto what has already been provided, if you want to try and learn more of the theory of Haskell and Haskell like languages (Category Theory and Type Theory), I'd recommend the fantastic courses by Bartosz Milewski:

Category Theory for Programmers Textbook
Category Theory for Programmers Part 1 Video Lectures
Category Theory for Programmers Part 2 Video Lectures
Category Theory for Programmers Part 3 Video Lectures

This series is a bit dry but it is extraordinarily helpful in understanding how to structure your code so that you can let the language do 90% of the work for you.

The general idea from a frontend perspective is that you write the onchain and the offchain part of the contract in Plutus. You can then compile what they call the PAP ( Plutus Application Backend ) which will provide api endpoints to interact with your contract from the frontend.

A good start to learn Plutus is at https://playground.plutus.iohkdev.io/tutorial/index.html

I'm also a Javascript developer. I would recommend the path that I made. I started with PureScript through PureScript book (other alternative is FP Made Easier), which is a language that compiles to JavaScript and is very beginner friendly. That way you can pratice Haskell-like code right now. When you feel confident in PureScript you can move to Haskell and begin the Plutus Pioneer Program, the differences between Haskell and PureScript are minimal.

As it’s currently written, your answer is unclear. Please [edit] to add additional details that will help others understand how this addresses the question asked. You can find more information on how to write good answers in the help center.

I recommend the fantastic book Haskell Programming from first principles by Christopher Allen and Julie Moronuki. In my opinion this is a great resource to start for someone completely new to pure functional programming.
After learning the basics of Haskell, I recommend participating in the Plutus Pioneer Program. The lectures are openly available on YouTube. There will also be a second iteration of the course later this year.


text:
Where can I find design and documentation resources for Cardano Smart Contracts?
I’d like to better understand the design and features of the upcoming Cardano smart contracts.
Where is the design guidance & documentation posted for them, including their planned functionality, and how we’ll be able to create and use them?
Can community members comment on this / assist with the UX?

Have a look at the Plutus Pioneer Program for technical details:
https://youtube.com/playlist?list=PLnPTB0CuBOBypVDf1oGcsvnJGJg8h-LII

I am not a techie. Lars has been posting Plutus videos on YouTube. Plutus is the main language for smart contracts on Cardano. I think it if searchable as Plutus pioneers program. That should get you to the trailhead. I'm not a techie but that is where I would start.

There is a standalone Haddock Documentaiton which includes a link to the code direclty.

There exists a community run documentation for Plutus. It has just been started, so do not expect too much at this point. I believe you have the ability to contribute.

The resources are pretty much being built now. There's a book being written but I can't remember the title. It was mentioned in one of Charles' videos. It is supposed to be a comprehensive guide to Cardano, so I expect it will be quite thick.
Please keep in mind that at the moment Cardano smart contracts are still in beta phase and the Haskell/Plutus libraries are and will be undergoing vast modifications as the use cases are identified and the bugs flushed out. So even if you read some documentation today, it will most likely be obsolete in a year or two. There's an ongoing Plutus Pioneers Program that will generate a cohort of early developers who don't care about the fact that developing smart contracts on Cardano will take a few years to become a fairly stable and straightforward process.
Edit: here's a nice list to get you started:
https://github.com/input-output-hk/essential-cardano/blob/main/essential-cardano-list.md#oracles


text:
What does two consecutive apostrophes mean in Haskell and Plutus?
I have noticed the frequent appearance of two consecutive apostrophes in Haskell code.
Like this:
newtype Date = Date Integer
data EndDate = Fixed Integer | Never
unstableMakeIsData ''Date
unstableMakeIsData ''EndDate

What does '' mean in haskell?

The apostrophe(s) in Haskell (and thus Plutus) are part of the name; they do not hold any specific meaning.
Haskell as a functional programming language borrows from mathematical notation. An apostrophe on a variable name conveys that it is somewhat related to another variable (without or with more apostrophes).
Imagine a simple function that adds three values. You could write these several ways.
addThreeNumbers a b c = a + b + c
addThreeNumbers' a b c = b + c + a
addThreeNumbers'' a b c = b + a + c
addThreeNumbers''' a b c = c + a + b

and so on. The result will always be the same.

The apostrophes in your example are, however, not of the same type as the prefix data types. This is an indicator that template haskell is being used.

but in my case, unstableMakeIsData is a function name and ''Date is not defined before. The apostrophe(s) is a prefix not suffix, I think It might be different.

I found your example in this commit: https://github.com/input-output-hk/plutus/commit/01f14933a8fc35e02aaec4cedfeac6dc5396b382 -- take a look at the Instances.hs

I apologize for the confusion. The apostrophes in front of the type hint at template haskell

Thank you a lot!


text:
adaPerUTxOWord not found on testnet-shelley-genesis.json
Run cardano-node 1.27.0 testnet error, adaPerUTxOWord not found on testnet-shelley-genesis.json
cardano-node  run --database-path ~/cnode-testnet/db --socket-path ~/cnode-testnet/sockets/node.socket --port 3001 --config ~/cnode-testnet/config/testnet-config.json  --topology ~/cnode-testnet/config/testnet-topology.json

    Error decoding genesis at: /home/qi.mou/cnode-testnet/config/testnet-shelley-genesis.json Error: Error in $: key "adaPerUTxOWord" not found

    cardano-node --version
    cardano-node 1.27.0 - linux-x86_64 - ghc-8.10
    git rev 17096c3fe7a52264906ff92ed245ded2344b3d00

after I add "adaPerUTxOWord":0 to testnet-shelley-genesis.json, it still doesn't work.

Can you paste the output of cardano-node --version?

cardano-node 1.27.0 - linux-x86_64 - ghc-8.10
git rev 17096c3fe7a52264906ff92ed245ded2344b3d00

It looks like you may be building the master branch, try checking out tag 1.27.0, cabal clean and then rebuild. The correct git rev for 1.27.0 is 8fe46140a52810b6ca456be01d652ca08fe730bf

It appears that the config files over at https://hydra.iohk.io/job/Cardano/cardano-node/cardano-deployment/latest-finished/download/1/index.html is a bit behind some of the pre-alonzo work in 1.27.0.
Per discussions over at https://github.com/input-output-hk/cardano-node/issues/2725, the *-shelley-genesis.json should now have these additional values:
{
  ...
  "securityParam": 2160,
  "adaPerUTxOWord": 0,
  "executionPrices": {
    "prMem": 1,
    "prSteps": 1
  },
  "maxTxExUnits": {
    "exUnitsMem": 1,
    "exUnitsSteps": 1
  },
  "maxBlockExUnits": {
    "exUnitsMem": 1,
    "exUnitsSteps": 1
  },
  "maxValueSize": 1000,
  "costModel": "example/shelley/alonzo/costmodel.json",
  "collateralPercentage": 100,
  "maxCollateralInputs": 1
}

Make sure you download official genesis file from the build system of cardano-node.

Looking at the official configurations, "adaPerUTxOWord" exists on the mainnet version of shelleyGenesis, but not on the testnet, as the question points out.

I download genesis file from official website, but adaPerUTxOWord not exists on the testnet file.


text:
Will Daedalus have a Fiat payment gateway?
I am a rookie at cryptocurrencies: I would like to know if Daedalus will have a Fiat payment gateway. Thank you very much in advance.

I would love for this to happen. It will go a very long way for adoption and ease of use.

There is nothing specific apart from the fact that in one of Charles' interviews (I cannot find it at the moment) he mentioned that after there are DEXs and other components it will be very easy to add additional functionalities including easier ways to pay and convert crypto for fiat and vise versa.
Charles also spoke in 2020 about adding the functionality which now is available to get the current price from CoinGecko.

I believe I've heard rumors for just this; although I'm not turning up anything now. However, according to this the Yoroi Chrome extension provides this functionality. But I wouldn't know, I don't use in-browser Yoroi.


text:
How are the key parameters that control Cardano governed?
I am looking to understand the 7 special keys that control all the parameters for cardano. How it's controlled, who gets to control it, and what each parameter means.

Right now it's IOG. Eventually we will be able to vote on changes.

The parameters are controlled by IOG currently. There are a number of keys that govern update proposals. Update proposals are special certificates posted to the chain that can change the parameters. Each update proposal is required to have 5 signatures in order to become active. These signatures have to be in place 1.5 days before the end of the epoch in order for them to become active at the next epoch.
If you do a ledger state dump using cardano-cli, you can view the parameter change proposals and how many signatures they have.
CIP that talks about the process https://github.com/cardano-foundation/CIPs/blob/master/CIP-0009/CIP-0009.md

Do the CIP-9 Updatable Parameters require 5/7 signing keys too? I heard only 4/7 and of course no hardfork. Is this true? Any reference (i'm digging but can't find)? Thanks!


text:
Can I run a stakepool on a home router without a fixed IP address?
My ISP assigns an IP address to my internet modem -- it's not a permanently assigned static IP address but stays the same for months or years. Can I use the NAT service on my router to channel the ports to an internal node running on my home network?

You could but it is not recommended. You could use DynDNS service, associate the address with an actual DNS entry from your domain. But, from years of experience managing infrastructures, you will run into problems.


text:
How are unused/outdated smart contracts handled on Cardano?
How will unused, outdated smart contracts be handled? Or say a developer makes a mistake in the contract and needs to redeploy it, what happens to that old contract? Would a lot of Unused contracts cause a lot problems for storage?

For one thing, the validator script associated with a smart contract is not stored on the blockchain; the blockchain only stores the hash just like for a lot of other things. When the code of the validator script changes, the script address also changes, but because the script is not stored on the blockchain, the cost of abandoning a smart contract is like that of abandoning a regular address.
So, there will be no blockchain storage problems with having a lot of unused smart contracts, no more than with having a lot of abandoned regular addresses, and the requirement that each UTXO contains at least a certain amount of ADA limits the number of addresses with non-zero balance.
To avoid losing assets, the developer should move the balance from the old script address to the new script address when he updates the validator script though that may not always be securely feasible without giving the developer/maintainer too much centralized power over the smart contract's operations.
However, someone may build an off-chain metadata service that allows registering validator scripts to facilitate lookups by hash and such a service may accumulate junk and get storage problems unless they address the issue.

are you sure the contract is not stored? how could a node revialidate tha chain? What about this? https://cardano.stackexchange.com/questions/24/how-can-a-node-verify-a-transaction-with-a-script-address-without-the-script

At the top level, there is block, which contains transaction_bodies & transaction_witness_sets. Similarly, a transaction contains transaction_body & transaction_witness_set. transaction_body is all about hashes and transaction_witness_set enables mapping script hashes to actual scripts. The transaction_witness_set is like a proof that the transaction_body is valid. I think a node may choose to delete the transaction_witness_set after some time to save space.


text:
How can smart-contract disputes be addressed?
How will disputes in a smart-contract obligation be managed? How is fraud prevented if a party does not fulfil an obligation?
When there are various jurisdictions, there may be different governing bodies.

I suppose 'disputes' refers to ambiguities outside the blockchain, not on the blockchain, which should be unambiguous, so this seems more like a legal and political question than a technical question and I'm not sure how an objective answer can be found.

Obligations that are written into the contract, can't be disputed. For example, if a contract allows money to be withdrawn from the contract address, only if the party leaves their money inside for some period of time, then it can be made impossible for a withdrawal to occur before the time is up, using the programming language of the contract.
For things that can't be made impossible through code, then in some cases we can rely on penalties and rewards to enforce the desired running of the contract. One could code in a reward to any entities who provide a proof that a party was trying to cheat the contract, and penalise those parties who are caught. But for this to work, we need ways of providing proofs about the real world that our contracts can understand, which is why oracles will be an essential part of such systems.
For any obligations that are not written in the code of the contract, they will rely on the same things that are in place today, court systems and public reputation. Legal systems may choose to recognise smart contracts as legally binding, and provide some pathway for dispute resolution when a smart contract has failed to do what was intended or otherwise.

The governing idea behind a smart contract is the efficiency gained from "Code is law" philosophy that allows humans to do away with the archaic inefficient contract law that has been present since the middle ages.
Before interacting (transacting) with a smart contract you should be well aware of the contract you are using and the implications and terms thereof. The obligations and terms of any smart contract are immutably written into the contract itself, so there can be no unintended disputes, only a lack of understanding of the person executing the smart contract.
All of this is to say that you are in the driver seat when it comes to blockchain and the web3 world. Do your own research before interacting with any smart contract, and fully understand what you are dealing with. If you lose money due to a lack of understanding of how the contract worked and feel wronged, there is no mechanism, unless written into the smart contract when it was deployed for dispute resolution. A smart contract has no concept of the laws of one legal jurisdiction or another, once the transaction is submitted you cannot utilise the legal system to retrieve any funds you may have unintentionally used.
Technically, even if a judge were to rule in your favor that somehow a smart contract you willingly transacted with was "fraud", the chance that the smart contract was created by someone governed by the same legal jurisdiction is very, very small and I wouldn't count on it. According to some quick research there is approximately 320 legal jurisdictions in the world. Not what I would bet on, especially in this distributed global ecosystem like Cardano.

+1 for the informative answer! I'd recommend to remove (or at least change) the first sentence though, as it could be portrayed as antagonistic to a brand new user.


text:
Will ADA always be deflationary?
Considering ADA has a max circulating supply, and productivity of goods and services always tends to grow, does that mean ADA will always be deflationary in the long run? Couldn't that lead to recurring recession environments which discourage people to spend/borrow?

Yes Sir. ADA has a fixed supply and just like Bitcoin it is always going to be deflationary. It's the mindset. What is "deflationary"? That's only when you convert it to FIAT correct? The whole purpose of Crypto is not ultimately converting it into FIAT. If you remove FIAT from the picture, people will use it as SOV and also for transactions as value exchange. Then the whole concept of "deflationary" will slowly die and we will only be talking about "finite supply".

What is SOV in this context?

Store of Value.

I’m not talking about deflationary when converted to fiat currency. Deflationary means that as time passes, you need less units of currency to buy the same things. If we remove FIAT from the picture, it can still be deflationary. Suppose you can buy 1 coffee with 1 ADA now, than next year you can buy 2 coffees with 1 ADA, then 5 and so on. That means ADA is deflationary. If productivity of goods and services tends to always increase, that means things get cheaper, and if the currency supply is limited, that means its always going to be deflationary in the long run, discouraging people to spend

In Cardano, ADA is a synthetic resource that is used for many purposes. Charles explained it in detail in this video https://youtu.be/lMZ1xQzWtl4
So the finite supply is a desirable feature. The deflationary effect is a consequence.
The differences between Store of Value (SOV) and a unit of exchange is natural because they don't serve the same purpose. People expect SOV to hold its value over time and protect them from any inflation, including the inflation that results from growth in productivity.
Your concern is genuine that there is an incentive to hold (HODL) any store of value, not just ADA. Stable coins and fiat currencies are designed to be units of exchange and lose value with inflation. So there is an incentive to spend them before they lose value. So there is a place for both; we need SOV for long-term savings and units of exchange for short-term disposable cash.
In our financial systems we have both; however, the conversion between the two has a lot of friction caused by layers of middlemen and by the burden of record-keeping required by laws designed to prevent money laundering and terrorist financing.

Gold was a store of value and a unit of exchange before going off the gold standard. Dollars and notes were just an easier way to represent the gold. I think BTC and crypto has a strong HODL incentive in the early stages now (make lots of money) but will degrade as the market caps level out at a maxim

Also keep in mind that until all ADA is minted (i.e. until circulating supply = total supply), it is actually inflationary with a smoothly decreasing inflation rate.
At that time it truly becomes deflationary. And that won't happen for hundreds of years I think.

It can be deflationary while increasing (slowly) the circulating supply. If the productivity of goods and services increases, the price for those items decrease (it requires much less work now to produce a car or a cellphone or a potato, than 10 or 100 years ago). So even if the currency supply is increasing, if the productivity of things is increasing even more, the currency is deflationary, because things gets cheaper.


text:
Does ADA have any credit features built into it?
Are there any feature of Cardano ADA or its ecosystem that make borrowing against ADA held easier or better than other cryptocurrencies?
Will all credit require that an application be developed to support it?

This is really up to the users (or dApps) on Cardano, but in order to get credit you normally have to provide a collateral. The lender wants to make sure they are getting their money back. Getting credit without putting down a collateral will at least require some form of identification and proof of trustworthiness. Simply having an account/address on Cardona won't be sufficient because anyone create those indefinitely. So in the end it depends on what kind of solutions will be deployed to Cardano and how they are integrated to identity providers all around the world.

Celcius has already committed to integrating Cardano's ADA, which will let you borrow against your ADA for USD or a stable coin. I don't have a timeline when ADA will be implemented, my guess is after Alonzo.

Oof that answer aged badly. Stole my life savings


text:
Will Cardano's transaction fees be expensive (similar to ETH gas) in the future?
I found this cost formula:

As you can see, the larger the transaction, the more resources are needed to store and process it.
So, my question is: Will Cardano's transaction fees be expensive(similar to ETH gas) in the future?

My answer is no. And there are two reasons.

Cardano is a PoS protocol. Therefore, users don't pay for electricity cost. In a PoW system, miners need to solve computational questions to be able to produce blocks which consumes electricity. This price is covered by users when users make transactions.

Cardano will have more TPS compares to Ethereum currently which also contributes to a lower transaction fee.

However, on-chain solutions have limitations. Blockchains need to implement off-chain solutions to increase TPS and lower transaction to be able to make microtransactions. Cardano has given their solution which is called Ouroboros Hydra.

hum, PoS is still have storage problem, what will happen when the storage is scale up day by day?

@RongNguyen about the size of the blockchain, there currently is a question: https://cardano.stackexchange.com/a/280/38 but it is indeed two question in one, the first asks for its size nowadays. I think you could/should ask a dedicated question in your theme "what will happen when the storage is scale up day by day". Maybe provide some more details about your concern. For example in the other question I could not provide the information of the speed at which the blockchain grows. That's the sort of detail that could be really helpful.

The transaction fees can be changed if required "to react and adapt to changes in transaction volume, hardware prices and ADA valuations".
They are not being changed for the foreseeable future.  In the longer term these can be changed but will be unlikely to change frequently.  A major benefit of the ADA approach is that it gives a high degree of predictability to transactions.  Each change would require proposal, planning, agreement and a hard-fork event.
Given the goals of Cardano and the likely increase in the value of ADA over time, I believe the cost in ADA is more likely to decrease than increase.  If Cardano is to achieve its goal of banking the unbanked the cost will probably go down in real terms too.
Eth fees are high partly to prioritize transactions and mitigate Eth's performance bottleneck for those that can afford it. Cardano has no way to pay for transaction priority.

Thank you for your answer, I hope your desired function will be available!


text:
What is the difference between an active, relay and passive stake pool node?
I have seen three types of stake pool nodes mentioned.

Active
Relay
Passive

How do they differ in purpose and function?

The term active node is often used to describe a node with the purpose of minting new blocks.

The term relay node is used to describe a node that is run by the stake pool operator to relay the newly minted blocks from their block producer (active node) to the rest of the Cardano network. See What are relay nodes?

A passive node is a node within the Cardano network that is receiving blocks and transactions from their peers (and in the future, will share these with its peers). A good example of an passive node is the Daedalus full node wallet.

Note that all type of nodes connected to the Cardano network can be used to submit a valid transaction to the network.


text:
Why are proposals to solve issues discouraged during the insights phase (first week)?
The insights phase is held during the first week of a proposal round. You cannot put proposals up.  Only insights can be added.
Insights are described as ideas and submitters are encouraged not to propose solutions.  At the end of the first week.  Everybody's Insights are archived and only their author can see them.

This question seems like it may either be asking for recommendations, be opinion-based, or off-topic entirely. Can you clarify this?

Close voters: It might not be the case that the answer would be opinion based necessarily.  There may actually be a real reason for this that some people just don't yet know.

The Catalyst Team identified research that showed an "ideation" phase where participants shared their observations and experiences without proposing solutions led to better results when proposals/solutions were put forwards.
Catalyst has translated this research into their "insights" phase process.


text:
What are Catalyst "challenge setting" challenges for?
I have a solution idea that can be solved by Cardano and couldn't find the right category for it.  I want to put it in the "challenge setting" challenge.
Do "challenge setting" challenges have limits on what can be proposed?

What do you mean by "community challenges"? Are you referring to the "Challenge setting"?

Thanks, edited for clarity and correct terminology.

A "challenge setting" challenge is how the Catalyst community chooses the themes and funding for some of the Catalyst challenges following the next six-week cycle.
They are significantly different than most other challenges.

No reward is given to proposers
Proposals suggest new challenges
They do not contains proposals or solutions
Funds requested become the budget of the challenge
The outcome takes 3+ months to complete

There is a long lead time on funds proposed in the challenge budget being delivered to the proposals that win in the resulting challenge.  If the challenge has a timeliness component (e.g. a "Women" theme to coincide with = International Women's day) it is best to propose it about 90 days in advance.


text:
Why was the platform/foundation named after Gerolamo Cardano?
Cardano was named after the 16th century Italian scientist Gerolamo Cardano; given the people designing the platform it makes sense to name it after a scientist, but is there any reason to specifically choose Cardano? I only know him for publishing general solutions for cubic and quartic equations. I did a quick search on the foundation's website and forum but found nothing about this.

I think the answer you are looking for can be found at the 3:10 mark (bold part in the transcript below) on this video, but for the consistency of ideas please watch from the 1:43.
The transcript of this portion of the video is:

Gerolamo Cardano (1501–1576) was an Italian mathematician, physicist, biologist, physician, chemist, astrologist, philosopher, writer, and gambler.
During his lifetime he wrote over 200 scientific works and was one of the key figures in the mathematical field of probability during the Renaissance.
Gerolamo Cardano, is well known for his achievements in algebra.
He was a teacher in Milan Italy in the 16th century.
In his 1545 book Ars Magna, he made the first systematic use of negative numbers in Europe, published with attribution the solutions of other mathematicians for the cubic and quartic equations.
He also acknowledged the existence of imaginary numbers now used in geometry.
His book about games of chance, Liber de ludo aleae written around 1564, but not published until 1663, contains the first systematic treatment of probability.
He used the game of throwing dice to understand the basic concepts of probability.
He demonstrated the efficacy of defining odds as the ratio of favorable to unfavorable outcomes.
For a cryptocurrency project that is looking to utilize scientific methods based on mathematical proofs and game theory to build highly flexible and interoperable money, I think this choice seems to match perfectly.

"I only know him for publishing general solutions for cubic and quartic equations."

In 1550 he also introduced a cryptographic writing tool called the Cardan grille which uses a grid.
The answer by Dacomis points to a video by a Youtuber named "Crypto Jerome" where Jerome says that "Cardano the project is all about innovation" and "Cardano the man was all about challenging the status quo", which is what he says immediate after the transcript given by Dacomis. While this could be what Charles Hoskinson had in mind when he chose to name the platform after Cardano, there's also other people throughout history that used the scientific method and mathematical proofs, so it could just be that Hoskinson was a fan of Cardano (like I am).
Another relevant article on this topic is "Cardano – Inspired by Legends of Science & Math" which talks about how the platform was inspired by legends Gerolamo Cardano and Ada Lovelace, but again the article's content is not coming directly from Charles Hoskinson.

To really find out the answer to this question, you'd have to ask Charles Hoskinson (or find a source that got the answer from him, such as an interview).


text:
How Cardano is different from Ethereum (2.0)?
As far as I know, the Cardano project was started to cover issues/problems with Ethereum blockchain. Proof-of-work and governance are some of them.
However, Ethereum 2.0 is promising to cover those issues.
So in this context, how is Cardano different from Ethereum 2.0?

Does Etherium 2.0 have 100% decentralization, a basis in peer-reviewed publishing, and only one person needed for transaction verifications?

So only the real difference is the transaction model given the fact that etherium has been well established. What are the benefits of the eUTXO transaction model ?

TL;DR:

Research-led design (102 academic papers to-date)
eUTXO transaction model (vs. Ethereum's account-based models)
Formal verification (related to 1.)
Functional-language-based (Haskell-based) smart contract language and VM (Plutus vs. Solidity)
Strong presence in emerging economies (Africa and Asia) in order to accelerate economic development and accelerate adoption
Guarantees regarding cost and executability of a smart contract prior to deployment, avoiding unnecessary gas fees.

I'm not an expert, so don't expect this to be a complete answer. But, Cardano is being developed in the context of academia and industrial partnerships. As of writing, the developers of Cardano (and their associates) have produced 102 academic papers formalizing the mathematical behavior of blockchains, generally, and of the delegated proof of stake and extended UTXO (unspent transaction output) model that the Cardano blockchain has spearheaded.
Related is that a very large emphasis is being placed on formal verification of Cardano's source code/implementation. Formal verification is the process of using software to prove, mathematically, that a certain set of code performs exactly as its designed to. A simple example would be formal verification of a function that calculates the hypotenuse of a right triangle given the lengths of the perpendicular sides. A formal verification system would operate on the source code (not the binary output, I understand) to verify that the routine does compute (and only computes, I think?) the Pythagorean theorem and isn't a virus that you might otherwise execute on your system.
Related to the above is the development of a function programming language based on Haskell, called Plutus to be used with Cardano's smart contracts platform (also called Plutus). By contrast Ethereum's smart contract language is called Solidity and is loosely based on ECMAScript/JavaScript, Python, and C++. Functional programming languages (LISP, Scala, Haskell) are preferred in environments where algorithmic and runtime safety is paramount, since the use of functions over classes/objects ensures side-effect free programs which are unlikely to mutate in an unintended way.
Additionally, Cardano is looking to work within a solid regulatory framework. Recently, the Cardano development company announced a partnership with the Ethiopian government to establish a decentralized identity system using the Cardano blockchain.
Cardano is also working hard in developing countries to bank the unbanked and provide loans and opportunity to historically disenfranchised communities.
Additionally, the Plutus platform includes, as a design goal, the feature that the cost to execute a smart contract is known prior to deployment (unlike Solidity) and the Plutus platform provides strong guarantees about the runtime behavior of your contract (it will either execute successfully or fail to execute, it won't fail while still incurring fees for partial execution.

I think ETH, no matter how and what it builds will be inferior to Cardano in many ways! Some of the core underlying reasons for that are:

ETH is an Account model vs Cardano's Extended UTXO model
ETH Smart contracts for its tokens vs Cardano's native tokens (huge benefit here)
ETH 2.0 is supposed to scale only upto a 100000 TXns at the most. Cardano with Hydra we are talking more like a Million +
Babel fees is a killer and is only on Cardano.
The on-chain governance on Cardano will always have a head start over ETH.
Solidity is buggy and unreliable. While Haskell, Plutus may be tough to learn, but they work like a charm. So more reliability.
People underestimate IELE and what it can do. Hope you watched Charles' video of "The island, the pond and the Ocean". Many don't even realize what we are achieving there.
And don't underestimate ATALA Prism which will enable Cardano to easily work with Governments and traditional world

With all the above I just scratched the surface. Idiots think that decentralized means Wild Wild West. It is far from truth. The power of research, papers, provable languages like Haskell, Plutus... sky is the limit. And we have got some of the best talent in the community.
For ETH even to live with 2.0 is a huge struggle unlike what is being written & sold on social media. The foundation pillars are what make a blockchain great. ETH foundations are shaky at best. We are seeing the results. I actually think that in the long run blockchains like ALGO, AVAX might give better competition to Cardano than ETH.

The staking experience for the end user is completely different as well. Staking on Cardano is a well thought out and planned activity, rather than an after thought of patched together services. So for example, running a stake pool/validator on Cardano is more straight forward. As so is actually staking. There is no central authority that has to approve you to be a validator or to approve your stake to be staked/unstaked. There is no lockup period for staking/unstaking. Your ADA is liquid while staking without you having to take on any third party (smart contract) risk.


text:
What are the practical motivations for owning ADA crypto currency?
As a person who are deciding to buy some ADA currency, what I am getting in return?
So far using ADA I can have:

Voting rights (governance)
Ability to run a pool
Grow your voting power through delegation rewards

Cardano has established community, company and the leader behind it.
It was not designed to be used as a stable coin so the value is volatile by definition.
Holding ADA is different from owning shares of a public company.
So what are the value behind ADA except the reasons listed above and price speculation on exchanges?

Is there such an existing "calculus" for gold, or wheat, or oil ? And for traditional fiat currencies ?

Yes, there is an intrinsic value you can calculate to estimate price of those goods. You have to estimate amount of work you need to perform to mine gold, harvest wheat or oil. Then you divide the harvested amount by resources you've spend - there you go, some basic value of goods without any interest / taxes / market interest etc on top of it.

ok, that makes sense for goods, although markets can even make oil having a negative value if there are too much stock that cannot be stored due to a pandemic. And for fiat currencies ? I guess you would use something like GDP ?

IMO, fiat currency have 0 intrinsic value but its extrinsic value purely socially justified. People have some consensus agreement, based on what they can afford and willing to pay. ADA on other hand, limited in supply, require infrastructure / electricity to survive. But there nothing much you can buy spend it to (yet).

This is very subjective and can only be answered from an opinionated position. With that, it has value, IMO because it has

been developed by a very methodical, mathematical, and scientific method
derivative tokens which are "native", compared to Ethereum, where tokens are implemented via smart contracts – this has one major implication (among other benefits): transaction fees are a small fraction; no "gas" fees are required to execute a contract
a dedicated and sophisticated, and ever expanding, ecosystem of people and companies working to solve real problems, create valuable businesses, etc.
outreach programs targeting new developers, governments, and education
a treasury system where regular rounds of Catalyst fund winning Cardano-based projects via grants
smart contracts that can be mathematically verified, enabling greater trust in the proper handling of funds

I don't think this answers the question. It is not necessarily accurate and there are non-subjective answers. Market dynamics and the game theory behind the ADA token is different to irrational crypto markets.

The value of an ADA is based on the market worth of the Cardano platform. The market worth of the platform grows as more blockchain-based services are added to it and are reliant upon the performance & features of the Cardano blockchain.
The growth and popularity of the applications of these services - eg. identity services, education checks, NFT services - will ultimately be what decides how valuable the Cardano platform is. This is why native multi assets is a big deal as it allows quick development & scaling of blockchain services upon the existing decentralised Cardano network.
Because the PoS nodes are paid for their efforts in ADA (even when processing assets that aren't ADA tokens), the value of ADA increases as more tokens, applications and services are dependant on the functionality provided by Cardano and the stakepools.
So to answer the question 'what do I get from buying ADA', the answer is an asset that will hopefully increase in value.

Ada cryptocurrency is used to access the Cardano platform. Cardano platform is used to build smart contracts and decentralized applications. The value of the Ada token is derived from utility.

At the end of the day, it's the market that determines the value of a cryptocurrency.


text:
How do I determine who the moderators are for Project Catalyst?
I am trying to find out who to contact if I need to ask a question, make a suggestion or make a request about changes to a proposal or challenge.

The members of the campaign team are listed at the bottom of the "about" tab for each challenge (Ideascale calls them campaigns)
e.g. for the "Dev Ecosystem" challenge, they are listed at the bottom of this "about" tab.


text:
When is Hydra going to be completed?
I’m impressed with all the work that you have done. I’ve been amazed by Hydra, and everything you continue to do with Cardano.

Not really an appropriate question, see the help for guidance.

Questions of timing are rarely appropriate for StackExchange, they are more suitable for the Cardano Reddit Forums.

I’m voting to close this question because the questions about the future of Cardano can't be effectively addressed on this site and would be better addressed directly to the Cardano Team on their forum. This site is not operated by the Cardano organization.

We will see some form of Hydra in action by end of 2021 or the first quarter of 2022. Charles mentioned a couple of times that a separate team is always working on it and will try to release it sooner than previously planned.


text:
Validators for Asset Type
What happens / what is the defense against creating a transaction using a validator that isn't expecting an asset type?
In other words: the validator determines "Can this UTXO be spent in this transaction", but is there something on-chain that determines "Can this UTXO be created with this validator script?"
For example: Validator script says "UTXO can be spent if ada amount is 100 ada"; someone creates a transaction that creates a UTXO of 100 USDT locked by this transaction; Is that 100 USDT locked forever?

No validation happens for outputs: Anybody can send anything with arbitrary datum to any address.
So in your example, those 100 USDT would indeed be locked forever.


text:
How to market a stakepool?
Besides:

Running a zero percent margin pool
Offering a bonus of 1000 Ada for a stake of 1 million
Starting a podcast
Advertising on Adapools.org using coinzilla
NFT giveaways

What other mechanisms are possible to market a stakepool?

I'm not sure if non-technical and open questions are a good fit for Stack Exchange. There isn't a definitive answer to this.

I agree with Edd. Better place to discuss open questions like this is forum.cardano.org

Sounds good, I’ll close it. The answers were helpful though, I appreciate it.

I’m voting to close this question because of the open ended nature. Will submit it on the Cardano forum.

Here is a quick brainstorm.
Web Presence

Create a Website
- You should have your own URL
- Get a basic knowledge of SEO and follow the rules.
Dedicated Twitter account and follow and comment on everything ADA/Cardano
Start a dedicated YouTube account and start creating content geared toward your target market. Could be how-to videos, current events, price action talk, interviews, reviews of catalyst proposals and funded projects, developer stuff, education...
Other social media accounts could include TicTok, Instagram, Facebook, Twitch, etc.
Answer and Ask questions on stack exchange.
Create a Discord for your delegators, be available and quick to communicate.
Do lottery's, giveaways, rewards, raffles, NFTs, Merch, etc.
Collaborate with an artist to start making NFTs published by your brand.
Paying for advertising would come after all this stuff. You need to have something for people to see when they start looking into your pool.
Be yourself. You are unique and you have something to offer that no-one else does.

Real Life

Get some Cardano branded stuff and wear it.
Become active in your region. Start/join meet-up groups. Talk to people about Cardano.
Get some gear with your own stake pool brand on it and wear it. Give it to friends and family.
Give ADA, Native Tokens, NFTs as gifts to friends and family.
Attend conferences.

You have to know your target group or at least try to reach your target group.
There are users who try to

maximize their returns from staking (best pool settings)
improve decentralization (any small pool)
support certain projects or projects in their area (selected projects, locations, ...)

If you try to reach users who want to maximize their staking return, your listed incentives are good. However, for small pools it will be challenging to be seen, as there are many large pools who already offer zero margin while providing a high block-minting probability. Personally, I believe that the differences between "normal" and "min-maxed" pools are too small to matter. All you do is try to take advantage of filters and search algorithms on certain pool comparison websites.
If you try to reach users who want to support the network by supporting smaller pools and increase decentralization, you just have to "be known". Overall I think that it is difficult to target this group of users specifically. Just try to be an option.
Your best bet is to have something that makes you special. If your pool supports a certain project, you could advertise your pool in this community. If you have a social media following, you can advertise there. You mentioned starting a podcast. To advertise your pool in your podcast, you have to advertise your podcast first. Some users try to support local pools specifically. Use this as an advantage to advertise your pool in a local Cardano community, for example a language specific Cardano subreddit.
The overall best way to get pledges is to become known (duh!). Participate in Cardano communities using a name like "XYZ Pool" and provide good content. Maybe you can use your answers to subtly drop the info that you operate a pool, for example when people ask how much it costs to operate a pool, or when they ask for certain pools in particular. Small events like giveaways are also a great opportunity for acceptable advertisement, as long you select an acceptable platform.


text:
I'm having issues with nix-shell
I keep getting this error, any thoughts? I have re-downloaded nix 3 times now and it's the same error as before. Not sure if it's the profiles or channels but this is what it gives me:
'''trying https://bintray.com/joneshf/generic/download_file?file_path=purty-6.2.0-osx.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
curl: (22) The requested URL returned error: 404 Not Found
error: cannot download download_file?file_path=purty-6.2.0-osx.tar.gz from any mirror
builder for '/nix/store/h5r5c5d2hq01xkdppsic3bl6qacc3wqj-download_file?file_path=purty-6.2.0-osx.tar.gz.drv' failed with exit code 1
building '/nix/store/ymrrdyw3n26pj4slkcmcqbmmyzd5k10k-edit-distance-lib-edit-distance-0.2.2.1-config.drv'...
cannot build derivation '/nix/store/w2j8cjba5cq80q8874c5zy2n4p6cjn11-purty-6.2.0.drv': 1 dependencies couldn't be built
error: build of '/nix/store/00czvl77x4dsjgyacq2i0ndknq1nhpig-sort-lib-sort-1.0.0.0.drv', '/nix/store/1skqzb2qn4cgh2wca78p3d7x8dzkwl6x-update-metadata-samples.drv', '/nix/store/24q0nd586wkyap6v79kcrk5141n2gj10-cabal-install-exe-cabal-3.4.0.0.drv', '/nix/store/2phjywsqy1607ing23kbwibh2aljsi2r-fix-stylish-haskell.drv', '/nix/store/31z19v2i3iibmfq76gyv5pqcr55976zv-updateMaterialized.drv', '/nix/store/3m344smmhpl6w0agwrf3h51h06smh28s-haskell-language-server-exe-haskell-language-server-1.1.0.0.drv', '/nix/store/51nz2l60xlkcg3kfml4115n9ndl37hjz-morph-1.5.0.drv', '/nix/store/6kqxqav9rh7fqi0csxzj9s4806i7vh75-signal-lib-signal-0.1.0.4.drv', '/nix/store/6lqh7knn0dfxdbmrm1xfn38dq1l8d29j-streaming-binary-lib-streaming-binary-0.2.2.0.drv', '/nix/store/6mmj5jxczlzdizisc0xlw18k84iwx9hz-agdaWithPackages-2.6.1.1.drv', '/nix/store/7kbhkhpilggidv66brc587jrkvkhq69n-partial-order-lib-partial-order-0.2.0.0.drv', '/nix/store/8012yr8janh31vlsjays761clvz20ami-ieee754-lib-ieee754-0.8.0.drv', '/nix/store/85npd6ymfj0q8wg92mzjsmdq0k41js85-r-dplyr-1.0.2.drv', '/nix/store/8j74dj2y8avqb5k6slnrn049lgzprvhg-hlint-exe-hlint-3.2.1.drv', '/nix/store/9820n0i8vhzgiiacpx2i6i6nyrsaway5-validation-lib-validation-1.1.1.drv', '/nix/store/9aqg02hwpvkvbh12cnmkdr0jf5qbc6dz-tree-diff-lib-tree-diff-0.2.drv', '/nix/store/9isss0nqik8hsmhymkx2gyq115xjs36y-sbv-lib-sbv-8.14.drv', '/nix/store/9lasjc950dfsn71hv9r8rzhspcscirg9-pretty-simple-lib-pretty-simple-4.0.0.0.drv', '/nix/store/bbidfihkb8x2gaf1fb2d8yjkfpqhm7xa-r-tidyverse-1.3.0.drv', '/nix/store/bdxspighrzkiip40jfnhbwnnia58bh0f-microlens-mtl-lib-microlens-mtl-0.2.0.1.drv', '/nix/store/c0kv959f5aq51cyzl4qnbpsvk88ps3m1-tdigest-lib-tdigest-0.2.1.1.drv', '/nix/store/c144bf3zwkpam1kbn04y97xhxfd9w601-generic-monoid-lib-generic-monoid-0.1.0.1.drv', '/nix/store/d6n0fpqh61s8x1ml1ighn8g8knv2qbxf-r-shiny-1.5.0.drv', '/nix/store/fsfi7xcvqrl6fcma5r1cs13yd277s618-streaming-bytestring-lib-streaming-bytestring-0.2.0.drv', '/nix/store/gbk4dp9gz0ggx66057nyi4gkv61j3a15-tasty-smallcheck-lib-tasty-smallcheck-0.8.2.drv', '/nix/store/gl9jrf8hc3ylpsplr8n2hs51xsn4nmbi-python3-3.8.6-env.drv', '/nix/store/gp6jgd67y75js5s3ackfkb5iszmzybsl-inline-r-lib-inline-r-0.10.4.drv', '/nix/store/hfv786xib23lfjk74lzxlrmm103q6v4s-r-plotly-4.9.2.2.drv', '/nix/store/i1igk4bviddh52vssqlm07hzf9j449p6-quickcheck-text-lib-quickcheck-text-0.1.2.1.drv', '/nix/store/ijzzvvq1kd953qhpiar696iqh8bxpgf9-r-shinyjs-2.0.0.drv', '/nix/store/ik042p673z6539x4zdp65k6xqmdkq0m6-ghc-shell-for-packages-ghc-8.10.4.20210212-env.drv', '/nix/store/ivgidgaa262s5javry9frg0hzckicbmw-r-purrr-0.3.4.drv', '/nix/store/j11byvlsxjykg0ynmddnqrf9d75wg5w5-typerep-map-lib-typerep-map-0.3.3.0.drv', '/nix/store/j678ky26621ys0jk651b7263cg7yn66z-extensible-effects-lib-extensible-effects-5.0.0.1.drv', '/nix/store/jzvxxyyqpbhbkfxxw2ac7hj8r57bb8by-process-extras-lib-process-extras-0.7.4.drv', '/nix/store/k9m80yh5wmrmic44nvlq57ll3nv5k334-tasty-expected-failure-lib-tasty-expected-failure-0.12.3.drv', '/nix/store/kkwfwqhfp5dr7s8xfwnvhz7h5hrpbq29-rate-limit-lib-rate-limit-1.4.2.drv', '/nix/store/lyvsqqnghjbspwp3zf0417zlhn49s51i-hspec-expectations-pretty-diff-lib-hspec-expectations-pretty-diff-0.7.2.5.drv', '/nix/store/m0wwdkv6dca42i8ii6h08k3j94j0fpmk-loch-th-lib-loch-th-0.2.2.drv', '/nix/store/mc8v4zm1vxj32mqhkbvc2h1r3s43x4bg-hspec-lib-hspec-2.7.9.drv', '/nix/store/mhd5irwlzbyzxxsbqrywlxxnkffm1gfm-hie-bios-exe-hie-bios-0.7.5.drv', '/nix/store/nkrkj480lwidfalwmijip0z3lpajllys-groups-lib-groups-0.5.2.drv', '/nix/store/nw0pm1c6pjxmxh3nm32y8c43igzm6v9s-pure-zlib-lib-pure-zlib-0.6.7.drv', '/nix/store/pmmbzhgf4qsd0sjfj61mak31a3b22z7x-r-stringr-1.4.0.drv', '/nix/store/qv7yjyqpby61b10876kg3w92qyqv7vks-tasty-quickcheck-lib-tasty-quickcheck-0.10.1.2.drv', '/nix/store/r290xlyhhrx7720f82b7piqs8q3bsidn-r-MASS-7.3-53.drv', '/nix/store/ssp8icp0lrb42dnkgzz3hbq9jcvnckzb-wl-pprint-lib-wl-pprint-1.2.1.drv', '/nix/store/vpbn2q57ljbdnryffkkg9yh574q92rif-moo-lib-moo-1.2.drv', '/nix/store/w0jpaqn7bm0j961kvqfbq9p6vn45l4dp-pre-commit-config.json.drv', '/nix/store/w2j8cjba5cq80q8874c5zy2n4p6cjn11-purty-6.2.0.drv', '/nix/store/w6hkfwbk4y92rj3y689sq5jhhcmgz9gh-update-client-deps.drv', '/nix/store/wmkc31ic82raw02wj75dihcp2cr442zl-gauge-lib-gauge-0.2.5.drv', '/nix/store/wra9k298zi1h037jyqk6d81d0pzl5g4w-criterion-lib-criterion-1.5.9.0.drv', '/nix/store/xjil71bs00sidlp6bmlnw1crzrpzbnig-z3.drv', '/nix/store/xs5fcb6zahna29znlpfxvfb6rhcd3qd6-cassava-lib-cassava-0.5.2.0.drv', '/nix/store/yw23258yf4idsinig1ac06h8gb4y347l-fix-purty.drv', '/nix/store/z8h2jvfqxzzcnbx9lv0vrnq52b4kj114-hint-lib-hint-0.9.0.4.drv', '/nix/store/zcyridhi051675splnihx5myd7599wd4-stylish-haskell-exe-stylish-haskell-0.12.2.0.drv', '/nix/store/ziifb1divbpabkg3dqkv1c0qi0bdhsnj-smallcheck-lib-smallcheck-1.2.1.drv', '/nix/store/zivnf3s09nf4l0zk8wi6gxr5s6av7x43-pipes-lib-pipes-4.3.15.drv', '/nix/store/zp3asyqhf3538a7x9cc5a3sb8xb2hjkc-tasty-hedgehog-lib-tasty-hedgehog-1.1.0.0.drv' failed'''

Can you please share which exact commit and branch you are trying?

It may help to use IOHK's binary caches.
You can set these up globally for your system by adding/creating these lines in /etc/nix/nix.conf:
substituters        = https://hydra.iohk.io https://iohk.cachix.org https://cache.nixos.org/
trusted-public-keys = hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= iohk.cachix.org-1:DpRUyj7h7V830dp/i6Nti+NEO2/nhblbov/8MW7Rqoo= cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=

I have tried that but the file is locked, so I duplicated and ran that and still is giving me the same error unfortunately. Im using MacOS M1,

I don't know if the ARM-based processor complicates things, but you can edit your file using sudo from the terminal. Prepend sudo to your favorite editor; for example run sudo vim /etc/nix/nix.conf to modify the file.

this worked for me, thanks

This doesn't work for me, I've added those lines and still get the same error

This worked for me.

There are multiple different types of nix.conf files in the $PATH, even when I made one globally. So What I initial did was replace all of them with the IOHK's binary caches, and from there it worked.


text:
Native Token Names: How may I prevent other Projects from using my Project's Cardano Native Token Ticker/Name (fungible) on any blockchain network?
I am starting a new blockchain project.  I think I want to deploy the project on Cardano.  When I select a fungible Token Name for my Native Token on Cardano,  how do I prevent another project from using the exact same Token Name as I have used?    I have not found a global registry, like that used for IP addresses/names on TCPIP.   What if a project on another blockchain, say, Ethereum tries to use my exact same Token name, are they blocked somehow?
Also, if another project is not blocked from using my exact same Token Name, how can the fungible tokens be traded on an exchange?
Thanks!

Tokens are identified on Cardano by their policy id. This will be completely unique to your token when you mint it. You can then register your token in the github token registry. Wallets like Daedalus will use this information to determine how to display your token in the wallets. The CardanoFoundation maintains this repository so they can clean up any scam tokens that are trying to impersonate yours.
https://github.com/cardano-foundation/cardano-token-registry


text:
Is script\bin_path.sh missing?
I'm following these instructions to start up cardano-node from source.
After downloading cardano-node from GitHub, I see that script\bin_path.sh does exist.
After selecting the latest version it still does not.
git fetch --all --recurse-submodules --tags
git tag
git checkout tags/1.23.2

Then after building, the following instructions fail:
cp -p "$(./scripts/bin-path.sh cardano-node)" ~/.local/bin/
cp -p "$(./scripts/bin-path.sh cardano-cli)" ~/.local/bin/

Can you please post the error message. How is it failing?

I didn't see any error, but it's clearly not going to work because bin_path.sh is referenced and does not exist.    I copied that script from a different branch and it worked.  I need to be added, or the documentation needs to be changed.

Can you log it as a bug on Git?

You're using tags/1.23.2. The most recent release was tags/1.26.2. You can see the file on master at the moment [0] so I'd suggest checking out a more recent version of cardano-node and opening a PR or submitting an issue on GitHub to update the node version that the docs suggest using.
[0] https://github.com/input-output-hk/cardano-node/blob/master/scripts/bin-path.sh

It's also missing from 1.26.2.

Just merge the file into 1.26.2 if you need it