Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    sorabot
    @sorabot
    ♌︎ Leo via telegram
    One question for the devs: I noticed that in 1.2RC it requires CreateDB permission on the PostgreSQL user. Is there a specific reason for this change?
    sorabot
    @sorabot
    Mikhail Boldyrev via telegram
    db schema may change between iroha versions, and it seems reasonable to drop the db and create it from scratch when we do not reuse the wsv state. otherwise, if schema expectations were not met, there appear errors that may be not so evident. when we do reuse the wsw state, we use the migration script and schema version checks.
    sorabot
    @sorabot
    ♌︎ Leo via telegram
    I understand that part about schema changes and the need to drop and create tables. I'm just concerned about giving a blanket createdb permission to an app account.
    sorabot
    @sorabot
    Lorena ALEKSI via telegram
    Photo
    sorabot
    @sorabot
    LAURIN Brown via telegram
    Photo
    sorabot
    @sorabot
    ✗Dɪᴍᴏɴ via telegram
    @liralemur fraud detected 👆
    sorabot
    @sorabot
    katrien ARIANE via telegram
    Photo
    prater27
    @prater27

    Hi! I am giving a try to Iroha, it looks a great piece of software, thanks to the people working on it.
    I am having an issue: I am trying to run the example provided in the iroha repository in a machine (with a single node). No dockers, Ubuntu 18.04LTS. Unfortunately, I am not being able to see the voting process moving on:

    [2020-11-22 23:33:17.121761655][I][Irohad/Consensus/HashGate]: Vote VoteMessage: [yac hash=YacHash: [round=Round: [block=2, reject=0], hashes=VoteHashes: [proposal=, block=]], signature=Signature: [publicKey=716fe505f69f18511a1b083915aa9ff73ef36e6688199f3959750db38b8f4bfc, signedData=9b5014ada87027e59c197cb4a3e5c88d4f32e87006c33dea325169af3f01592493f17364c58330619c5aa5cbdd26627a96c284254c85036cce0a0609df372303]] to peer Peer: [address=127.0.0.1:10001, pubkey=bddd58404d1315e0eb27902c5d7c8eb0602c16238f005773df406bc191308929, tlsCertificate=0]
    [2020-11-22 23:33:17.122507508][I][Irohad/Consensus/Network]: Send votes bundle[size=1] to 127.0.0.1:10001
    [2020-11-22 23:33:17.123582587][I][Irohad/Consensus/Network]: Received votes[size=1] from ipv4:127.0.0.1:56762
    [2020-11-22 23:33:17.123778849][W][Irohad/Consensus/HashGate]: Got a vote from an unknown peer: VoteMessage: [yac hash=YacHash: [round=Round: [block=2, reject=0], hashes=VoteHashes: [proposal=, block=]], signature=Signature: [publicKey=716fe505f69f18511a1b083915aa9ff73ef36e6688199f3959750db38b8f4bfc, signedData=9b5014ada87027e59c197cb4a3e5c88d4f32e87006c33dea325169af3f01592493f17364c58330619c5aa5cbdd26627a96c284254c85036cce0a0609df372303]]

    I have been trying to figure out what the problem could be but I am not being able to solve it. Any suggestion?

    Thank you very much in advance!!

    Initially I thought it could have to do with the fact of only having one node, but according to this sandbox:
    https://www.katacoda.com/lebdron/scenarios/iroha-transfer-asset
    it seems to be possible.
    P.S1: I think the previously linked Sandbox does not work, since when trying to execute the python scripts the iroha module is not found.
    P.S2: The "tab" in the top of the page: https://soramitsu.co.jp/iroha linking to resources does not work in Google Chrome (one has to scroll manually there).

    sorabot
    @sorabot
    Konrad Baechler via telegram
    Suggestion: "vote from unknown peer" = issues with keys. Have you compared your local key pair with the genesis block?
    sorabot
    @sorabot
    Sat via telegram
    Whate is this project about
    Sat via telegram
    And when is it listing
    prater27
    @prater27

    Hi Konrad, thanks for your answer!
    I am using the files given in the Iroha repository example.
    In the original genesis.block file, where the peer is added, the peerKey is set to be the one from the node0.pub file.
    Nevertheless, I saw that in the VoteMessage appearing in Irohad, the Signature PublicKey is the one from test@test.pub.

    If I change in the genesis.block the peerKey to be test@test.pub, it (apparently) works. I am actually confused by this, since I thought the voting process depended on peers and not accounts. Why does Irohad use the test@test.pub and not for example admin@test.pub account?

    Once I do that modification, the following appears, so it seems to work although not new blocks are added (since there is not transactions???):

    ...Ordering/Service]: onCollaborationOutcome => Round: [block=2, reject=1813]
    ...Consensus/HashGate]: Order for voting: [127.0.0.1:10001]
    ...Consensus/HashGate]: Vote VoteMessage: [yac hash=YacHash: [round=Round: [block=2, reject=1813], hashes=VoteHashes: [proposal=, block=]], signature=Signature: [publicKey=716fe505f69f18511a1b083915aa9ff73ef36e6688199f3959750db38b8f4bfc, signedData=92426b036d1ab16c72f85ff6b97adfe2a822b333f6097b416402fdb0971a8b792fe0123447593bfaf3e625421f048b25539650f6368dbddeac56aa47417f3505]] to peer Peer: [address=127.0.0.1:10001, pubkey=716fe505f69f18511a1b083915aa9ff73ef36e6688199f3959750db38b8f4bfc, tlsCertificate=0]
    ...Consensus/Network]: Send votes bundle[size=1] to 127.0.0.1:10001
    ~~~| PROPOSAL ^_^ |~~~
    ...Consensus/Network]: Received votes[size=1] from ipv4:127.0.0.1:32910
    ...Consensus/VoteStorage/ProposalStorage]: Vote with Round: [block=2, reject=1738] and hashes [, ] looks valid
    ...Consensus/VoteStorage/ProposalStorage/BlockStorage]: Vote with round Round: [block=2, reject=1738] and hashes (, ) inserted, votes in storage [1/1]
    ...Consensus/HashGate]: Received supermajority of votes for Round: [block=2, reject=1738], skip propagation
    ...Consensus/HashGate]: Pass outcome for Round: [block=2, reject=1738] to pipeline
    ...Consensus/Gate]: Consensus skipped round, voted for nothing
    ...Synchronizer]: processing consensus outcome
    ~~~| EMPTY (-_-)zzz |~~~

    After that, when trying to interact with the blockchain following this guide:
    https://iroha.readthedocs.io/en/1.1.3/getting_started/cli-guide.html
    I get this:

    Congratulation, your transaction was accepted for processing.
    Its hash is c5cb317271240b7be5908473b002f3ab0fb085aff933719ec9274b6a37d36ce3

    But it was not processed, I don't think nothing was shown in Irohad and no new blocks were created.

    What am I doing wrong?

    Thank you very much in advance!! Once I have a better understanding of Iroha, I could contribute to create some additional documentation addessing some of the issues I am facing being new to this technology.

    sorabot
    @sorabot
    Konrad Baechler via telegram
    "the voting process depended on peers": yes - and messages traversing the network must be signed by the sending peer with the correct key 😁. Accounts are not involved in voting. The "problem" (=irritating for new users) is rather the "iroha-cli" tool to create key pairs. The naming of the option "-new_account" is kind of misleading (since the tool can be used to create keys for accounts AND peers).
    sorabot
    @sorabot
    Konrad Baechler via telegram
    In case you're looking for a fresh and AFAIK working local testnet with three iroha nodes: https://codeberg.org/diva.exchange/iroha . It requires docker-compose (how-to: see README on front page)
    prater27
    @prater27
    Thanks for your response Konrad! I will use your link as reference for configurations in order to see what I am doing wrong. Thanks again!!
    sorabot
    @sorabot
    Sara via telegram
    Hi! Iroha is a Blockchain technology and not a coin, if that's what you mean
    baziorek
    @baziorek
    I've found on archived repository (https://github.com/hyperledger-archives/education/blob/master/LFS171x/docs/introduction-to-hyperledger-iroha.md) link to chat:
    https://chat.hyperledger.org/channel/iroha-smartcontracts
    as I see nothing is happening here, so my question is: are any plans to use that chat if somebody wants to ask about smart contracts, or it is discontinued?
    sorabot
    @sorabot
    Andrei Lebedev via telegram
    Sounds reasonable to me. It might be possible to require user to create databases before configuring Iroha to use it
    Andrei Lebedev via telegram
    Could you give more details on reproduction for this please?
    sorabot
    @sorabot
    Konrad Baechler via telegram
    Before I'll try to create some docker-compose /docker containers to reproduce this again - I have one question: is the locally available timestamp of an iroha 1.2.0-rc2 peer of any relevance? Or, asked the other way round: assume one specific iroha 1.2.0-rc2 peer is NOT in sync with a reliable NTP and its local clock is wrong - will this create any synchronisation/validation problems between the peers?
    sorabot
    @sorabot
    1337 via telegram
    I have manually installed Iroha (without docker). I went through Docs. However, I haven't find any instructions regarding setting up and executing a simple smart contract in Iroha. Can someone please guide me how to set-up a simple smart contract in Iroha?
    sorabot
    @sorabot
    Sara via telegram
    Hi! Iroha has some preset commands and queries (they are like an equivalent of a contract in other technologies, I believe) but it also has an integration with HL Burroe which allows to use Solidity contracts. I can point you in direction to both in the docs. Which one would you like?)
    sorabot
    @sorabot
    1337 via telegram
    Thanks. Running Iroha without docker is a real struggle.
    I am learning how smart contract in Iroha works. I am thinking of setting up a simple smart contract ( for the purpose of learning). So I would really appreciate any method that’s simple.
    1337 via telegram
    Yes in the Docs the commands and queries are mentioned. But it’s not clear how to execute them especially without docker. Or where really the smart contract resides.
    sorabot
    @sorabot

    Sara via telegram
    Well, the thing that you've built is basically the 'core' part of Iroha. To send something there (including the commands and queries) you will need some sort of a client side.
    For example, you can try CLI (although it is only for trying things out - it is not sonething for actually building stuff and not exactly reliable) here (https://iroha.readthedocs.io/en/master/getting_started/cli-guide.html) or use Python client library - a little guide is here (https://iroha.readthedocs.io/en/master/getting_started/python-guide.html). Bonus resource for Python is a Katacoda tutorial: https://katacoda.com/hyperledger-iroha where everything is shown step-by step.

    Burrow smart-contract business is trickier. First of all, you will need to build Iroha again with Burrow flag, and then carefully follow this part of the documentation: https://iroha.readthedocs.io/en/master/integrations/index.html#hyperledger-burrow

    I would start with Python example just to get the idea of what the system looks like.

    sorabot
    @sorabot
    1337 via telegram
    I really appreciate the links you mentioned. Will try them and keep you updated.
    Sara via telegram
    👍 good luck! We are here to help, if any questions occur.
    sorabot
    @sorabot
    Ahmad Hussain via telegram
    Photo
    Same time stamp for all the transactions in Iroha.? Is there any way to solve this issue?
    sorabot
    @sorabot
    Mikhail Boldyrev via telegram
    maybe increasing time output precision?
    Mikhail Boldyrev via telegram
    also check your client code, whether it uses actually different timestamps
    sorabot
    @sorabot
    Konrad Baechler via telegram
    Here is now the complete log of todays test (~about 22mins log data, ~600K). A properly configured iroha 1.2.0-rc2 network gets out of sync: https://codeberg.org/diva.exchange/iroha/issues/3
    samcyang
    @samcyang

    I am new in here, I am confused on setting up configuration ports, peer communication and block store on a multiple nodes situation.

    I was able to compile the master on a Windows 10 Ubuntu 18.4 (WSL). I want to run two nodes on the same machine. Following are my configuration and setup..

    Node0’s config has
    • internal_port = 10001,
    • "torii_port" : 50051,
    • "block_store_path" : "/tmp/block_store/"

    Node1’s config has
    • internal_port = 10002,
    • "torii_port" : 50052,
    • "block_store_path" : "/tmp/block_store2/"

    The genesis.block for both has
    "peer":{
    "address":"192.168.1.55:10001",
    "peerKey":"…."
    },
    "peer":{
    "address":"192.168.1.55:10002",
    "peerKey":"…."
    }

    I am able to run both and can use “ iroha_cli” to create asset, add asset and query asset.
    However, if I created an asset1 with peer node1, I will not able to query the asset1 on the node0
    If I created an asset0 with peer on node0, I will not able to query the asset0 on node1.
    When I look at the /tmp/block_store and /tmp/block_store1
    I can see 2 blocks on each store, the node0, /tmp/block_store has the 000000001 and 0000002 blocks, and the node1, /tmp/block_store1, I have the 0000001 and 0000003 blocks.
    In my mind, both stores /tmp/block_store or /tmp/block_store1, should have 3 blocks as 000001, 000002, and 000003.
    Am I doing some wrong in the configuration (config, and genesis.block)? Or should I use the ‘iroha_cli’ to issue the add peer/node as well.
    Thanks for all your help.

    baziorek
    @baziorek
    @samcyang Provide logs of your irohad servers - maybe something would be here. But please format its as code:)
    baziorek
    @baziorek

    I'm thinking about how to implement auction in Iroha.
    The best possibility I see (in current functionalities) is:

    1. create auction account e.g:
      1234@auction
    2. everybody who wants to participate in auction would transfer 10% of offered bid, but in sucject would be 100% of price and another details.
    3. This account would have quorum 2 - one of keys would be public to read bids by everybody, but another would be key of owner.
    4. If somebody see that another person is beating him -it would be possible to add another transfer with different 100% price offered. Bids from the same person would be accumulated.
    5. After some time bids, which does not win would be returned to senders.
    6. If winner does not add 90% - his deposit would be lost.

    What do You think? Does anybody has better idea?

    sorabot
    @sorabot
    ♌︎ Leo via telegram
    Just an alternative idea:
    1. Create a new account validator@auction
    2. Add public key of validator@auction to all bidder accounts
    3. validator@auction should maintain a list of bidder accounts it needs to check
    4. Each bidder, will bid by initiating a transfer of the full bid amount to 1234@auction, and a quorum of 2.
    5. validator@auction will collect pending transactions from all bidders, maybe at a fixed time interval (e.g. at the end of the bidding round).
    6. validator@auction will evaluate all the bids, and signs the winning bid. The rest of bids will be invalidated.
    ♌︎ Leo via telegram
    I supposed u can just put 10%, and at the end of the winning bid, the winner will need to make a transfer of the remaining 90%
    baziorek
    @baziorek
    @Leo, thanks for Your idea - it looks good. But the problem I see is that biders would not see offerds not done by them, so they wouldn't be able to change their bids. The solution I see is to copy bids to e.g. 1234@auction as key-value and everybody would be able to see offers. What do You thing?
    sorabot
    @sorabot
    ♌︎ Leo via telegram
    The validator sees all the bids 😄
    ♌︎ Leo via telegram
    sounds ok
    ♌︎ Leo via telegram
    then each bid would be 2 transactions, one setAccountDetail, and 1 TransferAsset
    baziorek
    @baziorek
    good, thanks
    sorabot
    @sorabot
    sudomann (Will) Willy Njundong via telegram
    I'm thinking about starting work on a rust client for iroha. I did a quick search and didn't see any existing efforts towards this end. Anyone know of any so far?
    sorabot
    @sorabot
    ♌︎ Leo via telegram
    There's no official rust client for iroha v1, I suppose it should be quite straightforward to compile the grpc definition files to generate a rust grpc client. On a separate note, Iroha v2 is being developed in rust. Not due to be released until somewhere next year.
    sudomann (Will) Willy Njundong via telegram
    Aahh I see
    sorabot
    @sorabot
    sudomann (Will) Willy Njundong via telegram
    I actually went to check out the rust based iroha and found they've began work on a rust client https://github.com/hyperledger/iroha/tree/iroha2-dev/iroha_client
    ♌︎ Leo via telegram
    That's iroha 2
    sorabot
    @sorabot
    Makoto Takemiya 武宮誠 (Sora.org - Soramitsu) via telegram
    Iroha2 is in rust natively. If you want to write rust code, you can contribute if you like
    sorabot
    @sorabot
    ♌︎ Leo via telegram
    @mtakemiya how long before we have a beta release for iroha 2
    Makoto Takemiya 武宮誠 (Sora.org - Soramitsu) via telegram
    It will be next year