AramBarnett (Wed, 26 Apr 2017 04:52:05 GMT):
Has joined the channel.

tkuhrt (Wed, 26 Apr 2017 13:12:03 GMT):
Has joined the channel.

tkuhrt (Wed, 26 Apr 2017 13:13:16 GMT):
Hyperledger Burrow Discussion

benjaminbollen (Wed, 26 Apr 2017 15:43:55 GMT):
Has joined the channel.

benjaminbollen (Wed, 26 Apr 2017 15:45:04 GMT):
I can kick start the conversation here with a short introduction of Burrow and myself (thx Tracy and Ry for creating the channel!)

benjaminbollen (Wed, 26 Apr 2017 15:47:40 GMT):
Hyperledger Burrow is a permissioned Ethereum smart contract machine that newly joined the Hyperledger family as an incubation project! We are very honoured and look forward to closer integrations and collaboration within the Hyperledger umbrella. You can find the code development for Burrow here: https://github.com/hyperledger/burrow

benjaminbollen (Wed, 26 Apr 2017 15:48:51 GMT):
@silasdavis and I will move our development discussion from internal slack here and we welcome people to join those discussions and the development

silasdavis (Wed, 26 Apr 2017 15:48:51 GMT):
Has joined the channel.

benjaminbollen (Wed, 26 Apr 2017 15:51:54 GMT):
Last perhaps I want to thank @Dan and @amundson for a two days at the Hyperledger hackfest. I safely touched ground and will look to do a first PR burrow-evm as a sawtooth transaction processor by COB tomorrow (I slept on the flight back sorry :) )

benjaminbollen (Wed, 26 Apr 2017 15:51:54 GMT):
Last perhaps I want to thank @Dan and @amundson for a two days at the Hyperledger hackfest. I safely touched ground and will look to do a first PR burrow-evm as a sawtooth transaction processor by COB tomorrow (I slept on the flight back sorry )

Dan (Wed, 26 Apr 2017 15:51:54 GMT):
Has joined the channel.

amundson (Wed, 26 Apr 2017 15:51:54 GMT):
Has joined the channel.

adamludvik (Wed, 26 Apr 2017 16:04:47 GMT):
Has joined the channel.

boydjohnson (Wed, 26 Apr 2017 16:28:21 GMT):
Has joined the channel.

Dan (Wed, 26 Apr 2017 17:06:54 GMT):
Yeah that was great meeting up. I'm glad we were able to hold up the hacking part of the hackfest. Good participation too from @VipinB, @stan.liberman, Ram and others.

stan.liberman (Wed, 26 Apr 2017 17:06:54 GMT):
Has joined the channel.

VipinB (Wed, 26 Apr 2017 17:06:54 GMT):
Has joined the channel.

Dan (Wed, 26 Apr 2017 17:08:11 GMT):
I'm sure @bbehlendorf and crew over in the other meeting would have enjoyed the hands on activity.

bbehlendorf (Wed, 26 Apr 2017 17:08:11 GMT):
Has joined the channel.

agunde (Wed, 26 Apr 2017 17:40:44 GMT):
Has joined the channel.

amundson (Wed, 26 Apr 2017 17:42:28 GMT):
It was really a great way to kick off our collaboration and get to know more about the EVM and Burrow specifically.

pschwarz (Wed, 26 Apr 2017 17:44:19 GMT):
Has joined the channel.

pschwarz (Wed, 26 Apr 2017 17:46:50 GMT):
Looking forward to the PR!

mfford (Wed, 26 Apr 2017 18:15:15 GMT):
Has joined the channel.

kelly_ (Wed, 26 Apr 2017 18:19:20 GMT):
Has joined the channel.

amundson (Wed, 26 Apr 2017 23:04:41 GMT):
@benjaminbollen - @adamludvik (Adam), @pschwarz (Peter), @boydjohnson (Boyd), and myself are all ready to help as-needed on the burrow-evm branch. We will try and have a PR to add a payload protobuf with some code to create/submit a transaction with it soon.

amundson (Wed, 26 Apr 2017 23:05:52 GMT):
@benjaminbollen - Is it correct that the ABI is only used on the client side when creating the transaction, and that we do not need to send it as part of the transaction?

LoveshHarchandani (Thu, 27 Apr 2017 06:44:22 GMT):
Has joined the channel.

DrTES (Thu, 27 Apr 2017 12:07:06 GMT):
Has joined the channel.

dklesev (Thu, 27 Apr 2017 16:22:10 GMT):
Has joined the channel.

benjaminbollen (Thu, 27 Apr 2017 16:37:26 GMT):
that is correct; the ABI sits at the client side; internally though we have plans for the ABI definition to be understood by the chain; this is hard to do on a public ETH chain, and wasnt incorporate but is possible on a permissioned chain and of a lot of value

benjaminbollen (Thu, 27 Apr 2017 16:37:26 GMT):
that is correct; the ABI sits at the client side; internally though we have plans for the ABI definition to be understood by the chain; this is hard to do on a public ETH chain, and wasnt part of the public ETH design but is possible on a permissioned chain and of a lot of value

benjaminbollen (Thu, 27 Apr 2017 16:38:50 GMT):
(this also was dependent on EIP 141; which allows to interject a hash into the compiled contract code to match the ABI definition to compiled smart contract code)

VipinB (Thu, 27 Apr 2017 17:15:38 GMT):
Hi @benjaminbollen, maybe there should be optional attestations from a TEE to ensure that the code was deployed from a secure node. This can start with just being in the deployment of the contract and some sort of protocol interacting with the ABI hash. Further we can look at this being part of sensitive or high value transactions (also on an optional basis)-this way we harden the trust envelope (maybe cheaply)

benjaminbollen (Thu, 27 Apr 2017 18:06:49 GMT):
hi @VipinB ! that is a great suggestion. We have the foundation for that through the permissioning system, as `CREATE` is a permissioned execution step; but this can be much further worked out and connected to other attestations (TEE as you suggest) and better integrated user experience

PrestonByrne (Thu, 27 Apr 2017 18:26:31 GMT):
Has joined the channel.

DerekTiffany (Fri, 28 Apr 2017 05:15:09 GMT):
Has joined the channel.

atq (Fri, 28 Apr 2017 16:34:17 GMT):
Has joined the channel.

sstone1 (Sat, 29 Apr 2017 14:34:09 GMT):
Has joined the channel.

rjones (Mon, 01 May 2017 18:34:15 GMT):
tkuhrt

Lakshmipadmaja (Tue, 02 May 2017 04:59:14 GMT):
Has joined the channel.

jrosmith (Tue, 02 May 2017 15:12:39 GMT):
Has joined the channel.

jrosmith (Tue, 02 May 2017 15:13:47 GMT):
hey all, i'm testing out burrow and figured id get started by familiarizing myself with monax, i'm working through the examples here: https://monax.io/docs/getting-started/#fn:7

jrosmith (Tue, 02 May 2017 15:14:21 GMT):
oops just kidding, thats a troubeshooting guide. working through these: https://monax.io/docs/getting-started/

jrosmith (Tue, 02 May 2017 15:15:02 GMT):
currently on step 4.1 and I'm having an issue with installing the packages. my package.json currently looks like so: ``` { "name": "idis_app", "version": "0.0.1", "dependencies": { "@monax/legacy-contracts": "^0.16.0", "prompt": "*" } } ```

jrosmith (Tue, 02 May 2017 15:16:01 GMT):
im running `npm install` from `~/.monax/apps/idi and am getting the following output: ``` idis_app@0.0.1 /Users/jrosmith/.monax/apps/idi └─┬ prompt@1.0.0 ├── colors@1.1.2 ├── pkginfo@0.4.0 ├─┬ read@1.0.7 │ └── mute-stream@0.0.7 ├── revalidator@0.1.8 ├─┬ utile@0.3.0 │ ├── async@0.9.2 │ ├── deep-equal@0.2.2 │ ├── i@0.3.5 │ ├─┬ mkdirp@0.5.1 │ │ └── minimist@0.0.8 │ ├── ncp@1.0.1 │ └─┬ rimraf@2.6.1 │ └─┬ glob@7.1.1 │ ├── fs.realpath@1.0.0 │ ├─┬ inflight@1.0.6 │ │ └── wrappy@1.0.2 │ ├── inherits@2.0.3 │ ├─┬ minimatch@3.0.3 │ │ └─┬ brace-expansion@1.1.7 │ │ ├── balanced-match@0.4.2 │ │ └── concat-map@0.0.1 │ ├── once@1.4.0 │ └── path-is-absolute@1.0.1 └─┬ winston@2.1.1 ├── async@1.0.0 ├── colors@1.0.3 ├── cycle@1.0.3 ├── eyes@0.1.8 ├── isstream@0.1.2 ├── pkginfo@0.3.1 └── stack-trace@0.0.9 npm WARN idis_app@0.0.1 No description npm WARN idis_app@0.0.1 No repository field. npm WARN idis_app@0.0.1 No license field. npm WARN optional SKIPPING OPTIONAL DEPENDENCY: ansi-regex@2.1.1 (node_modules/@monax/legacy-contracts/node_modules/ansi-regex): npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/Users/jrosmith/.monax/apps/idi/node_modules/.staging/ansi-regex-57a48697' -> '/Users/jrosmith/.monax/apps/idi/node_modules/@monax/legacy-contracts/node_modules/ansi-regex' npm WARN optional SKIPPING OPTIONAL DEPENDENCY: ansi-styles@2.2.1 (node_modules/@monax/legacy-contracts/node_modules/ansi-styles): npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/Users/jrosmith/.monax/apps/idi/node_modules/.staging/ansi-styles-db3a4a9e' -> '/Users/jrosmith/.monax/apps/idi/node_modules/@monax/legacy-contracts/node_modules/ansi-styles' npm WARN optional SKIPPING OPTIONAL DEPENDENCY: any-promise@1.3.0 (node_modules/@monax/legacy-contracts/node_modules/any-promise): npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/Users/jrosmith/.monax/apps/idi/node_modules/.staging/any-promise-8f1cc9c7' -> '/Users/jrosmith/.monax/apps/idi/node_modules/@monax/legacy-contracts/node_modules/any-promise' npm WARN optional SKIPPING OPTIONAL DEPENDENCY: asn1@0.2.3 (node_modules/@monax/legacy-contracts/node_modules/asn1): npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/Users/jrosmith/.monax/apps/idi/node_modules/.staging/asn1-002f5167' -> '/Users/jrosmith/.monax/apps/idi/node_modules/@monax/legacy-contracts/node_modules/asn1' npm WARN optional SKIPPING OPTIONAL DEPENDENCY: assert-plus@0.2.0 (node_modules/@monax/legacy-contracts/node_modules/assert-plus): npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/Users/jrosmith/.monax/apps/idi/node_modules/.staging/assert-plus-71a2e590' -> '/Users/jrosmith/.monax/apps/idi/node_modules/@monax/legacy-contracts/node_modules/assert-plus' npm WARN optional SKIPPING OPTIONAL DEPENDENCY: asynckit@0.4.0 (node_modules/@monax/legacy-contracts/node_modules/asynckit): npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/Users/jrosmith/.monax/apps/idi/node_modules/.staging/asynckit-461bc7f0' -> '/Users/jrosmith/.monax/apps/idi/node_modules/@monax/legacy-contracts/node_modules/asynckit' npm ERR! Darwin 16.5.0 npm ERR! argv "/usr/local/Cellar/node/7.1.0/bin/node" "/usr/local/bin/npm" "install" npm ERR! node v6.10.0 npm ERR! npm v3.10.10 npm ERR! path /Users/jrosmith/.monax/apps/idi/node_modules/.staging/bignumber.js-d9f80baa npm ERR! code ENOENT npm ERR! errno -2 npm ERR! syscall rename npm ERR! enoent ENOENT: no such file or directory, rename '/Users/jrosmith/.monax/apps/idi/node_modules/.staging/bignumber.js-d9f80baa' -> '/Users/jrosmith/.monax/apps/idi/node_modules/@monax/legacy-contracts/node_modules/bignumber.js' npm ERR! enoent ENOENT: no such file or directory, rename '/Users/jrosmith/.monax/apps/idi/node_modules/.staging/bignumber.js-d9f80baa' -> '/Users/jrosmith/.monax/apps/idi/node_modules/@monax/legacy-contracts/node_modules/bignumber.js' npm ERR! enoent This is most likely not a problem with npm itself npm ERR! enoent and is related to npm not being able to find a file. npm ERR! enoent npm ERR! Please include the following file with any support request: npm ERR! /Users/jrosmith/.monax/apps/idi/npm-debug.log ```

jrosmith (Tue, 02 May 2017 15:16:32 GMT):
not sure if this an error on my end or an issue with the package?

compleatang (Tue, 02 May 2017 16:48:13 GMT):
Has joined the channel.

beauson45 (Wed, 03 May 2017 08:09:13 GMT):
Has joined the channel.

jrosmith (Wed, 03 May 2017 15:21:10 GMT):
Ended up resolving the issues. Updated my package.json so that `@monax/legacy-contracts` points to `0.16.7` and upgraded npm

benjaminbollen (Wed, 03 May 2017 16:04:08 GMT):
great! note that we have moved the javascript libraries into legacy mode, which we will maintain; but the idea is very much for burrow to fully move out of monax tooling and the associated javascript libraries and for burrow to live independently of monax tooling; unfortunately right now the documentation and user interfaces are still all written for monax; not burrow directly

schwentker2 (Wed, 03 May 2017 19:18:07 GMT):
Has joined the channel.

snowy13 (Thu, 04 May 2017 08:59:02 GMT):
Has joined the channel.

himansri (Thu, 04 May 2017 11:20:56 GMT):
Has joined the channel.

dennismckinnon (Thu, 04 May 2017 15:39:11 GMT):
Has joined the channel.

cbf (Sun, 07 May 2017 19:47:08 GMT):
Has joined the channel.

hshimo (Mon, 08 May 2017 05:39:20 GMT):
Has joined the channel.

amundson (Mon, 08 May 2017 17:00:34 GMT):
we have a new channel - #sawtooth-burrow for discussion specific to sawtooth+burrow integration

adamludvik (Tue, 09 May 2017 20:35:17 GMT):
I am digging into the burrow evm code a little to get a better understanding of what it does and how it works, as well as skimming the Ethereum yellow paper. I am hoping I can get some help with a few questions. Let me know if there is a better place to ask these. Thanks! 1. Is the storage referred to by opcodes SLOAD and SSTORE blockchain storage? 2. Is this storage always associated with an account? 3. The AppState interface define by the burrow evm seems to treat accounts and storage differently, as does the FakeAppState type. Is this out of necessity or convenience? 4. How is storage for an account limited?

dennismckinnon (Tue, 09 May 2017 22:10:00 GMT):
1) Yes 2) Yes 3) .... Dunno Ben will have to address 4) Contract storage is a key-value storage system which allows for any 32 byte key.

dennismckinnon (Tue, 09 May 2017 22:12:44 GMT):
2*) We have introduced some things such as the namereg and permissions. The Namereg has its own trie I believe and permissions I forget how they are associated. But there is probably discussion to be had about how the division of these things are going to work.

benjaminbollen (Wed, 10 May 2017 12:22:38 GMT):
hi Adam. I think this channel is the perefect place to ask such questions; 3. FakeAppStore can be misleading as it stores all storage for all accounts in the same storage (by appending the account address and storage location to make a bigger unique key) when you look at the AppState interface (it is poorly documented) the first word256 is the account address to get/set storage for; the second word256 is the key location in the storage for that account; In Burrow the EVM will act on a TxCache (which implements AppState; https://github.com/hyperledger/burrow/blob/master/manager/burrow-mint/state/tx_cache.go#L30-L34) where it will keep for storage a Tuple256 (account and storage key); this TxCache itself is synced back to the BlockCache backend (which for us then also holds a cache for the NameRegistry); The TxCache does a conversion to/from vmAccounts (which dont hold their own stateRoot) to stateAccounts (https://github.com/hyperledger/burrow/blob/master/account/account.go#L55-L64) which do have the stateRoot; When syncing TxCache back to BlockCache you see we start splitting the storage for the accounts: https://github.com/hyperledger/burrow/blob/master/manager/burrow-mint/state/tx_cache.go#L143-L146 The BlockCache is backed up by State and will make a trie for storage for each account; these tries are put in the trie for all accounts in state

benjaminbollen (Wed, 10 May 2017 12:22:38 GMT):
hi Adam. I think this channel is the perefect place to ask such questions; 3. FakeAppState can be misleading as it stores all storage for all accounts in the same storage (by appending the account address and storage location to make a bigger unique key) when you look at the AppState interface (it is poorly documented) the first word256 is the account address to get/set storage for; the second word256 is the key location in the storage for that account; In Burrow the EVM will act on a TxCache (which implements AppState; https://github.com/hyperledger/burrow/blob/master/manager/burrow-mint/state/tx_cache.go#L30-L34) where it will keep for storage a Tuple256 (account and storage key); this TxCache itself is synced back to the BlockCache backend (which for us then also holds a cache for the NameRegistry); The TxCache does a conversion to/from vmAccounts (which dont hold their own stateRoot) to stateAccounts (https://github.com/hyperledger/burrow/blob/master/account/account.go#L55-L64) which do have the stateRoot; When syncing TxCache back to BlockCache you see we start splitting the storage for the accounts: https://github.com/hyperledger/burrow/blob/master/manager/burrow-mint/state/tx_cache.go#L143-L146 The BlockCache is backed up by State and will make a trie for storage for each account; these tries are put in the trie for all accounts in state

benjaminbollen (Wed, 10 May 2017 12:25:45 GMT):
this way we prevent unneeded trie updates and minimise garbarge generation; @adamludvik

benjaminbollen (Wed, 10 May 2017 12:26:19 GMT):
4. the storage of an account is theoretically only limited by the 256bit key addressing space

benjaminbollen (Wed, 10 May 2017 12:26:19 GMT):
4. the storage of an account is theoretically only limited by the 256bit key addressing space, and 256bit value

benjaminbollen (Wed, 10 May 2017 12:26:19 GMT):
4. the storage of an account is theoretically only limited by the 256bit key addressing space, and 256bit value per key

benjaminbollen (Wed, 10 May 2017 12:27:53 GMT):
in public ethereum there is a cost associated to storage, for us we only have an as wide as possible execution constraint per transaction to write into the storage

benjaminbollen (Wed, 10 May 2017 12:27:53 GMT):
in public ethereum there is a cost associated to storage, for us we only have an as wide as possible execution constraint per transaction to write into the storage (running out of gas)

benjaminbollen (Wed, 10 May 2017 12:27:53 GMT):
@adamludvik so in a first draft; we could lean closer to FakeAppState than to the State in Burrow (or at least that is the argument for cutting the EVM out at AppSate; rather than at our Application Blockchain Interface (underneath State handling);

benjaminbollen (Wed, 10 May 2017 13:06:50 GMT):
additionally Address+Key is a 20+32 byte depth

benjaminbollen (Wed, 10 May 2017 13:08:44 GMT):
so we will want to deal with that differently in Sawtooth

benjaminbollen (Wed, 10 May 2017 13:08:44 GMT):
so we can't naievely do that

adamludvik (Wed, 10 May 2017 21:13:13 GMT):
Thanks both of you for the detailed answers! They were a big help.

dennismckinnon (Wed, 10 May 2017 21:22:17 GMT):
Not a problem! excited to work on this!

dennismckinnon (Wed, 10 May 2017 21:23:23 GMT):
I'm re-doing the vagrant setup because i was partway through the tutorials last week and then all the docs have changed :P

KentLandholm (Thu, 11 May 2017 09:48:13 GMT):
Has joined the channel.

jaemin.lim (Thu, 11 May 2017 13:08:47 GMT):
Has joined the channel.

dhuseby (Thu, 11 May 2017 14:13:27 GMT):
Has joined the channel.

adamludvik (Thu, 11 May 2017 14:38:21 GMT):
Probably a good idea. :) We are making a big push right now to update and improve our documentation.

adamludvik (Thu, 11 May 2017 14:42:50 GMT):
Quick question about the Account type. There is an Other field which doesn't seem to be used by the VM. Does that field have an intended purpose? I see it being used by TxCache to store a pubkey and storage root, but is this a burrow/tendermint specific usage?

benjaminbollen (Thu, 11 May 2017 16:29:06 GMT):
I posted written comments back in #sawtooth-burrow where option 4. might shine a light on that question; namely that the StorageRoot allows us to store the storage in the DB as a new MerkleTree; and such for each account

benjaminbollen (Thu, 11 May 2017 16:33:29 GMT):
the PublicKey is used for ed25519 validation of signatures (ed25519 is more efficient than secp256k1 but doesnt support public key recovery); in burrow every tx has the public key in it; but on the first tx for an public key derived account, the public key is immutably written to that account and hence used for verification of messages

adamludvik (Thu, 11 May 2017 16:59:49 GMT):
"StorageRoot allows us to store the storage in the DB as a new MerkleTree" Cool!

adamludvik (Thu, 11 May 2017 16:59:54 GMT):
@amundson ^

czar0 (Mon, 15 May 2017 20:08:06 GMT):
Has joined the channel.

kellyo (Tue, 16 May 2017 01:06:38 GMT):
Has joined the channel.

rjones (Tue, 16 May 2017 19:37:45 GMT):
Has left the channel.

Donald Liu (Wed, 17 May 2017 01:58:29 GMT):
Has joined the channel.

rjones (Wed, 17 May 2017 16:20:39 GMT):
Has joined the channel.

rjones (Wed, 17 May 2017 16:21:20 GMT):
@benjaminbollen do you know someone on github named sushantdm ? they have requested becoming a burrow maintainer, which would give them commit rights to burrow. should I approve or deny that request?

rjones (Wed, 17 May 2017 16:21:20 GMT):
@adamludvik @benjaminbollen do you know someone on github named sushantdm ? they have requested becoming a burrow maintainer, which would give them commit rights to burrow. should I approve or deny that request?

rjones (Wed, 17 May 2017 16:21:34 GMT):
https://github.com/sushantdm

rjones (Wed, 17 May 2017 16:22:23 GMT):
@silasdavis @compleatang ^^^

silasdavis (Wed, 17 May 2017 17:00:28 GMT):
I do not know them, so would be deny from me

silasdavis (Wed, 17 May 2017 17:00:49 GMT):
there was someone who Ben had mentioned about becoming a maintainer

silasdavis (Wed, 17 May 2017 17:01:26 GMT):
but there is no need for someone to have commit access to contribute

silasdavis (Wed, 17 May 2017 17:01:43 GMT):
I don't think we are yet at the stage where we want to have PRs merged without either Ben or I having seen it

silasdavis (Wed, 17 May 2017 17:02:31 GMT):
and I'm sure any co-maintainers would like to be introduced

silasdavis (Wed, 17 May 2017 17:02:43 GMT):
what did he say in his request?

rjones (Wed, 17 May 2017 17:09:04 GMT):

Message Attachments

rjones (Wed, 17 May 2017 17:09:48 GMT):
I denied the request. I can re-invite them if I was incorrect in that

silasdavis (Wed, 17 May 2017 17:19:55 GMT):
yeah

rjones (Wed, 17 May 2017 17:21:49 GMT):
Has left the channel.

benjaminbollen (Thu, 18 May 2017 14:31:17 GMT):
@rjones that is a safe deny from my side too; he can object here should my memory be super faulty

rjones (Thu, 18 May 2017 14:31:17 GMT):
Has joined the channel.

rjones (Thu, 18 May 2017 16:59:13 GMT):
@benjaminbollen done and done

adamludvik (Thu, 18 May 2017 17:23:12 GMT):
Quick question. Ethereum defines the address to be assigned to a newly created account as “the rightmost 160 bits of the Keccak hash of the RLP encoding of the structure containing only the sender and the nonce”. I see the following in `txs/tx.go` for account creation: ``` func NewContractAddress(caller []byte, nonce int) []byte { temp := make([]byte, 32+8) copy(temp, caller) PutInt64BE(temp[32:], int64(nonce)) hasher := ripemd160.New() hasher.Write(temp) // does not error return hasher.Sum(nil) } ``` Does this follow that spec, with the exception of using ripemd160 instead of sha3?

benjaminbollen (Fri, 19 May 2017 10:04:08 GMT):
@silasdavis can you do initial work to update to Tendermint 0.10.0-rc1 in a feature branch off of develop?

benjaminbollen (Fri, 19 May 2017 10:06:52 GMT):
@adamludvik yes, so burrow will have different accounts calculated (ie we use ripemd160 instead of truncated SHA3)

benjaminbollen (Fri, 19 May 2017 10:08:01 GMT):
this is a choice that can be remade; or carried over in STL; it is relevant before EVM execution on validating the signatures to the account

benjaminbollen (Fri, 19 May 2017 10:14:50 GMT):
to be EVM compatible it is sufficient for it to be 20 bytes; we initially (and still have the framework for) built it to be configurable (ed25519 + ripemd160; or secp256k1 + SHA3); but we found ourselves defaulting to ed25519

benjaminbollen (Fri, 19 May 2017 10:14:50 GMT):
to be EVM compatible it is sufficient for it to be 20 bytes; we initially (and still have the framework for) built it to be configurable (ed25519 + ripemd160; or secp256k1 + SHA3); but we found ourselves defaulting to ed25519 + ripemd160

PriteshPatel (Fri, 19 May 2017 18:24:54 GMT):
Has joined the channel.

bmalavan (Sat, 20 May 2017 14:26:24 GMT):
Has joined the channel.

AlexisRabeuf (Tue, 23 May 2017 09:24:29 GMT):
Has joined the channel.

zhangchao (Tue, 23 May 2017 09:37:57 GMT):
Has joined the channel.

zhangchao (Tue, 23 May 2017 09:55:37 GMT):
is there anybody who can give a comparison between burrow and etherum

zhangchao (Tue, 23 May 2017 09:58:03 GMT):
burrow looks like etherum on the one hand, and looks like fabric on the other hand

silasdavis (Tue, 23 May 2017 18:36:38 GMT):
Hi @zhangchao, 'ethereum' has few different meanings or senses. There is Ethereum the foundation, ethereum the 'specification' (people like to say it is specified by the 'yellow paper', which is almost true, there is ethereum the public chain, and there are ethereum node clients (like go-ethereum or parity). Burrow is a blockchain node client so the most direct comparison would be with something like go-ethereum, so I'll get to that. Burrow doesn't really compare the Ethereum foundation or the public chain (out there), so I'll discount those. There is another sense in which Burrow 'is ethereum', in that our execution engine is an implementation of the Ethereum Virtual Machine (EVM) which is a bytecode language and stack machine specification on which smart contracts are written (in languages like Solidity). Our blockchain state is also in the 'ethereum world view', having to do with accounts at certain 20-byte addresses. To compare us to public ethereum clients makes sense as a comparison, but a more apt comparison would probably be to other 'permissioned' or 'enterprise' ethereum clients (some standardisation around what it means to run non-public ethereum-based blockchains is happening at https://entethalliance.org/, I don't care much for the enterprise moniker, but fundamentally running chains amongst non-anonymous collaborating identities is different from the public chain use case. There are other 'enterprise ethereum clients' (as which Burrow may be loosely classified) such as Quorum and I belief to some extent Parity. We are by far the most mature (at least, oldest) permissioned ethereum (that is EVM running) client. We are not substitutably compatible with the Ethereum public chain as public ethereum node clients are. And we have made different choices about various things. However we are contract-level compatible with smart contracts written for Ethereum (your Solidity code will run on us). The most important things we do differently (by design rather than by accident) are: - We use Tendermint consensus with a lightly proof-of-stake approach but more importantly with finality - We have a powerful secure native system (snatives) for running non-smart contract code outside of the EVM. - We have a deeply integrated permissioning system that is accessible from smart contracts using certain snatives - We have an independent implementation of the EVM according to the spec - We have a different event system/model With respect to the comparison with fabric, we are both full blockchain node clients for a non-public (enterprise) setting so we are similar there. There are plans in the offing to further modularise Burrow to have it run not as a full blockchain node but as an execution substrate on top of other blockchains like Sawtooth Lake (there is active development on this now), and possibly in the future on Fabric too if there is interest from the Hyperledger community.

silasdavis (Tue, 23 May 2017 18:36:38 GMT):
Hi @zhangchao, 'ethereum' has few different meanings or senses. There is Ethereum the foundation, ethereum the 'specification' (people like to say it is specified by the 'yellow paper', which is almost true), there is ethereum the public chain, and there are ethereum node clients (like go-ethereum or parity). Burrow is a blockchain node client so the most direct comparison would be with something like go-ethereum, so I'll get to that. Burrow doesn't really compare the Ethereum foundation or the public chain (out there), so I'll discount those. There is another sense in which Burrow 'is ethereum', in that our execution engine is an implementation of the Ethereum Virtual Machine (EVM) which is a bytecode language and stack machine specification on which smart contracts are written (in languages like Solidity). Our blockchain state is also in the 'ethereum world view', having to do with accounts at certain 20-byte addresses. To compare us to public ethereum clients makes sense as a comparison, but a more apt comparison would probably be to other 'permissioned' or 'enterprise' ethereum clients (some standardisation around what it means to run non-public ethereum-based blockchains is happening at https://entethalliance.org/, I don't care much for the enterprise moniker, but fundamentally running chains amongst non-anonymous collaborating identities is different from the public chain use case. There are other 'enterprise ethereum clients' (as which Burrow may be loosely classified) such as Quorum and I belief to some extent Parity. We are by far the most mature (at least, oldest) permissioned ethereum (that is EVM running) client. We are not substitutably compatible with the Ethereum public chain as public ethereum node clients are. And we have made different choices about various things. However we are contract-level compatible with smart contracts written for Ethereum (your Solidity code will run on us). The most important things we do differently (by design rather than by accident) are: - We use Tendermint consensus with a lightly proof-of-stake approach but more importantly with finality - We have a powerful secure native system (snatives) for running non-smart contract code outside of the EVM. - We have a deeply integrated permissioning system that is accessible from smart contracts using certain snatives - We have an independent implementation of the EVM according to the spec - We have a different event system/model With respect to the comparison with fabric, we are both full blockchain node clients for a non-public (enterprise) setting so we are similar there. There are plans in the offing to further modularise Burrow to have it run not as a full blockchain node but as an execution substrate on top of other blockchains like Sawtooth Lake (there is active development on this now), and possibly in the future on Fabric too if there is interest from the Hyperledger community.

silasdavis (Tue, 23 May 2017 18:36:38 GMT):
Hi @zhangchao, 'ethereum' has few different meanings or senses. There is Ethereum the foundation, ethereum the 'specification' (people like to say it is specified by the 'yellow paper', which is almost true), there is ethereum the public chain, and there are ethereum node clients (like go-ethereum or parity). Burrow is a blockchain node client so the most direct comparison would be with something like go-ethereum, so I'll get to that. Burrow doesn't really compare the Ethereum foundation or the public chain (out there), so I'll discount those. There is another sense in which Burrow 'is ethereum', in that our execution engine is an implementation of the Ethereum Virtual Machine (EVM) which is a bytecode language and stack machine specification on which smart contracts are written (in languages like Solidity). Our blockchain state is also in the 'ethereum world view', having to do with accounts at certain 20-byte addresses. To compare us to public ethereum clients makes sense as a comparison, but a more apt comparison would probably be to other 'permissioned' or 'enterprise' ethereum clients (some standardisation around what it means to run non-public ethereum-based blockchains is happening at https://entethalliance.org/). I don't care much for the enterprise moniker, but fundamentally running chains amongst non-anonymous collaborating identities is different from the public chain use case. There are other 'enterprise ethereum clients' (as which Burrow may be loosely classified) such as Quorum and I belief to some extent Parity. We are by far the most mature (at least, oldest) permissioned ethereum (that is EVM running) client. We are not substitutably compatible with the Ethereum public chain as public ethereum node clients are. And we have made different choices about various things. However we are contract-level compatible with smart contracts written for Ethereum (your Solidity code will run on us). The most important things we do differently (by design rather than by accident) are: - We use Tendermint consensus with a lightly proof-of-stake approach but more importantly with finality - We have a powerful secure native system (snatives) for running non-smart contract code outside of the EVM. - We have a deeply integrated permissioning system that is accessible from smart contracts using certain snatives - We have an independent implementation of the EVM according to the spec - We have a different event system/model With respect to the comparison with fabric, we are both full blockchain node clients for a non-public (enterprise) setting so we are similar there. There are plans in the offing to further modularise Burrow to have it run not as a full blockchain node but as an execution substrate on top of other blockchains like Sawtooth Lake (there is active development on this now), and possibly in the future on Fabric too if there is interest from the Hyperledger community.

silasdavis (Tue, 23 May 2017 18:36:38 GMT):
Hi @zhangchao, 'ethereum' has few different meanings or senses. There is Ethereum the foundation, ethereum the 'specification' (people like to say it is specified by the 'yellow paper', which is almost true), there is ethereum the public chain, and there are ethereum node clients (like go-ethereum or parity). Burrow is a blockchain node client so the most direct comparison would be with something like go-ethereum, so I'll get to that. Burrow doesn't really compare the Ethereum foundation or the public chain (out there), so I'll discount those. There is another sense in which Burrow 'is ethereum', in that our execution engine is an implementation of the Ethereum Virtual Machine (EVM) which is a bytecode language and stack machine specification on which smart contracts are written (in languages like Solidity). Our blockchain state is also in the 'ethereum world view', having to do with accounts at certain 20-byte addresses. To compare us to public ethereum clients makes sense as a comparison, but a more apt comparison would probably be to other 'permissioned' or 'enterprise' ethereum clients (some standardisation around what it means to run non-public ethereum-based blockchains is happening at https://entethalliance.org/). I don't care much for the enterprise moniker, but fundamentally running chains amongst non-anonymous collaborating identities is different from the public chain setting. There are other 'enterprise ethereum clients' (as which Burrow may be loosely classified) such as Quorum and I belief to some extent Parity. We are by far the most mature (at least, oldest) permissioned ethereum (that is EVM running) client. We are not substitutably compatible with the Ethereum public chain as public ethereum node clients are. And we have made different choices about various things. However we are contract-level compatible with smart contracts written for Ethereum (your Solidity code will run on us). The most important things we do differently (by design rather than by accident) are: - We use Tendermint consensus with a lightly proof-of-stake approach but more importantly with finality - We have a powerful secure native system (snatives) for running non-smart contract code outside of the EVM. - We have a deeply integrated permissioning system that is accessible from smart contracts using certain snatives - We have an independent implementation of the EVM according to the spec - We have a different event system/model With respect to the comparison with fabric, we are both full blockchain node clients for a non-public (enterprise) setting so we are similar there. There are plans in the offing to further modularise Burrow to have it run not as a full blockchain node but as an execution substrate on top of other blockchains like Sawtooth Lake (there is active development on this now), and possibly in the future on Fabric too if there is interest from the Hyperledger community.

silasdavis (Tue, 23 May 2017 18:36:38 GMT):
Hi @zhangchao, 'ethereum' has few different meanings or senses. There is Ethereum the foundation, ethereum the 'specification' (people like to say it is specified by the 'yellow paper', which is almost true), there is ethereum the public chain, and there are ethereum node clients (like go-ethereum or parity). Burrow is a blockchain node client so the most direct comparison would be with something like go-ethereum, so I'll get to that. Burrow doesn't really compare the Ethereum foundation or the public chain (out there), so I'll discount those. There is another sense in which Burrow 'is ethereum', in that our execution engine is an implementation of the Ethereum Virtual Machine (EVM) which is a bytecode language and stack machine specification on which smart contracts are written (in languages like Solidity). Our blockchain state is also in the 'ethereum world view', having to do with accounts at certain 20-byte addresses. To compare us to public ethereum clients makes sense as a comparison, but a more apt comparison would probably be to other 'permissioned' or 'enterprise' ethereum clients (some standardisation around what it means to run non-public ethereum-based blockchains is happening at https://entethalliance.org/). I don't care much for the enterprise moniker, but fundamentally running chains amongst non-anonymous collaborating identities is different from the public chain setting. There are other 'enterprise ethereum clients' (as which Burrow may be loosely classified) such as Quorum and I belief to some extent Parity. We are by far the most mature (at least, oldest) permissioned ethereum (that is EVM running) client. We are not substitutably compatible with the Ethereum public chain as public ethereum node clients are. And we have made different choices about various things. However we are contract-level compatible with smart contracts written for Ethereum (your Solidity code will run on us). The most important things we do differently (by design rather than by accident) are: - We use Tendermint consensus with a lightly proof-of-stake approach but more importantly with finality - We have a powerful secure native system (snatives) for running non-smart contract code outside of the EVM. - We have a deeply integrated permissioning system that is accessible from smart contracts using certain snatives - We have an independent implementation of the EVM according to the spec - We have a different event system/model With respect to the comparison with fabric, we are both full blockchain node clients in a non-public (enterprise) setting so we are similar in that respect, and we are both smart contract platforms. There are plans in the offing to further modularise Burrow to have it run not as a full blockchain node but as an execution substrate on top of other blockchains like Sawtooth Lake (there is active development on this now), and possibly in the future on Fabric too if there is interest from the Hyperledger community.

rjones (Tue, 23 May 2017 19:08:48 GMT):
Has left the channel.

zhangchao (Wed, 24 May 2017 02:52:22 GMT):
@silasdavis , very clear explaination, it helps to me and others who are interested. Public blockchains include Ethereum have wallet, but I dont think enterprise chains like burrow/fabric has it, so it's an another major difference. But in some cases, especially in some finance related domain, token is a very useful data to store something like coin/credit/payment. Does burrow support it

zhangchao (Wed, 24 May 2017 02:52:22 GMT):
@silasdavis , very clear explaination, it helps to me and others who are interested. Public blockchains include Ethereum have wallet, but I dont think enterprise chains like burrow/fabric has it, so it's an another major difference. But in some cases, especially in some finance related domain, token is a very useful data to store something like coin/credit/payment. Does burrow support it in the future version

silasdavis (Wed, 24 May 2017 10:33:34 GMT):
Burrow does have an internal token, much like Eth, and all accounts have a balance that can be changed by Calls or a SendTx. This token is generally used as a way of controlling who can do computation (call contracts) and to bound that computation through the charging of gas (also like ethereum) rather than a bearer of value. It would be possible to make use of the token from smart contracts, however you could just as well represent value in a completely custom way by writing it into a contract (in the simplest case as a table of balances amongst whatever you consider to be 'accounts'). I suppose the crucial difference is that on public ethereum the Eth token is meant to connect you to some 'external' notion of value. This is necessary in the public anonymous setting, but in a permissioned chain since you have some external knowledge of the identities you can imbue those identities with whatever external value or significance that you like. On the other hand the internal token of a freshly spun-up Burrow chain has no external value (though there are ways you could link it to value). A big goal of the ethereum chain is to provide natively an interface to external value through its token,.

silasdavis (Wed, 24 May 2017 10:33:34 GMT):
Burrow does have an internal token, much like Eth, and all accounts have a balance that can be changed by Calls or a SendTx. This token is generally used as a way of controlling who can do computation (call contracts) and to bound that computation through the charging of gas (also like ethereum) rather than a bearer of value. It would be possible to make use of the token from smart contracts, however you could just as well represent value in a completely custom way by writing it into a contract (in the simplest case as a table of balances amongst whatever you consider to be 'accounts'). I suppose the crucial difference is that on public ethereum the Eth token is meant to connect you to some 'external' notion of value. This is necessary in the public anonymous setting, but in a permissioned chain since you have some external knowledge of the identities you can imbue those identities with whatever external value or significance that you like. On the other hand the internal token of a freshly spun-up Burrow chain has no external value (though there are ways you could link it to value). A big goal of the ethereum chain is to provide natively an interface to external value through its token. If I wanted an link to external monetary value I would probably find a way to relate activity on my Burrow chain to transactions moving money on the public ethereum chain -- that's what it's for.

silasdavis (Wed, 24 May 2017 10:33:34 GMT):
Burrow does have an internal token, much like Eth, and all accounts have a balance that can be changed by Calls or a SendTx. This token is generally used as a way of controlling who can do computation (call contracts) and to bound that computation through the charging of gas (also like ethereum) rather than a bearer of value. It would be possible to make use of the token from smart contracts, however you could just as well represent value in a completely custom way by writing it into a contract (in the simplest case as a table of balances amongst whatever you consider to be 'accounts'). I suppose the crucial difference is that on public ethereum the Eth token is meant to connect you to some 'external' notion of value. This is necessary in the public anonymous setting, but in a permissioned chain since you have some external knowledge of the identities you can imbue those identities with whatever external value or significance that you like. On the other hand the internal token of a freshly spun-up Burrow chain has no external value (though there are ways you could link it to value). A big goal of the ethereum chain is to provide natively an interface to external value through its token. If I wanted an link to external monetary value I would probably find a way to relate activity on my Burrow chain to transactions moving money on the public ethereum chain or bitcoin - that is what they're for.

silasdavis (Wed, 24 May 2017 10:37:41 GMT):
So I'd hesitate to say you shouldn't use our internal token, but it is conspicuous that no-one does, and moreover I don't see a good reason to couple the notion of 'token' you may have to the internal token (which in Burrow is more used for book-keeping) or the notion of 'account' you may have to out notion of account (a place where code resides, and where identity is defined). You have more freedom to define these at the contract level (I may use contract/account/address somewhat interchangeably - they refer to different aspects of a unified object), though I can see cases where you might want one contract/account per 'bank account' if that is what you are thinking of.

silasdavis (Wed, 24 May 2017 10:37:41 GMT):
So I'd hesitate to say you shouldn't use our internal token, but it is conspicuous that almost no-one does, and moreover I don't see a good reason to couple the notion of 'token' you may have to the internal token (which in Burrow is more used for book-keeping) or the notion of 'account' you may have to out notion of account (a place where code resides, and where identity is defined). You have more freedom to define these at the contract level (I may use contract/account/address somewhat interchangeably - they refer to different aspects of a unified object), though I can see cases where you might want one contract/account per 'bank account' if that is what you are thinking of.

silasdavis (Wed, 24 May 2017 10:37:41 GMT):
So I'd hesitate to say you shouldn't use our internal token, but it is conspicuous that almost no-one seems to, and moreover I don't see a good reason to couple the notion of 'token' you may have to the internal token (which in Burrow is more used for book-keeping) or the notion of 'account' you may have to out notion of account (a place where code resides, and where identity is defined). You have more freedom to define these at the contract level (I may use contract/account/address somewhat interchangeably - they refer to different aspects of a unified object), though I can see cases where you might want one contract/account per 'bank account' if that is what you are thinking of.

silasdavis (Wed, 24 May 2017 10:39:56 GMT):
It's also worth noting that when we re-introduce validator bonding/unbonding and as we work on the EVM we are probably due a rethink on how we prices gas and possibly how we think of the internal token. It seems it has an important role but it has inherited from public ethereum and feels a bit vestigial in some places. Our gas pricing is also rather arbitrary (we can get away with caring a lot less about this in a permissioned context).

silasdavis (Wed, 24 May 2017 10:45:55 GMT):
When you refer to 'wallet' I'm not sure if you are referring to a portable key store or perhaps a 'light client'. Both are possible with Burrow, but we do really have a light client, though in some sense you could describe any app using our RPC as a light client. We could provide something that could ask for proofs of state that could work a bit like: https://github.com/tendermint/light-client. We have some plans to provide a kind of lightweight node (that does't validate or maintain the entire blockchain). In terms of key storage we currently have: https://github.com/monax/keys which provides a mixture of key storage and crypto as a service. It is unaudited crypto for development purposes and is not really to be trusted. We aim to replace it with a more robust system imminently, that would be an interface that could be implemented against various backends including hardware security module backed devices.

naolduga (Mon, 29 May 2017 01:29:34 GMT):
Has joined the channel.

pd93 (Wed, 31 May 2017 12:12:59 GMT):
Has joined the channel.

jrosmith (Wed, 31 May 2017 17:47:57 GMT):
Has left the channel.

miranni (Wed, 31 May 2017 18:39:47 GMT):
Has joined the channel.

miranni (Wed, 31 May 2017 18:40:06 GMT):
Hey everyone, hope all is well. I had to ask you guys, what do I need to learn in order to further my knowledge as far as developing, deploying, and understanding the mechanics of blockchain technology? All I really know is Linux Sys Admin stuff and some bash scripting. But I've fallen in love with this concept and I'm willing to learn anything that helps.

pauldups (Wed, 31 May 2017 21:47:52 GMT):
Has joined the channel.

benjaminbollen (Wed, 31 May 2017 21:49:03 GMT):
hi miranni, there s a lot of documentation and explainers that we ve written on monax,io

benjaminbollen (Wed, 31 May 2017 21:49:03 GMT):
hi miranni, there s a lot of documentation and explainers that we ve written on monax.io

benjaminbollen (Wed, 31 May 2017 21:49:39 GMT):
if you have more questions you can ask them here, but we have most of our community on slack.monax.io

cbruguera (Thu, 01 Jun 2017 17:56:08 GMT):
Has joined the channel.

zhangchao (Fri, 02 Jun 2017 01:32:20 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=d4sdZHryNv6g9qjJZ) @silasdavis , the wallet I said actually means the balance of token, l am wondering if burrow has it.

tkuhrt (Fri, 02 Jun 2017 19:05:17 GMT):
Hi, Burrow team. I created a shared calendar for all Hyperledger community meetings. You can find it here: http://bit.ly/HyperledgerCal. Use the &ctz=_TZ_ option to specify your time zone. See the TZ column for list of options: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List. I would really love to add any Burrow meetings to this calendar.

silasdavis (Sat, 03 Jun 2017 11:52:28 GMT):
@zhangchao every account has an associated balance, which you can query. Here is the data structure: https://github.com/hyperledger/burrow/blob/master/account/account.go#L59

silasdavis (Sat, 03 Jun 2017 11:53:23 GMT):
Here's documentation on (one of) the API's to get account information: https://github.com/hyperledger/burrow/blob/master/docs/specs/api.md#get-account

travin (Mon, 05 Jun 2017 19:51:52 GMT):
Has joined the channel.

travin (Mon, 05 Jun 2017 19:52:48 GMT):
Hi Hyperledger Burrow team. I'm from the White Paper WG and we're looking for someone to write the overview section about Burrow as well as perhaps include a highlighted feature for that section. If you're interested, or know someone I should contact, please send me a private message about it.

npnjuguna (Tue, 06 Jun 2017 05:40:35 GMT):
Has joined the channel.

dinghaiyang (Wed, 07 Jun 2017 02:27:13 GMT):
Has joined the channel.

catbus (Wed, 07 Jun 2017 18:42:25 GMT):
Has joined the channel.

triptananda (Mon, 12 Jun 2017 09:00:42 GMT):
Has joined the channel.

triptananda (Mon, 12 Jun 2017 09:00:57 GMT):
back in marmot company

Wenlin (Mon, 12 Jun 2017 18:43:02 GMT):
Has joined the channel.

elsesiy (Tue, 13 Jun 2017 08:01:40 GMT):
Has joined the channel.

marc4gov (Tue, 13 Jun 2017 11:11:14 GMT):
Has joined the channel.

marc4gov (Tue, 13 Jun 2017 11:14:22 GMT):
Hi all, I have issues restarting a cloud node in a multi-node chain, filed at https://github.com/hyperledger/burrow/issues/611 It's really nagging me, I can't restart a chain...

naolduga (Wed, 14 Jun 2017 17:24:18 GMT):
Has left the channel.

rguikers (Tue, 20 Jun 2017 09:01:12 GMT):
Has joined the channel.

JoseHorta (Tue, 20 Jun 2017 13:01:49 GMT):
Has joined the channel.

AYOUB_HAMIDI (Tue, 20 Jun 2017 14:04:17 GMT):
Has joined the channel.

stanliberman (Wed, 21 Jun 2017 01:23:54 GMT):
Has joined the channel.

katiehennells (Wed, 21 Jun 2017 13:39:05 GMT):
Has joined the channel.

katiehennells (Wed, 21 Jun 2017 20:46:25 GMT):
Hi I am a little new, and I am trying to get Hyperledger Burrow running locally, and I am receiving a Time Out before connecting to the server. I followed the tutorial in the hyperledger/burrow github, and used monax to create the genesis, config and priv_validator files. Not sure what the next step is here and would appreciate any help!

atq (Thu, 22 Jun 2017 11:17:41 GMT):
@katiehennells, how are you running burrow? directly on your local machine or using docker (i.e. the way monax recommends)?

katiehennells (Thu, 22 Jun 2017 14:31:37 GMT):
on docker

katiehennells (Thu, 22 Jun 2017 16:35:52 GMT):
nvm!

atq (Thu, 22 Jun 2017 17:23:29 GMT):
ok

marc4gov (Fri, 23 Jun 2017 13:49:48 GMT):
@benjaminbollen I'm not sure if `@monax/legacy-contracts` will still be maintained, but I noticed a bug when promisifying the regular js contract functions with the node 8 function `require('util').promisify`. Seems like getting data (`constant` functions) works fine, but transacting - however returning correct responses - doesn't seem to get committed to the chain. Any thoughts?

marc4gov (Fri, 23 Jun 2017 13:49:48 GMT):
@benjaminbollen I'm not sure if `@monax/legacy-contracts` will still be maintained, but I noticed a bug when promisifying the regular js contract functions with the node 8 function `require('util').promisify`. Seems like getting data (`constant` functions) works fine, but transacting - however returning correct responses - doesn't seem to get committed to the chain. Any thoughts? For now, I'm writing boilerplate for it to work like so: ```// function addTask(title, desc, budget, time, manager, user, client) { // return new Promise( // function(resolve, reject) { // taskmanagerContract.addTask( // title, desc, budget, time, manager, user, client, // (error, data) => { // if (error) { // reject(error) // } else { // resolve(data) // } // }) // }) // }```

djones2 (Fri, 23 Jun 2017 14:23:57 GMT):
Has joined the channel.

benjaminbollen (Fri, 23 Jun 2017 14:25:43 GMT):
Please raise this as an issue with version information and reproducibility steps thx cc @dennismckinnon any insights?

djones2 (Fri, 23 Jun 2017 14:46:36 GMT):
Hi everyone. I have a question about atomicity of transactions. If I send a transaction to a contract, which triggers a wave of transactions to many other contracts (and so on), what guarantees do I have about all those transactions actually happening? Is there an "all-or-nothing" atomicity?

djones2 (Fri, 23 Jun 2017 14:58:08 GMT):
I'm also a little confused about the deterministic nature of smart contract execution. To my mind, the outcome of running a set of transactions in some particular order can be deterministic. But the order is chosen somehow. When tendermint reaches a consensus on order, is it simply that one validator chose an order (perhaps based on arrival time of transaction messages) and applied them to its view of the world before sharing the block around for agreement?

djones2 (Fri, 23 Jun 2017 14:59:19 GMT):
And while other nodes may have been working on a different order, when they receive the proposed block and validate it, they throw away/roll-back their world state and apply the new block in the order defined?

jmcnevin (Fri, 23 Jun 2017 17:19:57 GMT):
Has joined the channel.

SebastianB 4 (Fri, 23 Jun 2017 21:07:04 GMT):
Has joined the channel.

paulransfield (Fri, 23 Jun 2017 22:35:07 GMT):
Has joined the channel.

paulransfield (Fri, 23 Jun 2017 22:35:22 GMT):
morning

toddmvc (Sat, 24 Jun 2017 02:30:08 GMT):
Has joined the channel.

santo9813 (Sat, 24 Jun 2017 04:23:00 GMT):
Has joined the channel.

jppgks (Sat, 24 Jun 2017 08:24:20 GMT):
Has joined the channel.

ThePleasurable (Sat, 24 Jun 2017 12:19:19 GMT):
Has joined the channel.

marc4gov (Sat, 24 Jun 2017 13:33:42 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=Pn8TAcbE5x4p4M5HG) @benjaminbollen Ok, https://github.com/monax/legacy-contracts.js/issues/99

marc4gov (Sat, 24 Jun 2017 14:58:44 GMT):
I'm sure this is asked before, but it would be helpful if we get back some useful error messages from the js lib, when transacting fails due to `modifier` constraints on Solidity contracts

marc4gov (Sat, 24 Jun 2017 14:58:44 GMT):
I'm sure this is asked before, but it would be helpful if we get back some useful error messages from the js lib, when transacting fails due to `modifier` constraints on Solidity contracts. Like pointing to the `modifier` which is the cause of the issue in some sort of 'stack trace'.

VoR0220 (Sat, 24 Jun 2017 15:55:13 GMT):
Has joined the channel.

VoR0220 (Sat, 24 Jun 2017 15:56:24 GMT):
@marc4gov Agreed. It would be useful. Waiting on Revert Opcode which may or may not be returning error info, and that can make these things a lot easier to deal with (particularly as it comes to standard libraries).

atq (Mon, 26 Jun 2017 09:00:13 GMT):
@djones2: " If I send a transaction to a contract, which triggers a wave of transactions to many other contracts (and so on), what guarantees do I have about all those transactions actually happening?": It's guaranteed by design. " Is there an "all-or-nothing" atomicity?": Correct, it's all or nothing. Re: the order of execution of TX: Yes, an order is chosen, by one agreed validators (I think they rotate in a round robin fashion), and that defines the order in which the TX will be executed. Note that this implies that the TX execution is sequential.

djones2 (Mon, 26 Jun 2017 09:04:12 GMT):
Thanks @atq

ReinaldoPadron (Tue, 27 Jun 2017 08:28:33 GMT):
Has joined the channel.

ReinaldoPadron (Tue, 27 Jun 2017 08:31:49 GMT):
Hello, I don't really know if this is the right place, but I am working on a personal real estate project in which I want to do many process involving blockchain, ICO, blockchain accounting etc , and i need a team for it

ReinaldoPadron (Tue, 27 Jun 2017 08:33:33 GMT):
If there is someone interested my email is padronreinaldo@360net-work.com

VarunDeshpande (Tue, 27 Jun 2017 09:20:06 GMT):
Has joined the channel.

VarunDeshpande (Tue, 27 Jun 2017 09:21:17 GMT):
I am following the getting started tutorial of monax. I was able to successfully do everything but when I restarted my PC. following the same tutorial, the deployment of smart contract does not work. Everything goes well till this point : `monax pkgs do --chain firstchain --address $addr -v` ```Using Compiler at https://compilers.monax.io:10160 Using Chain at firstchain Using Signer at http://172.17.0.2:4767 Error connecting to node (tcp://172.17.0.3:46657) to get chain id: Post http://172.17.0.3:46657: dial tcp 172.17.0.3:46657: getsockopt: no route to host ``` I even did ` eval $(docker-machine env monax)` but still it does not work.

gpflanagan (Tue, 27 Jun 2017 19:28:58 GMT):
Has joined the channel.

djones2 (Wed, 28 Jun 2017 10:06:57 GMT):
I've noted `glide update` will break the build. Does this suggest that `glide.yaml` needs a few more versions pinned?

djones2 (Wed, 28 Jun 2017 10:07:45 GMT):
I'm trying to use a forked version of a dependency and it looks like I'll have to hand-edit `glide.lock` to achieve this, otherwise incompatible versions of other dependencies will be pulled in.

djones2 (Thu, 29 Jun 2017 14:37:07 GMT):
@here QQ - how to I restart a Burrow chain that I'm testing with (running on just one node)?

djones2 (Thu, 29 Jun 2017 14:37:36 GMT):
I.e. reset back to the genesis state and begin creating blocks from the start.

djones2 (Thu, 29 Jun 2017 14:41:13 GMT):
In case it affects anything, this is a chain that I created with `monax chains make`, but I'm running it via `burrow serve...`.

VamzR (Sun, 02 Jul 2017 18:15:35 GMT):
Has joined the channel.

VamzR (Sun, 02 Jul 2017 18:17:14 GMT):
Hi everyone. I'm launching a service that requires Fabric's blockchain for tagging & tracking of assets. I am also trying to combine this with an ICO, which requires the ethereum world computer. Is there a way to allow my ethereum contracts on the Live ether net to communicate with my private Fabric Ledger? Can Burrow help me with this?

GeometricEnergy (Sun, 02 Jul 2017 20:14:23 GMT):
Has joined the channel.

atq (Mon, 03 Jul 2017 09:33:13 GMT):
@djones2 : just run burrow serve again.

atq (Mon, 03 Jul 2017 09:33:13 GMT):
@djones2 : just run `burrow serve` again.

atq (Mon, 03 Jul 2017 09:37:53 GMT):
@djones2: re: dependencies, there is another additional problem that arise as some deps are hard coded to hyper ledger/burrow instead of being relative to the current fork. for example in `hyperledger/burrow/manager/burrow-mint/transactor.go` ( @benjaminbollen, @silasdavis : FYI

tkuhrt (Mon, 03 Jul 2017 20:50:01 GMT):
@VamzR : Hyperledger Burrow is for permissioned networks. While it implements the Ethereum Virtual Machine (EVM) specification, it does not use the public Ethereum network. You will need to determine what is the linkage between Hyperledger Fabric and Ethereum and maintain that in your application.

cbruguera (Mon, 03 Jul 2017 21:24:08 GMT):
Is there a website and docs for Burrow specifically? I'm coming from pure Monax, and I still don't understand to what degree are these two projects independent...

atq (Mon, 03 Jul 2017 21:42:01 GMT):
@cbruguera: burrow is the blockchain implementation underneath monax. It used to be called erisdb in the past, and it uses tendermint at its core. Monax added on top of tendermint an EVM implementation that supports permissions, they built a set of tools to manage the whole ecosystem (CLI creation/start/stop of chains, deployment of smart contracts, JS libs to interact with smart contracts) and have built a very comprehensive set of smart contracts libs for various business domains (they have strong roots in the legal space). Now, the blockchain part has been rebranded burrow and what is referred to as "monax" is the toolkit to interact with a burrow blockchain.

atq (Mon, 03 Jul 2017 21:42:01 GMT):
@cbruguera: burrow is the blockchain implementation underneath monax. It used to be called erisdb in the past, and it uses tendermint at its core. Monax added on top of tendermint an EVM implementation that supports permissions (I believe they had the first working implementation of a permissioned blockchain), they built a set of tools to manage the whole ecosystem (CLI creation/start/stop of chains, deployment of smart contracts, JS libs to interact with smart contracts) and have built a very comprehensive set of smart contracts libs for various business domains (they have strong roots in the legal space). Now, the blockchain part has been rebranded burrow and what is referred to as "monax" is the toolkit to interact with a burrow blockchain.

atq (Mon, 03 Jul 2017 21:43:00 GMT):
so functionally, they are independent (monax sits on top of burrito), but originally, they both come from the Monax team (formerly Eris).

atq (Mon, 03 Jul 2017 21:43:00 GMT):
so functionally, they are independent (monax sits on top of burrow), but originally, they both come from the Monax team (formerly Eris).

atq (Mon, 03 Jul 2017 21:44:59 GMT):
When you run `monax chains start my_chain --init-dir $config_dir` it spawns a docker machine which runs a "burrow server" based on the config data you pass it.

mtxset (Tue, 04 Jul 2017 09:44:08 GMT):
Has joined the channel.

mtxset (Tue, 04 Jul 2017 09:44:55 GMT):
Hello, do I use monax to put contracts into burrow blockchain?

djones2 (Tue, 04 Jul 2017 10:01:09 GMT):
@atq Re. `burrow serve...`, that doesn't seem sufficient. It picks up where it left off (e.g. at block X, rather than block 1). I seem to have found a solution involving deleting the `data` directory from the chain working dir.

djones2 (Tue, 04 Jul 2017 10:01:39 GMT):
@atq Re. dependencies, I've raised https://github.com/hyperledger/burrow/issues/623

djones2 (Tue, 04 Jul 2017 10:02:19 GMT):
I'm not sure hard-coding is a problem. That's the Go way isn't it? One can use git forks to get around that.

djones2 (Tue, 04 Jul 2017 10:02:33 GMT):
(Note: I'm new to Go, so I may be talking nonsense)

atq (Tue, 04 Jul 2017 10:02:49 GMT):
@djones2, I misunderstood you: clean $config_dir (remove data indeed) and reset the priv_validator.json file.

djones2 (Tue, 04 Jul 2017 10:03:14 GMT):
Thanks.

atq (Tue, 04 Jul 2017 10:04:36 GMT):
basically, the resetting of priv_validator file is mostly removing the block height, the last sig and anything other than private key, pub key and address (don't have the file easily accessible now, sorry)

djones2 (Tue, 04 Jul 2017 10:10:33 GMT):
yup, spot on

djones2 (Tue, 04 Jul 2017 10:10:39 GMT):
(forgot to say I also did that :-) )

mindraker (Tue, 04 Jul 2017 10:47:30 GMT):
Has joined the channel.

mtxset (Tue, 04 Jul 2017 13:49:15 GMT):
atq, so how does one work with smart contracts using burrow?

mtxset (Tue, 04 Jul 2017 13:49:15 GMT):
@atq, so how does one work with smart contracts using burrow?

djones2 (Tue, 04 Jul 2017 15:05:23 GMT):
@mtxset https://monax.io/docs/getting-started/

mtxset (Tue, 04 Jul 2017 15:12:11 GMT):
djones2, so you do it through monax, thought if you run burrow you do it through burrow

mtxset (Tue, 04 Jul 2017 15:12:11 GMT):
@djones2, so you do it through monax, thought if you run burrow you do it through burrow

atq (Tue, 04 Jul 2017 18:47:26 GMT):
@mtxset, check my reply to @cbruguera a few posts above.

atq (Tue, 04 Jul 2017 18:48:16 GMT):
burrow exposes a json RPC api over http or websockets. The monax cli tools allow you to "talk" to the burrow bc node.

atq (Tue, 04 Jul 2017 18:48:25 GMT):
else you have to do things manually.

cbruguera (Tue, 04 Jul 2017 21:41:19 GMT):
Thanks for your reply @atq. Now, is there any website/documentation specifically for burrow?

cbruguera (Tue, 04 Jul 2017 21:41:19 GMT):
Thanks for your reply @atq ...Now, is there any website/documentation specifically for burrow?

cbruguera (Tue, 04 Jul 2017 21:42:48 GMT):
I heard Monax was going to back off from burrow development and leave it to the hyperledger community, is that correct?

cbruguera (Tue, 04 Jul 2017 21:45:05 GMT):
On the same subject, javascript libraries have been marked as "deprecated" by Monax, are there any ongoing efforts to resume these libraries' development by hyperledger as complements of Burrow technology?... It seems to me that client-side libraries/SDKs are really important components for a smart contract platform such as burrow/monax.

mtxset (Wed, 05 Jul 2017 06:48:26 GMT):
@atq, yes, it is, but where is API description?

mtxset (Wed, 05 Jul 2017 07:00:59 GMT):
I guess: https://github.com/hyperledger/burrow/blob/master/docs/specs/api.md

atq (Wed, 05 Jul 2017 08:26:26 GMT):
@mtxset: correct. you can also find our Swift implementation here: https://gitlab.com/katalysis/BurrowBlockchain (@cbrugera).

atq (Wed, 05 Jul 2017 08:26:26 GMT):
@mtxset: correct. you can also find our Swift implementation here: https://gitlab.com/katalysis/BurrowBlockchain (@cbruguera).

atq (Wed, 05 Jul 2017 08:26:26 GMT):
@mtxset: correct. you can also find our Swift implementation here: https://gitlab.com/katalysis/BurrowBlockchain (@cbruguera)

atq (Wed, 05 Jul 2017 08:26:26 GMT):
@mtxset: correct. you can also find our Swift implementation here: https://gitlab.com/katalysis/BurrowBlockchain ( @cbruguera )

mtxset (Wed, 05 Jul 2017 08:33:23 GMT):
@atq, is there example with solidity contract being deployed and executed on burrow?

atq (Wed, 05 Jul 2017 08:33:42 GMT):
@cbruguera, yes client side libs are quite important. We are ourselves using the monax/burrow framework for our own product, and have written some Swift libs to interact with the blockchain. Wrt Monax scaling back on the js client libs, my take is that they probably do not have the resources to maintain them for free at their current stage. As a startup, we are in the same situation of needing to make sure we spend our time wisely :).

atq (Wed, 05 Jul 2017 08:35:18 GMT):
@mtxset, you mean through Swift?

atq (Wed, 05 Jul 2017 08:35:51 GMT):
no. this is just the api implementation. would love to put it on our roadmap, but for now, no time.

atq (Wed, 05 Jul 2017 08:36:22 GMT):
if just through any means, I guess the monax tutorials are quite good. and their tests: https://github.com/monax/monax/tree/master/tests/jobs_fixtures

atq (Wed, 05 Jul 2017 08:39:40 GMT):
currently, we craft the byte code to call the contracts semi by hand (https://github.com/ethereum/wiki/wiki/Ethereum-Contract-ABI).

atq (Wed, 05 Jul 2017 08:40:12 GMT):
deploying contracts is mostly sending a Tx to the 0 address so should not be rocket science to implement.

mtxset (Wed, 05 Jul 2017 08:49:16 GMT):
so, basically it's not yet for production, although possible, I guess fabric should be sufficient

tkuhrt (Thu, 06 Jul 2017 19:09:22 GMT):
I am looking for a list of emails for the maintainers of Hyperledger Burrow. I did not see anything in the source code. Does this exist somewhere that you can point me to? I would like to send an email to the maintainers of Hyperledger Burrow without using the mailing list at lists.hyperledger.org.

jmcnevin (Thu, 06 Jul 2017 20:00:46 GMT):
Has left the channel.

marc4gov (Thu, 06 Jul 2017 21:26:01 GMT):
Shameless plug: https://medium.com/@marc.minnee/project-management-blockchain-part-2-df6b944aca26

william123 (Mon, 10 Jul 2017 19:50:33 GMT):
Has joined the channel.

mtxset (Tue, 11 Jul 2017 05:45:01 GMT):
@atq, https://github.com/hyperledger/burrow/blob/master/rpc/tendermint/core/routes.go are working rpc functions, and there is broadcast_tx, could you share with an example (tx sample)?

atq (Tue, 11 Jul 2017 06:59:02 GMT):
@mtxset, the way it works high level is at follows: you have 3 main entry points. $ip:46657, which is the http entry point for the web api. $ip:1337/rpc, which is the JSON-RPC entry point for http rest. you need to POST and put the json as payload. finally, you have the $ip:1337/socketrpc, which is the web socket entry point. payload is the same JSON-RPC as the HTTP REST one.

atq (Tue, 11 Jul 2017 07:16:50 GMT):
Regarding payload examples, I don't have anything precoded unfortunately.

atq (Tue, 11 Jul 2017 07:16:50 GMT):
Regarding payload examples, I don't have anything precooked unfortunately.

atq (Tue, 11 Jul 2017 07:18:13 GMT):
when I have some time, I will clean some internal stuff I have in Swift and share it.

atq (Tue, 11 Jul 2017 07:20:18 GMT):
the Websocket endpoint is not as stable as the HTTP one, so I added a BroadcastAndHold entry point in this PR: https://github.com/hyperledger/burrow/pull/624. It may make your life easier if you are able to sign locally.

atq (Tue, 11 Jul 2017 07:21:14 GMT):
One thing to note is that if you use the Broadcast* endpoint, you need to be able to sign messages locally. Else you need to use the TransactAndHold endpoint and send in your private key with it.

mtxset (Tue, 11 Jul 2017 07:37:10 GMT):
@atq, well API page is out dated but it works fine with: https://github.com/hyperledger/burrow/blob/master/rpc/tendermint/core/routes.go I managed to use get_account, list_accounts, and blockchain (tested RPC as well as REST) What I'm asking is the how do I encode/put out the transcation itself: I dont know format I'm suppsed to send the tx in broadcast_tx Yea signinng is following part

atq (Tue, 11 Jul 2017 08:13:59 GMT):
@mtxset: this is an example payload: ``` {"id":"B4316A2E-4801-4051-B126-BD8B69E41189\/3","jsonrpc":"2.0","method":"burrow.broadcastTx","params":[2,{"address":"7A2ECA9A87849E167F63632EAF98F3316B8564DB","data":"F746D0E00000000000000000000000006419EE42DB9F90C3FC70736D47AD002AB50F7293000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000011616C6578406B6174616C797369732E696F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","fee":1,"gas_limit":1000000000,"input":{"address":"B0DC1A182C21306A171CA9DFCD220C36170F0339","amount":1,"pub_key":[1,"6E6FE248002D6787DA1811315EA0E223E5EA84D48EAADCC55079471A08F7A19C"],"sequence":1,"signature":[1,"4E804C05E51302F7C24D789EC0BEC7F2FB3BABEDA3DD35016B81BA04FBA3FA11C72634072A4B72D8A819A34FA074F47CFBBA3741E99DFAA5F8DF9D4879D2C80C"]}}]} ```

atq (Tue, 11 Jul 2017 08:15:10 GMT):
just send this as the body of he post request or as the WS payload.

atq (Tue, 11 Jul 2017 08:15:10 GMT):
just send this as the body of the post request or as the WS payload.

atq (Tue, 11 Jul 2017 08:16:26 GMT):
As this is a broadcastTX (no Hold), you will also need to subscribe to the event and listen for the result to come back.

atq (Tue, 11 Jul 2017 08:18:37 GMT):
(check TransactAndHold at https://github.com/hyperledger/burrow/blob/master/manager/burrow-mint/transactor.go:212)

mtxset (Tue, 11 Jul 2017 08:26:20 GMT):
I understand JSON format for broadcast but how do you get data, do you just copy bytecode from solidity compiler?

atq (Tue, 11 Jul 2017 08:40:03 GMT):
No, I generate it.

atq (Tue, 11 Jul 2017 08:40:24 GMT):
https://github.com/ethereum/wiki/wiki/Ethereum-Contract-ABI

atq (Tue, 11 Jul 2017 08:40:33 GMT):
the above gives you the format.

atq (Tue, 11 Jul 2017 08:41:16 GMT):
the first 4 bytes are the function signature, and then you need to encode the params.

mtxset (Tue, 11 Jul 2017 08:51:31 GMT):
thank you

mtxset (Tue, 11 Jul 2017 11:52:39 GMT):
@atq, do you know why burrow slowed down the development (last commit was 3 months ago)

mtxset (Tue, 11 Jul 2017 11:54:04 GMT):
and if they plan to continue on developing?

mtxset (Tue, 11 Jul 2017 11:54:04 GMT):
and if they plan to continue the development?

atq (Tue, 11 Jul 2017 11:58:54 GMT):
@mtxset: as far as I know, development is still going on (maybe more so in private forks though). there are PRs coming in once in a while (especially on the develop branch). I think 0.17 is expected to be out within a few weeks. @benjaminbollen or @compleatang might be able to give a better picture?

tkuhrt (Tue, 11 Jul 2017 21:36:01 GMT):
Bump: https://chat.hyperledger.org/channel/burrow?msg=jWttZM4ofYcMjF5CH

Audrius (Wed, 12 Jul 2017 08:01:23 GMT):
Has joined the channel.

benjaminbollen (Wed, 12 Jul 2017 10:06:29 GMT):
There has been more recent work on develop v0.17

benjaminbollen (Wed, 12 Jul 2017 10:13:20 GMT):
and other work has been done on the monax fork because it originally included GPLv3 licenced code and hence can as such not be part of HL Burrow

benjaminbollen (Wed, 12 Jul 2017 11:07:18 GMT):
@tkuhrt that is ben@monax.io and silas@monax.io

tkuhrt (Wed, 12 Jul 2017 15:00:45 GMT):
Thanks, Ben

rock_martin (Fri, 14 Jul 2017 05:54:27 GMT):
Has joined the channel.

RobertDiebels (Sat, 15 Jul 2017 13:14:32 GMT):
Has joined the channel.

RobertDiebels (Sat, 15 Jul 2017 13:15:06 GMT):
Hi guys, I've got a question about launching Burrow in a Kubernetes cluster.

RobertDiebels (Sat, 15 Jul 2017 13:15:31 GMT):
Would I be correct in assuming that https://github.com/hyperledger/burrow/blob/d7e7449db97230c361458dbba4377f9270e5c295/deployment/start_in_cluster is meant to be triggered from inside a container?

RobertDiebels (Sat, 15 Jul 2017 13:16:39 GMT):
And you'd set the variables used in that script through a deployment defintion like this one: https://github.com/hyperledger/burrow/blob/d7e7449db97230c361458dbba4377f9270e5c295/deployment/kubernetes/node000-deploy.yaml

RobertDiebels (Sat, 15 Jul 2017 13:18:48 GMT):
Another question I have would be about CHAIN_SEEDS in those scripts.

RobertDiebels (Sat, 15 Jul 2017 13:19:26 GMT):
Do those have to be actual instance IPs ?

RobertDiebels (Sat, 15 Jul 2017 13:19:26 GMT):
Does that var have to contain instance IPs ?

arba 6 (Sun, 16 Jul 2017 18:57:37 GMT):
Has joined the channel.

cre8bidio (Mon, 17 Jul 2017 00:43:22 GMT):
Has joined the channel.

wvierber (Mon, 17 Jul 2017 09:39:16 GMT):
Has joined the channel.

highlander (Tue, 18 Jul 2017 20:20:52 GMT):
Has joined the channel.

mtxset (Wed, 19 Jul 2017 06:51:39 GMT):
Has left the channel.

tim-d-blue (Wed, 19 Jul 2017 15:05:13 GMT):
Has joined the channel.

colinGrahms (Fri, 21 Jul 2017 07:09:04 GMT):
Has joined the channel.

RobertDiebels (Fri, 21 Jul 2017 09:03:50 GMT):
Hi guys, back with a question. Does the Dockerfile in: https://github.com/hyperledger/burrow/blob/master/Dockerfile need to use the Monax base image?

entangled90 (Fri, 21 Jul 2017 11:38:30 GMT):
Has joined the channel.

Varun2887 (Fri, 21 Jul 2017 12:08:23 GMT):
Has joined the channel.

Siciliano (Thu, 27 Jul 2017 09:30:18 GMT):
Has joined the channel.

iainbarclay (Thu, 27 Jul 2017 10:26:03 GMT):
Has joined the channel.

Raje (Thu, 27 Jul 2017 21:43:13 GMT):
Has joined the channel.

CBTheis (Fri, 28 Jul 2017 20:33:55 GMT):
Has joined the channel.

Chaoz (Mon, 31 Jul 2017 12:56:53 GMT):
Has joined the channel.

JamesKempf (Mon, 31 Jul 2017 18:27:49 GMT):
Has joined the channel.

JamesKempf (Mon, 31 Jul 2017 18:33:44 GMT):
I have Sawtooth and Burrow built and installed, and have brought them up. I am now trying to set up an account using seth. The docs say that it requires an alias for a key. Is this a filename with the public key in it, and, if so, what does the format of the public key need to be (sorry if this question is clueless).

adamludvik (Mon, 31 Jul 2017 18:52:12 GMT):
Sawtooth and Burrow are separate projects. Currently the integration between the two is Sawtooth a transaction family that wraps the Burrow-EVM (v0.16). So you don't need to run both. The seth "alias" is just a keyword you define which you use to refer to your private key later.

JamesKempf (Mon, 31 Jul 2017 19:49:31 GMT):
I'm now running sawtooth-validator and sawtooth-rest-api in addition to burrow-evm-tp. Are you saying that I don't need to run the sawtooth*? W.r.t. seth, when I run the command to create an account, I get this:

JamesKempf (Mon, 31 Jul 2017 19:49:38 GMT):
ubuntu@blockchain01:~$ seth --verbose account create --permissions=+all player01 Error: Couldn't load key from alias: No key with alias player01

JamesKempf (Mon, 31 Jul 2017 19:50:02 GMT):
So it seems to me that it wants to load a key, or maybe I'm missing something?

kelly_ (Mon, 31 Jul 2017 20:17:09 GMT):
Hey @JamesKempf you may have better luck asking in #sawtooth

kelly_ (Mon, 31 Jul 2017 20:17:25 GMT):
@adamludvik is the sawtooth EVM expert so could try pinging him as well

adamludvik (Tue, 01 Aug 2017 17:08:07 GMT):
Sorry for the delay. The correct sequence of commands is: `sawtooth keygen --key-dir . player01` `seth account import player01.priv player01` and then what you ran: `seth --verbose account create --permissions=+all player01`

jwcoates (Tue, 01 Aug 2017 18:15:49 GMT):
Has joined the channel.

JamesKempf (Tue, 01 Aug 2017 21:43:37 GMT):
Right, I did that and used the command line option to insert a contract but when I look it is not there, even tho sawtooth shows the transaction as having completed:

JamesKempf (Tue, 01 Aug 2017 21:44:43 GMT):
ubuntu@blockchain01:~$ seth show 93ba86c118af79cd4b37cd87bf7229031c3c33f0 Address: 93ba86c118af79cd4b37cd87bf7229031c3c33f0 Balance: 0 Code : Nonce : 2 Perms : +root,+send,+call,+contract,+account (No Storage Set) Do I need to set storage for the account?

tprafull (Thu, 03 Aug 2017 18:19:07 GMT):
Has joined the channel.

Eric.Bui (Sun, 06 Aug 2017 11:07:46 GMT):
Has joined the channel.

FrankShikhaliev (Sun, 06 Aug 2017 11:21:40 GMT):
Has joined the channel.

juleschamp (Mon, 07 Aug 2017 13:05:32 GMT):
Has joined the channel.

skbodwell (Mon, 07 Aug 2017 17:49:26 GMT):
Has joined the channel.

mavstronaut (Tue, 08 Aug 2017 04:02:57 GMT):
Has joined the channel.

Varun2887 (Tue, 08 Aug 2017 06:32:13 GMT):
hi all, i am new to blockchain and hyperledger. Can anyone please help me with the setup of burrow

Varun2887 (Tue, 08 Aug 2017 06:32:24 GMT):
any good link to set it up will be helpful

Varun2887 (Tue, 08 Aug 2017 06:33:47 GMT):
following `https://github.com/hyperledger/burrow` will help?

Varun2887 (Tue, 08 Aug 2017 06:57:19 GMT):
```varun]# go get -d github.com/hyperledger/burrow can't load package: package github.com/hyperledger/burrow: no buildable Go source files in /root/go/src/github.com/hyperledger/burrow ```

Varun2887 (Tue, 08 Aug 2017 06:57:23 GMT):
getting this error

benjaminbollen (Tue, 08 Aug 2017 10:02:10 GMT):
Hi @Varun2887

benjaminbollen (Tue, 08 Aug 2017 10:02:10 GMT):
Hi @Varun2887 if you clone the repo you can follow the install from source instructions on https://github.com/hyperledger/burrow#for-developers

benjaminbollen (Tue, 08 Aug 2017 10:03:52 GMT):
but this does not include the user tooling which we are currently evaluating on how to best port them from GPLv3 to Apache licenced code into Hyperledger

benjaminbollen (Tue, 08 Aug 2017 10:17:19 GMT):
also, Marmots are back

benjaminbollen (Tue, 08 Aug 2017 10:18:26 GMT):
we 've been underground to work on the strategy and new technology features that we see as necessary for the fast evolving blockchain space

benjaminbollen (Tue, 08 Aug 2017 10:18:26 GMT):
we 've been underground to work on the strategy and new technology features that we see as necessary for the fast evolving blockchain space we'll start sharing these proposals for Burrow shortly

Varun2887 (Tue, 08 Aug 2017 10:19:25 GMT):
m able to install glide and go

Varun2887 (Tue, 08 Aug 2017 10:19:35 GMT):
```To run burrow, just type $ burrow serve --work-dir , where the chain directory needs to contain the configuration, genesis file, and private validator file as generated by monax chains make.```

Varun2887 (Tue, 08 Aug 2017 10:19:51 GMT):
in instruction it doesnt say to install monax

Varun2887 (Tue, 08 Aug 2017 10:20:07 GMT):
monax is a prerequisite?

Varun2887 (Tue, 08 Aug 2017 10:20:17 GMT):
@benjaminbollen ?

benjaminbollen (Tue, 08 Aug 2017 10:21:03 GMT):
monax is the user tooling that does it all for you; but we will want to help build and integrate with a new Hyperledger toolset

Varun2887 (Tue, 08 Aug 2017 10:22:12 GMT):
i have had used eris before

Varun2887 (Tue, 08 Aug 2017 10:22:25 GMT):
do i need to install monax now to run burrow?

benjaminbollen (Tue, 08 Aug 2017 10:27:35 GMT):
it would still be the smoothest experience

benjaminbollen (Tue, 08 Aug 2017 10:28:01 GMT):
a lot of the tooling is currently GPLv3 and could not be ported over to Apache

benjaminbollen (Tue, 08 Aug 2017 10:28:31 GMT):
but core libraries I have largely completed as new Apache licenced code

benjaminbollen (Tue, 08 Aug 2017 10:28:38 GMT):
but this is WIP

benjaminbollen (Tue, 08 Aug 2017 10:29:48 GMT):
Im working on the Burrow roaadmap to v1.0 now and the work for the tooling will be an important part of that

benjaminbollen (Tue, 08 Aug 2017 10:29:48 GMT):
Im working on the Burrow roadmap to v1.0 now and the work for the tooling will be an important part of that

Varun2887 (Wed, 09 Aug 2017 07:55:11 GMT):
will it be advisable to keep huge data onchain and involve no offchain database?

yezooz (Wed, 09 Aug 2017 09:06:10 GMT):
Has joined the channel.

MadhavaReddy (Wed, 09 Aug 2017 12:51:02 GMT):
Has joined the channel.

benjaminbollen (Wed, 09 Aug 2017 15:29:53 GMT):
as a first rule, I recommend to only keep the data on chain that is needed to progress the state of the smart contracts, ie what you need to calculate; all other state that is not read, or written to by the smart contract can be linked to with a hash and stored off chain

Varun2887 (Fri, 11 Aug 2017 09:55:33 GMT):
hi everyone

Varun2887 (Fri, 11 Aug 2017 09:55:42 GMT):
need help on setting up burrow

Varun2887 (Fri, 11 Aug 2017 09:58:15 GMT):
i have installed burrow and monax as per `https://github.com/hyperledger/burrow`

Varun2887 (Fri, 11 Aug 2017 09:58:23 GMT):
have created a chain

Varun2887 (Fri, 11 Aug 2017 09:58:28 GMT):
what shall be done next

Varun2887 (Fri, 11 Aug 2017 10:02:10 GMT):
`[root@ip-hyperledger]# ./monax chains start test --init-dir ~/.monax/chains/test/test_full_000 API error (404): {"message":"oci runtime error: container_linux.go:247: starting container process caused \"exec: \\\"mintkey\\\": executable file not found in $PATH\"\n"} Failed to transliterate [priv_validator.json] to monax-key: `

Varun2887 (Fri, 11 Aug 2017 10:02:23 GMT):
```[root@ip-hyperledger]# ./monax chains start test --init-dir ~/.monax/chains/test/test_full_000 API error (404): {"message":"oci runtime error: container_linux.go:247: starting container process caused \"exec: \\\"mintkey\\\": executable file not found in $PATH\"\n"} Failed to transliterate [priv_validator.json] to monax-key:```

Varun2887 (Fri, 11 Aug 2017 10:02:47 GMT):
what shall be done

bobatibm (Fri, 11 Aug 2017 11:50:36 GMT):
Has joined the channel.

ol.popov (Sun, 13 Aug 2017 12:03:16 GMT):
Has joined the channel.

ol.popov (Sun, 13 Aug 2017 12:04:58 GMT):
Hello. My name is Alex and I'm trying to test burrow =) Dows anyone encountered the same error ? ```Failed to load core: Failed to load consensus module configuration: Error reading config: consensus module tendermint (tendermint-0.0) is not supported by burrow-0.16.4```

ol.popov (Sun, 13 Aug 2017 14:06:42 GMT):
Ok. Somehow I've managed to lauch borrow using monax. I've also found borrow-client. Is it able to call smart contract function via rpc?

glotov (Wed, 16 Aug 2017 12:11:55 GMT):
Has joined the channel.

tskzh (Thu, 17 Aug 2017 16:11:52 GMT):
Has joined the channel.

glotov (Fri, 18 Aug 2017 13:35:30 GMT):
Hi! What is the format of the data that `GetBlock` API call returns? In particular, its `data.txs` is a hex string like this `02010114C83...02`, how to decipher it? (Monax v0.17.0)

liotru (Sat, 19 Aug 2017 12:22:55 GMT):
Has joined the channel.

Anh-Dung (Mon, 21 Aug 2017 09:26:42 GMT):
Has joined the channel.

AcidumIrae (Mon, 21 Aug 2017 09:34:42 GMT):
Has joined the channel.

benjaminbollen (Mon, 21 Aug 2017 09:45:50 GMT):
we've deprecated the monax hosted explainers but the repository still has the spec file https://github.com/hyperledger/burrow/blob/master/docs/specs/api.md#get-block

benjaminbollen (Mon, 21 Aug 2017 09:47:12 GMT):
the `data.txs` is the go-wire encoded list of transactions as treated as bytestrings by Tendermint

PacoEcotrust (Mon, 21 Aug 2017 10:42:30 GMT):
Has joined the channel.

smhi (Mon, 21 Aug 2017 12:58:53 GMT):
Has joined the channel.

cbruguera (Mon, 21 Aug 2017 23:17:49 GMT):
Are previous monax versions (< 0.18.0) removed from the apt-get repository?

cbruguera (Mon, 21 Aug 2017 23:18:01 GMT):
I'm trying to downgrade monax, to no avail.

cbruguera (Mon, 21 Aug 2017 23:55:29 GMT):
Nevermind, I already did via curl.

timblankers (Wed, 23 Aug 2017 07:45:24 GMT):
Has joined the channel.

zexuhat (Wed, 23 Aug 2017 08:47:08 GMT):
Has joined the channel.

sethlordde (Wed, 23 Aug 2017 20:40:28 GMT):
Has joined the channel.

FabricioMendes (Fri, 25 Aug 2017 16:51:00 GMT):
Has joined the channel.

stingley (Tue, 29 Aug 2017 00:18:15 GMT):
Has joined the channel.

yogeshquick (Wed, 30 Aug 2017 11:58:37 GMT):
Has joined the channel.

Varun2887 (Thu, 31 Aug 2017 07:50:53 GMT):
is this channel active?

benjaminbollen (Thu, 31 Aug 2017 14:41:38 GMT):
:) It has not been very active. But it will be again, as of today.

silasdavis (Thu, 31 Aug 2017 15:09:44 GMT):
@benjaminbollen can you take a look at this please: https://github.com/hyperledger/burrow/pull/644

lmrln (Fri, 01 Sep 2017 09:59:42 GMT):
Has joined the channel.

sambitnayak (Fri, 01 Sep 2017 13:39:21 GMT):
Has joined the channel.

sambitnayak (Fri, 01 Sep 2017 13:42:41 GMT):
Hi, do we have Docker images for Burrow? Or any instructions to generate and run such containers would be helpful... And, will sawtooth-core have to be separately installed and run?

silasdavis (Fri, 01 Sep 2017 13:46:57 GMT):
@sambitnayak we do: https://quay.io/repository/monax/db?tab=tags

silasdavis (Fri, 01 Sep 2017 13:47:11 GMT):
However the primary way to run this is by using the 'monax' tool, see here: https://quay.io/repository/monax/db?tab=tags

silasdavis (Fri, 01 Sep 2017 13:47:11 GMT):
However the primary way to run this is by using the 'monax' tool, see here: https://monax.io/docs/getting-started/

silasdavis (Fri, 01 Sep 2017 13:48:14 GMT):
there is ongoing work to decouple Burrow from the Monax tool and provide better 'direct' support for running on Kubernetes

silasdavis (Fri, 01 Sep 2017 13:48:14 GMT):
there is ongoing work to decouple Burrow from the Monax tool and provide better 'direct' support for running on Kubernetes for example

silasdavis (Fri, 01 Sep 2017 13:48:46 GMT):
monax tool on github: https://github.com/monax/monax

silasdavis (Fri, 01 Sep 2017 13:49:31 GMT):
the current images rely on the monax tool to do various bits of docker orchestration in particular setting up keys and data containers

silasdavis (Fri, 01 Sep 2017 13:49:50 GMT):
It is rather biased towards a dev rather an ops point of view

sambitnayak (Fri, 01 Sep 2017 14:06:58 GMT):
thanks

fabcan (Mon, 04 Sep 2017 07:55:50 GMT):
Has joined the channel.

marc4gov (Tue, 05 Sep 2017 20:45:30 GMT):
just did a `brew install monax` and tried `monax init` but got an `exit status 1`. I'm sure I've seen this before but can't recall the solution? Any help available?

silasdavis (Wed, 06 Sep 2017 11:16:48 GMT):
@marc4gov could you check if you see the same issue if you install using go directly with `go get github.com/monax/monax/cmd/monax`?

silasdavis (Wed, 06 Sep 2017 11:17:04 GMT):
You would need Go installed and `$GOPATH` set

silasdavis (Wed, 06 Sep 2017 11:17:31 GMT):
the binary will be in `$GOPATH/bin/monax`

silasdavis (Wed, 06 Sep 2017 11:17:31 GMT):
the binary will be compiled to `$GOPATH/bin/monax`

marc4gov (Wed, 06 Sep 2017 11:38:58 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=c4JiSdNzR5NpXNatW) @silasdavis yes, same issue

jadhavajay (Thu, 07 Sep 2017 13:05:37 GMT):
Has joined the channel.

VipinB (Thu, 07 Sep 2017 19:57:31 GMT):
bollen

RobertDiebels (Fri, 08 Sep 2017 11:37:08 GMT):
Hey everyone. I've got a question. Where does Burrow look for the genesis file of a chain? What dir?

RobertDiebels (Fri, 08 Sep 2017 11:37:48 GMT):
I'm trying out the Docker container and I'm getting an error: `panic: Panicked on a Sanity Check: Error initializing DB: sync /home/monax/.monax/data/burrowmint/data/burrowmint.db: invalid argument`

RobertDiebels (Fri, 08 Sep 2017 11:38:37 GMT):
I copied over the quay.io db image to my own docker repo. So I'd have everything in one spot.

RobertDiebels (Fri, 08 Sep 2017 11:40:14 GMT):
I'm using this: `docker run -v /c/Users/Robert/Containers/burrowconfig:/home/monax/.monax --rm --name burrow-node robertdiebels/burrow-node` command to run the node/server.

RobertDiebels (Fri, 08 Sep 2017 11:41:07 GMT):
Burrowconfig contains the genesis.json, config.toml and priv_validator.json

VoR0220 (Fri, 08 Sep 2017 13:24:41 GMT):
Hi @silasdavis ! Any word on whether or not Burrow will switch to using `dep` as a package manager for Go :P

analyticbastard (Sat, 09 Sep 2017 16:06:39 GMT):
Has joined the channel.

cfs314 (Sun, 10 Sep 2017 09:17:38 GMT):
Has joined the channel.

RobertDiebels (Sun, 10 Sep 2017 13:41:23 GMT):
In case anyone was wondering. I was using Docker from the QuickStart terminal on Windows. It works on Linux just fine.

silasdavis (Mon, 11 Sep 2017 16:33:47 GMT):
Hey @VoR0220 I am using `dep` on a related project (I had tried it before, but it actually seems to work now) so it could happen...

silasdavis (Mon, 11 Sep 2017 16:34:24 GMT):
@RobertDiebels I've replied to your ticket, you should just be able to run Burrow natively on your Windows host: https://github.com/hyperledger/burrow/issues/654

silasdavis (Mon, 11 Sep 2017 16:39:17 GMT):
@marc4gov this isn't something I can reproduce on my linux machine, and I don't have a mac to try this on if it is an issue there. Is `exit status 1` all it outputs? Could you try `monax -d init`? I'm not up-to-date on the state of docker on mac, are you using docker machine?

leogzl (Fri, 15 Sep 2017 11:18:08 GMT):
Has joined the channel.

marc4gov (Fri, 15 Sep 2017 16:24:06 GMT):
@silasdavis I'm using docker machine indeed and `monax -d init` outputs the same as `monax init`

denis4net (Fri, 15 Sep 2017 23:36:23 GMT):
Has joined the channel.

denis4net (Sat, 16 Sep 2017 08:24:57 GMT):
Hey everyone, can anyone point me to post or explanation, what is difference between monax and hyperledger? Or monax is just a project that are migrating to hyperledger?

denis4net (Sat, 16 Sep 2017 08:24:57 GMT):
Hey everyone, can anyone point me to post or explanation, what is difference between monax and hyperledger? Or monax is just a project that migrating to hyperledger?

silasdavis (Sat, 16 Sep 2017 19:16:47 GMT):
@denis4net https://www.hyperledger.org/blog/2017/04/10/hey-you-got-your-ethereum-in-my-hyperledger

silasdavis (Sat, 16 Sep 2017 19:17:29 GMT):
Hyperledger is an open source guild of blockchain-related projects

silasdavis (Sat, 16 Sep 2017 19:17:36 GMT):
Monax is a company: monax.io

silasdavis (Sat, 16 Sep 2017 19:18:17 GMT):
Burrow is the nom de plume of a permissioned EVM-based blockchain since it joined Hyperledger

argman (Mon, 18 Sep 2017 07:17:37 GMT):
Has joined the channel.

argman (Mon, 18 Sep 2017 07:17:45 GMT):
Has left the channel.

HintikkaKimmo (Mon, 18 Sep 2017 16:32:47 GMT):
Has joined the channel.

denis4net (Tue, 19 Sep 2017 10:58:24 GMT):
But Hyperledger burrow (blockchain) can't exists without other tools, like `monax chains`, etc.

denis4net (Tue, 19 Sep 2017 10:58:24 GMT):
But Hyperledger burrow (blockchain) can't exists/operate without other tools, like `monax chains`, etc.

denis4net (Tue, 19 Sep 2017 10:58:24 GMT):
But Hyperledger burrow (blockchain) can't exists/operate without other tools, like `monax chains`, etc. Why they are located in different repositories?

silasdavis (Tue, 19 Sep 2017 13:18:58 GMT):
It can, it just requires a proper configuration to be present. A template configuration is documented here: https://github.com/hyperledger/burrow/blob/master/config/templates.go. Currently it is easier to use the monax tool to generate this, but there is nothing to stop you from using those functions to create your own config or writing it by hand.

danconway (Thu, 21 Sep 2017 19:04:22 GMT):
Has joined the channel.

zachgoll (Fri, 22 Sep 2017 18:27:33 GMT):
Has joined the channel.

JamesKempf (Fri, 22 Sep 2017 20:12:00 GMT):
Will Burrow have Solidity events implemented for the upcoming 0.8 release? Also, the Solidity documentation says that transactions don't return a value, but there is a note in the seth Go code that return values from transactions will be implemented at some point. Does this mean that the results of the transaction (success-failure) will be returned or that the external function will be allowed to return values? Thx.

silasdavis (Sat, 23 Sep 2017 14:18:06 GMT):
@JamesKempf Burrow does implement solidity events. I'm not sure which release you are referring to with 0.8, are you confusing Burrow and Sawtooth/seth? Seth is integrating parts of the Burrow EVM.

avi-nyc (Sat, 23 Sep 2017 21:38:32 GMT):
Has joined the channel.

JamesKempf (Sun, 24 Sep 2017 01:39:34 GMT):
Sorry, I thought Burrow and Sawtooth were on the same release schedule.

PascalVerlinden (Mon, 25 Sep 2017 15:23:20 GMT):
Has joined the channel.

tbrooke (Mon, 25 Sep 2017 20:15:48 GMT):
Has joined the channel.

stingley (Tue, 26 Sep 2017 12:03:38 GMT):
hi guys... so I am working with a fresh install of monax v 0.16 and trying to show someone a basic deploy but getting a http 503 error, I first tried to compile without compiler flag and got 503 error... then I set a local var $comp=$(monax services inspect compilers NetworkSettings.IPAddress)

stingley (Tue, 26 Sep 2017 12:03:38 GMT):
hi guys... so I am working with a fresh install of monax v 0.16 and trying to show someone a basic deploy but getting a http 503 error, I first tried to compile without compiler flag and got 503 error... then I set a local var comp=$(monax services inspect compilers NetworkSettings.IPAddress)

stingley (Tue, 26 Sep 2017 12:03:38 GMT):
hi guys... so I am working with a fresh install of monax in a new environment.. v 0.16 and trying to show someone a basic deploy but getting a http 503 error, I first tried to compile without compiler flag and got 503 error... then I set a local var comp=$(monax services inspect compilers NetworkSettings.IPAddress)

stingley (Tue, 26 Sep 2017 12:03:38 GMT):
hi guys... so I am working with a fresh install of monax in a new environment.. v 0.16 and trying to show someone a basic deploy but getting a http 503 error, I first tried to compile without compiler flag and got the error... then I set a local var comp=$(monax services inspect compilers NetworkSettings.IPAddress)

stingley (Tue, 26 Sep 2017 12:03:46 GMT):
monax pkgs do --chain test_chain --address $addr --compiler http://$comp:9099

stingley (Tue, 26 Sep 2017 12:05:01 GMT):
"Error compiling contracts: Compilers error: HTTP error: 503"

stingley (Tue, 26 Sep 2017 12:16:34 GMT):
I have updated the compilers.toml file to include the ports... but using both 9090 and 9099 produce same error

stingley (Tue, 26 Sep 2017 12:16:34 GMT):
I have updated the compilers.toml file to include the ports... but both 9090 and 9099 result in same error

stingley (Tue, 26 Sep 2017 12:16:38 GMT):
[service] image = quay.io/monax/compilers:0.16.0 data_container = true ports = [9090:9090, 9099:9099] user = exec_host = volumes = []

silasdavis (Wed, 27 Sep 2017 10:48:30 GMT):
@stingley Is there anything stopping you from upgrading to a more recent version? I believe we dropped the remote compilers concept in 0.17.0 (of the monax tool), I'd recommend using monax 0.18.0

stingley (Wed, 27 Sep 2017 12:19:23 GMT):
Thanks @silasdavis we are going to go ahead and try that.... after much debugging we figured out most of these issues are related to some proxy settings we are stuck with for now. Hopefully can be resolved

ShaneGiehll (Thu, 28 Sep 2017 03:11:00 GMT):
Has joined the channel.

ShaneGiehll (Thu, 28 Sep 2017 03:14:34 GMT):
Hey guys, any idea why monax v 0.18 would not run any of the jobs in the epm.yaml and not return an error? the yaml file and contract are in the .monax/apps folder

ShaneGiehll (Thu, 28 Sep 2017 03:14:34 GMT):
Hey guys, any idea why monax v 0.18 would not run any of the jobs in the epm.yaml and not return an error on compile? the yaml file and contract are in the .monax/apps folder

ShaneGiehll (Thu, 28 Sep 2017 03:16:24 GMT):
@silasdavis im working with stingley

ShaneGiehll (Thu, 28 Sep 2017 03:30:49 GMT):

Message Attachments

ShaneGiehll (Thu, 28 Sep 2017 05:40:49 GMT):
also would like to mention we are behind a proxy, if you know any ports or interactions that monax pkgs do uses( both local and non-local)

ShaneGiehll (Thu, 28 Sep 2017 05:40:59 GMT):
that would greatly help

ShaneGiehll (Thu, 28 Sep 2017 08:48:36 GMT):
@silasdavis

stingley (Fri, 29 Sep 2017 10:28:43 GMT):
is there any simple configuration for using any of the recent versions behind a proxy? @silasdavis ... 0.17 or 0.18

stingley (Fri, 29 Sep 2017 10:33:33 GMT):
we opened ports 1-12000 on our proxy but still couldnt deploy with 0.18 ..

johanherman (Fri, 29 Sep 2017 19:18:41 GMT):
Has joined the channel.

denis4net (Sat, 30 Sep 2017 14:10:36 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=sfJFxfNi2tPegQcn2) @silasdavis Thanks. Could you point me to the documentation that answers to the following questsions: 1. Is it possible to add account/validator to the running chain? 2. Is it possible to disable internal cryptocurrency and gas limit and why it is needed in the permissioned blockchain?

denis4net (Sat, 30 Sep 2017 14:10:36 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=sfJFxfNi2tPegQcn2) @silasdavis Thanks. Could you point me to the documentation that answers to the following questsions: 1. Is it possible to add account/validator to the running chain? 2. Is it possible to disable internal cryptocurrency and gas limit and why it is needed in the permissioned blockchain? 3. What will the project replace legacy-contracts.js?

carlos_frijoles (Mon, 02 Oct 2017 14:15:23 GMT):
Has joined the channel.

silasdavis (Wed, 04 Oct 2017 10:11:37 GMT):
@ShaneGiehll `monax pkgs do` uses TCP port 46657, and the javascript libraries use 1337

silasdavis (Wed, 04 Oct 2017 11:01:31 GMT):
@denis4net 1. a) You can add accounts by issuing a `SendTx` which will create the recipient account if it does not exist and sending a `PermissionsTx`. Both are most readily accomplished with the monax tool at the moment, see: https://monax.io/docs/documentation/pm/#epm-definition-files. But the relevant RPC endpoints are also there to be called b) The ability to mutate the validator set was relatively recently (re)introduced to Tendermint (validator bonding/unbonding had been a feature of eris-db which went on to become Burrow and Tendermint separately). I have integrated the latest Tendermint in a development branch, once stabilised with some other refactoring I'll be in a position to reintroduce validator set changes. 2. a) It is not possible to disable it, but it is possible to largely ignore it if you want - by setting large limits or zero fees. b) It exists for a mixture of vestigial reasons (it's definition is part of Ethereum and provides some level of compatibility) but also some legitimate reasons. It is the 'working fluid' of the blockchain and you have to have some of it to act as in 1a) above it provides a mechanism to create an account (really we imagine all accounts 'exist' a priori but only some have the value and permissions to act), but it also provides a mechanism to prevent infinite loops in our Turing complete machine and to limit the amount of work a (possibly bad) actor can do by controlling the amount of gas they can buy. Whereas permissions are boolean, an account's value is a tunable integer so we can give less to accounts that have no reason to use a lot, or we can meter it out over time by sending it from another account. Having said that the way Burrow prices gas and deals with fees could be improved (fees just vanish), however should you have a use for the token most of the parameters are settable. It is needed for gas consumption at the very least (so we have some termination guarantees). We could definitely think more about the concept of value/gas in a permissioned chain (how to simplify it or how to make better use of it) but frankly it just hasn't got in the way enough to be a problem for us so far. 3. We plan to support a subset of web3 allowing us to use native Ethereum alternatives to legacy-contracts. However I also plan to pull legacy contracts into a monorepo comprising a minimal set of moanx-keys, legacy contracts, monax pkgs, in order to make working with upgraded Burrow easier in the medium term and so the subset we use ourselves can be maintained. We are quite resourced constrained at the moment, with only really me working on Burrow, and we are building out our own cloud-based platform using it so it is actively receiving some love but my work is focused on our needs (which it helps hone the code base for a specific - still general purpose EVM). On the other side we are ramping up within Hyperledger - on Friday I am meeting with various people from Hyperledger - in order to get more contributions and really launch Burrow as an lean EVM execution engine that works well as a Tendermint app and a library for other chains. So you find us in something of a transitionary period. If you have an interest in using the code and would like to contribute to the upkeep of things like legacy-contracts then we are looking for maintainers and I would be glad to collaborate .

silasdavis (Wed, 04 Oct 2017 11:10:17 GMT):
You might find this a useful reference to what you can do with `monax pkgs do`: https://github.com/monax/monax/tree/master/tests/jobs_fixtures

silasdavis (Wed, 04 Oct 2017 11:12:32 GMT):
it's the actual tests we run against Burrow, with a bit of experimentation you should be able to understand how things work. https://monax.io/docs/getting-started/ is also relevant, but I am afraid not currently maintained. As I say, this is a period of transition for us.

danconway (Thu, 05 Oct 2017 16:25:47 GMT):
Hi @silasdavis , I wanted to introduce myself. I am Dan Conway one of the founders of www.cubeform.io A newly forming consultancy firm in the space. We are joining the hyperledger foundation and hope to contribute however we can. I am formerly one of the lead developers of Expanse, a smart contract platform that implemented the EVM on its chain, and as such have a decent understanding of the evm and ethereums internals. I have long been a fan of eris/monax, infact often referencing it to the rest of the expanse team for the kind of project we should model ourselves after. Anyways, I am looking forward to working with you to contribute to burrow and hyperledger as a whole.

pradeeppadmarajaiah (Fri, 06 Oct 2017 15:39:54 GMT):
Has joined the channel.

silasdavis (Fri, 06 Oct 2017 18:34:28 GMT):
antastic! Having met with

silasdavis (Fri, 06 Oct 2017 18:34:28 GMT):
Fantastic! Having met with Brian today I am drafting an email for the technical-discuss list that will explain a bit about what I am currently working on with respect to Burrow

silasdavis (Fri, 06 Oct 2017 18:35:08 GMT):
Should send tomorrow and will duplicate here

souradeep-das (Sat, 07 Oct 2017 17:10:03 GMT):
Has joined the channel.

PrithviS (Mon, 09 Oct 2017 05:47:23 GMT):
Has joined the channel.

RobertDiebels (Tue, 10 Oct 2017 13:54:06 GMT):
Hey guys, question on Burrow accounts. Let's say I generate roughly 3000 accounts. Do all of those have to be validators in the network? Or is it possible to only have 50 of them validate?

silasdavis (Tue, 10 Oct 2017 14:56:31 GMT):
Validators and accounts are entirely independent concepts so yes

silasdavis (Tue, 10 Oct 2017 14:56:51 GMT):
usually we talk about participants and validators

silasdavis (Tue, 10 Oct 2017 14:57:06 GMT):
we would usually expect them to be disjoint too, but this is not a requirement

silasdavis (Tue, 10 Oct 2017 14:57:08 GMT):
take:

silasdavis (Tue, 10 Oct 2017 14:57:39 GMT):
``` { "genesis_time": "2017-09-13T11:52:00.817Z", "chain_id": "test", "params": { "global_permissions": { "base": { "perms": 2302, "set": 16383 }, "roles": [] } }, "accounts": [ { "address": "F74A500F4E3C281693BCC8ECE12A6A663E7ED37F", "amount": 99999999999999, "name": "test_full_000", "permissions": { "base": { "perms": 16383, "set": 16383 }, "roles": [] } } ], "validators": [ { "pub_key": [ 1, "0D15FC3E5966836B8253B57292956351A0CBE092EEF88644823CBD26B3D00420" ], "amount": 9999999999, "name": "test_full_000", "unbond_to": [ { "address": "F74A500F4E3C281693BCC8ECE12A6A663E7ED37F", "amount": 9999999999 } ] } ] } ```

silasdavis (Tue, 10 Oct 2017 14:58:31 GMT):
that is a 'simple chain' genesis that has a single account that is both a validator and a participant

silasdavis (Tue, 10 Oct 2017 14:59:23 GMT):
it's not obvious that the validator is the same because you'd have to ripemd160 the public key, but it is, as sort of implied by the unbond_to address

silasdavis (Tue, 10 Oct 2017 15:00:06 GMT):
BTW, I don't know Tendermint would cope with 3000 validators, i've never tried :)

RobertDiebels (Tue, 10 Oct 2017 21:04:31 GMT):
Ok got it thanks :D /

mredmundto (Wed, 11 Oct 2017 02:56:41 GMT):
Has joined the channel.

FilipeCGarcia (Thu, 12 Oct 2017 11:58:15 GMT):
Has joined the channel.

RobertDiebels (Thu, 12 Oct 2017 12:36:40 GMT):
Hey guys, I noticed this: `[service]\nimage = \"quay.io/monax/db:0.16.3\"` in the config.toml file generated by the monax tooling. Is this used anywhere?

RobertDiebels (Thu, 12 Oct 2017 12:36:40 GMT):
Hey guys, I noticed this: `[service] image = "quay.io/monax/db:0.16.3"` in the config.toml file generated by the monax tooling. Is this used anywhere?

william123 (Thu, 12 Oct 2017 13:41:18 GMT):
Has left the channel.

bennettneale (Thu, 12 Oct 2017 22:48:52 GMT):
Has joined the channel.

stingley (Fri, 13 Oct 2017 06:57:45 GMT):
In solidity... keccak256 hashing a string literal versus keccak256 hashing a string memory variable is still returning different results in Monax... we tested using compiler v 0.4.4 where we get expected hashed output on Remix but different value calling the function on Burrow ............ is there a known workaround in Burrow... some known padding to make it the same as the string literal?

stingley (Fri, 13 Oct 2017 06:57:45 GMT):
In solidity... keccak256 hashing a string literal versus keccak256 hashing a string memory variable is still returning different results in Monax... we tested using compiler v 0.4.4 where we get expected hashed output on Remix but different value calling the function on Burrow ............ is there a known workaround in Burrow... some known padding to make it the same as the string literal

stingley (Fri, 13 Oct 2017 06:57:45 GMT):
keccak256 hashing a string literal versus keccak256 hashing a string memory variable is still returning different results in Monax... we tested using compiler v 0.4.4 where we get expected hashed output on Remix but different value calling the function on Burrow ............ is there a known workaround in Burrow... some known padding to make it the same as the string literal

stingley (Fri, 13 Oct 2017 06:57:57 GMT):
in other words, this: https://github.com/ethereum/solidity/issues/966

stingley (Fri, 13 Oct 2017 07:59:16 GMT):
@silasdavis

silasdavis (Mon, 16 Oct 2017 16:54:32 GMT):
@stingley could you provide a test case that demonstrates the issue, including what you expect the value to be? I assume that solidity compiler precomputes the value in the literal case. I'd need to take a look at the generated bytecode to understand the divergence

silasdavis (Mon, 16 Oct 2017 16:55:24 GMT):
@RobertDiebels that should be used by `monax chains start --init-dir ` as the image that will be used as the node

stingley (Tue, 17 Oct 2017 05:03:17 GMT):

keccak256_test.zip

stingley (Tue, 17 Oct 2017 05:06:44 GMT):
there is a contract with a set function and 2 get functions to show the divergence ... the Javascript file prints the 2 hashed values @silasdavis ... we figured out that 0x is being prepended in the memory case so if we add that it matches

stingley (Tue, 17 Oct 2017 05:07:36 GMT):
could be a bug in the monax contracts library? since as I said the remix compiler of the same version gives us what we expect

stingley (Tue, 17 Oct 2017 05:08:07 GMT):
also wanted to ask this channel if anyone is using burrow with either Truffle or Embark? Haven't found any of that documentation yet if it exists

robinrob (Tue, 17 Oct 2017 11:23:22 GMT):
Has joined the channel.

CryptoSha (Thu, 19 Oct 2017 18:55:42 GMT):
Has joined the channel.

mredmundto85 (Sat, 21 Oct 2017 20:43:49 GMT):
Has joined the channel.

simonmullaney (Tue, 24 Oct 2017 11:28:16 GMT):
Has joined the channel.

RobertDiebels (Wed, 25 Oct 2017 08:10:36 GMT):
@silasdavis ah thanks! I've got another question. Does a Burrow-node continue pinging it's seeds until it finds them? Or does it crash if it can't find them?

guoger (Fri, 27 Oct 2017 01:36:58 GMT):
Has joined the channel.

guoger (Fri, 27 Oct 2017 02:53:23 GMT):
hi Burrow gurus, I'm new to this project and trying to understand some background and history here, particularly I'm trying to understand the relation between Burrow, Monax, Tendermin, erid_db. IIUC, eris_db is *renamed* to Burrow, and it's using Tendermint as underlying bft consensus implementation. Is Monax a commercial distribution of Burrow? please correct me if I'm wrong. Thx!

guoger (Fri, 27 Oct 2017 02:55:28 GMT):
According to the incubation proposal: > For a bit of overall historical context on the background, goals, and learnings of where Burrow has grown out of please see this Github file. At that time we said the following: However the link there (https://github.com/eris-ltd/eris/blob/release_0.12/docs/specs/motivation.md) is broken, anybody knows where it's moved? thx

guoger (Fri, 27 Oct 2017 02:55:28 GMT):
According to the incubation proposal: > For a bit of overall historical context on the background, goals, and learnings of where Burrow has grown out of please see this Github file. At that time we said the following: However the link there (https://github.com/eris-ltd/eris/blob/release_0.12/docs/specs/motivation.md) is broken, anybody knows where it's moved? thx

RobertDiebels (Fri, 27 Oct 2017 08:08:09 GMT):
@guoger as far as I know Monax (company) originally started under the name of Eris. Burrow was first called ErisDB, MonaxDB and then Burrow when it was moved to the Hyperledger project.

guoger (Fri, 27 Oct 2017 08:32:57 GMT):
@RobertDiebels thanks! so what's the relation between Monax(the project https://github.com/monax/monax/) and Burrow?

RobertDiebels (Fri, 27 Oct 2017 08:33:48 GMT):
Clones I believe.

RobertDiebels (Fri, 27 Oct 2017 08:33:55 GMT):
Or mirrors.

guoger (Fri, 27 Oct 2017 08:36:28 GMT):
the structure looks quite different tho... I'm trying to follow getting-started tutorial https://monax.io/docs/getting-started/, and one of the container it starts actually executes `burrow serve`. So I guess `Monax` is somehow a wrapper/set of tooling to interact with `Burrow`?

RobertDiebels (Fri, 27 Oct 2017 08:37:58 GMT):
Yes the CLI is.

RobertDiebels (Fri, 27 Oct 2017 08:38:08 GMT):
It generates the configuration for a Burrow node

guoger (Fri, 27 Oct 2017 08:42:33 GMT):
is Monax is simply a cli tool to interact with Burrow, why isn't it included in Burrow then?

RobertDiebels (Fri, 27 Oct 2017 08:44:28 GMT):
That's not a question I can answer

RobertDiebels (Fri, 27 Oct 2017 08:44:51 GMT):
I only know that the CLI to generate Burrow config is named `monax`

guoger (Fri, 27 Oct 2017 08:48:27 GMT):
That's good enough! thank you sir! I feel `Monax` as a project also comes with some other tools, e.g. `monax-keys`, `compilers` etc that are necessary to build a `Burrow` network and application on top of it.

RobertDiebels (Fri, 27 Oct 2017 08:49:47 GMT):
Yes correct.

RobertDiebels (Fri, 27 Oct 2017 08:50:24 GMT):
By my knowledge those are used as part of the configuration generation. What they do exactly I don't know.

RobertDiebels (Fri, 27 Oct 2017 08:50:49 GMT):
I might not be correct though. Someone from the Burrow team could shed more light on that.

guoger (Fri, 27 Oct 2017 08:51:29 GMT):
Thx a lot!

nicolapaoli (Mon, 30 Oct 2017 16:08:34 GMT):
Has joined the channel.

silasdavis (Thu, 02 Nov 2017 10:14:03 GMT):
@RobertDiebels thanks for fielding these questions!

silasdavis (Thu, 02 Nov 2017 10:14:27 GMT):
@guoger You might find that my recent post to the Hyperledger TSC is useful: https://lists.hyperledger.org/pipermail/hyperledger-tsc/2017-October/001163.html

silasdavis (Thu, 02 Nov 2017 10:14:55 GMT):
it describes some refactoring work I am just coming to the end of now, some of the history, and future plans

RobertDiebels (Thu, 02 Nov 2017 10:15:15 GMT):
No problem :D

silasdavis (Thu, 02 Nov 2017 10:16:05 GMT):
@guoger Monax (formerly Eris) is the company behind Burrow (formerly eris-db) and monax (formerly eris) is the command line developer tooling suite

silasdavis (Thu, 02 Nov 2017 10:17:19 GMT):
The supporting services/projects of keys/compilers (no longer needed)/legacy-contracts.js/legacy.db are not strictly necessary to run a Burrow chain

silasdavis (Thu, 02 Nov 2017 10:17:43 GMT):
but in reality they soft dependencies

silasdavis (Thu, 02 Nov 2017 10:17:43 GMT):
but in reality they are soft dependencies

silasdavis (Thu, 02 Nov 2017 10:18:20 GMT):
you could generate the necessary config, provide a keys endpoint (which is want you are supposed to do in production)

silasdavis (Thu, 02 Nov 2017 10:18:20 GMT):
you could generate the necessary config, provide a keys endpoint (which is want you are supposed to do in production) and talk to our RPC layers directly if you wanted

silasdavis (Thu, 02 Nov 2017 10:18:53 GMT):
but you'd have to read the Burrow code and sample files to do this (not impossible, and I think @RobertDiebels runs things 'from scratch')

silasdavis (Thu, 02 Nov 2017 10:19:07 GMT):
the monax tool makes heavy use of docker

silasdavis (Thu, 02 Nov 2017 10:19:21 GMT):
which gives some nice developer experience benefits, but does obscure certain things

silasdavis (Thu, 02 Nov 2017 10:19:50 GMT):
Also we have some core functionality in the sub-command `monax pkgs do` which is really the only way to deploy contracts to Burrow

silasdavis (Thu, 02 Nov 2017 10:20:37 GMT):
You should read my TSC post to understand more, but I am working on a more 'batteries included' experience with just Burrow, and to reduce our maintenance overhead

silasdavis (Thu, 02 Nov 2017 10:21:14 GMT):
the monax tooling provides some uniquely useful stuff, but the coupling between it and Burrow currently is not ideal, and we would really need some assistance from the community to maintain some of the features

silasdavis (Thu, 02 Nov 2017 10:23:07 GMT):
One key way to make Burrow more standalone is to provide a web3 RPC layer (so Ethereum tooling will work with Burrow out of the box), and that is on the roadmap - the first step of which - unifying our RPC logic I have done on my branch here, with this service: https://github.com/silasdavis/burrow/blob/bosmarmot/rpc/service.go which I intend to use as the basis for implementing a web3 interface

RobertDiebels (Thu, 02 Nov 2017 14:44:49 GMT):
@silasdavis yea I use the RPC layer. Btw could you take a look at my previous question?

chokha (Fri, 03 Nov 2017 06:26:29 GMT):
Has joined the channel.

sidhujag (Fri, 03 Nov 2017 16:30:26 GMT):
Has joined the channel.

sidhujag (Fri, 03 Nov 2017 16:31:22 GMT):
Hey guys just a quick question.. where do the EVM smart contracts live? is there a scaling plan where the contracts can live on the cloud as opposed to the blockchain and anchored onto the chain? since its permissioned does that mean that data does not necessarily have to be onchain and can be offchain?

miguelcalero (Sun, 05 Nov 2017 21:43:58 GMT):
Has joined the channel.

grkvlt (Tue, 07 Nov 2017 13:37:05 GMT):
Has joined the channel.

shaneG (Tue, 07 Nov 2017 21:26:25 GMT):
Has joined the channel.

shaneG (Tue, 07 Nov 2017 21:39:22 GMT):
@silasdavis Hey! I'm using the npm package @Monax/Legacy-contracts to interact with my Monax 17 deployed contracts and i seem to be having an issue when calling the 'selfdestruct(address)' method in solidity 0.4.4. when calling my method, kill(){selfdestruct([msg.sender | tx.origin | 0x0...]);//i use one of those}, I receive a ''transact and hold" error. what is very odd to me is that every time this happens my chain breaks. Have you ever heard of something like this happening before?

shaneG (Tue, 07 Nov 2017 21:40:20 GMT):
have also tried selfdestruct(this)

john111 (Wed, 08 Nov 2017 05:36:52 GMT):
Has joined the channel.

guoger (Wed, 08 Nov 2017 06:59:23 GMT):
I'm trying to follow the [getting started guide](https://monax.io/docs/getting-started/) and got a problem. Essentially what I did is: ``` $ monax chains make firstchain --account-types=Root:2,Full:1 --unsafe $ monax chains start firstchain --init-dir $chain_dir_this $ monax pkgs do --chain firstchain --address $addr ``` The output of `monax ls` is: ``` SERVICE ON VERSION compilers * 0.18.0 keys * 0.17.0 CHAIN ON VERSION firstchain * 0.17.0 ``` However, the `epm.output.json` only contains: ``` { "assertStorage": "", "defaultAddr": "92D306F1E82E3C16F9CB513402D6A49D38CB2C8A", "deployStorageK": "", "queryStorage": "", "setStorage": "", "setStorageBase": "" }% ``` Whereas I'm expecting tx hash, addr of deployment, per statement in that guide: > You should see the output in jobs_output.json which will have the transaction hash of the transactions as well as the address of the deployed idi.sol contract. Your help is appreciated!

guoger (Wed, 08 Nov 2017 07:00:25 GMT):
@silasdavis thank you so much for the response earlier, appreciated!

Southside (Wed, 08 Nov 2017 14:33:55 GMT):
Has joined the channel.

kelly_ (Wed, 08 Nov 2017 17:14:51 GMT):
@silasdavis do you know if burrow conforms to this API - https://github.com/ethereum/EIPs/issues/56

shaneG (Wed, 08 Nov 2017 20:50:10 GMT):
@silasdavis do you know if monax is compatible with web3? a.k.a if i have deployed a contract using monax, can i use web3 to communicate with it?

srongzhe (Thu, 09 Nov 2017 03:52:32 GMT):
Has joined the channel.

Jimskie (Thu, 09 Nov 2017 23:21:30 GMT):
Has joined the channel.

mastreips (Fri, 10 Nov 2017 18:24:41 GMT):
Has joined the channel.

denis4net (Sat, 11 Nov 2017 23:22:37 GMT):
Does anyone know what is difference between Burrow and Ethermint?

Russell-Columbia (Sat, 11 Nov 2017 23:29:34 GMT):
Has joined the channel.

denis4net (Sun, 12 Nov 2017 16:37:44 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=TNhFA5khJzwhitAYN) @shaneG

denis4net (Sun, 12 Nov 2017 16:37:44 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=TNhFA5khJzwhitAYN) @shaneG @silasdavis pointed me (https://chat.hyperledger.org/channel/burrow?msg=sHkboeWGZz6SYMz48) that he works on it, but still APIs are not compatible. I read that etheremint is compatible with geth api.

HoangLong (Mon, 13 Nov 2017 17:46:11 GMT):
Has joined the channel.

myin2000 (Mon, 13 Nov 2017 21:35:37 GMT):
Has joined the channel.

silasdavis (Thu, 16 Nov 2017 15:54:26 GMT):
@guoger regarding the documentation claiming you will see transaction hashes then that looks like it is out of date. I for the epm.output.json: ``` { "assertStorage": "passed", "defaultAddr": "AE930451D830D456C80A14ED4DF6B20582578B1D", "deployStorageK": "9C79F0654D7631ED7293A320A5A586DBC3C5C121", "queryStorage": "17", "setStorage": "" } ``` Where the deployStorageK value is the address of the idi contract

silasdavis (Thu, 16 Nov 2017 15:55:11 GMT):
I'm really sorry but I don't have any time to dig in support our monax tool other than to say it should work and does for me.

silasdavis (Thu, 16 Nov 2017 15:56:10 GMT):
@shaneG We are not web3 compatible, this is something that is planned and I am expecting to get multiple development resources to help do this. Another place to look is with the sawtooth lake team of have integrated (a slightly older) version of the burrow EVM and have an experimental web3 client.

silasdavis (Thu, 16 Nov 2017 15:56:48 GMT):
This might help with where I am at: https://lists.hyperledger.org/pipermail/hyperledger-tsc/2017-October/001163.html

silasdavis (Thu, 16 Nov 2017 15:58:25 GMT):
Burrow is a state of flux, but I think there is a lot of promise and willing from the Hyperledger community to give us some momentum. But I'm afraid for now you would need to deploy using the Monax tool or our APIs directly. We are aiming for web3 compatibility and to maintain a subset of our tooling. But my priority now is working the Burrow's EVM and the current refactor which i hope to have a version to develop the end of next week

silasdavis (Thu, 16 Nov 2017 16:00:40 GMT):
@kelly_ the link you posted looks like an idea to provide a better ABI for certain purposes. This is the metadata that tells you how to formulate EVM code to call functions deployed with a language like solidity. This is handled a layer below Burrow, which is not ABI-aware it just runs EVM code. The monax tool uses the existing ethereum ABI code to do that work when formulating transactions. So the answer is 'no', but also perhaps the question doesn't quite apply to Burrow ;)

silasdavis (Thu, 16 Nov 2017 16:01:22 GMT):
@denis4net ethermint is a bolt-on of Tendermint to go-ethereum. It uses go-ethereum's GPL licensed EVM implementation

silasdavis (Thu, 16 Nov 2017 16:01:47 GMT):
Burrow has its own implementation of the EVM which is simpler than go-ethereum in some ways and licensed under Apache

silasdavis (Thu, 16 Nov 2017 16:02:24 GMT):
the vision for Burrow is to be a fast single process Tendermint + liberally licensed EVM on the one hand, and a good EVM library on the other hand for integration with other platforms

silasdavis (Thu, 16 Nov 2017 16:02:49 GMT):
Burrow also has native permissioning deeply hooked into the EVM and a functionality for calling native code called SNatives

silasdavis (Thu, 16 Nov 2017 16:03:44 GMT):
I want to make Burrow a lean library for running EVM code with extensibility for permissioned/enterprise use cases

silasdavis (Thu, 16 Nov 2017 16:04:27 GMT):
that also happens to have a standalone mode where it operates as a full stack blockchain on its own using Tendermint if you don't need the flexibility of Sawtooth or Fabric

denofernandes (Thu, 16 Nov 2017 16:31:24 GMT):
Has joined the channel.

czarx (Fri, 17 Nov 2017 04:20:35 GMT):
Has joined the channel.

SupriyaMudaliar (Fri, 17 Nov 2017 11:56:44 GMT):
Has joined the channel.

iwanbk (Sat, 18 Nov 2017 04:28:59 GMT):
Has joined the channel.

Infodataway (Sat, 18 Nov 2017 10:34:34 GMT):
Has joined the channel.

saadmir (Mon, 20 Nov 2017 02:54:36 GMT):
Has joined the channel.

Riussi (Mon, 20 Nov 2017 08:50:37 GMT):
Has joined the channel.

robertdavid010 (Mon, 27 Nov 2017 14:02:38 GMT):
Has joined the channel.

robertdavid010 (Mon, 27 Nov 2017 14:04:02 GMT):
@denis4net would like to work on deploying burrow without monax, on base install of core client. Does documentation for doing this exist?

silasdavis (Mon, 27 Nov 2017 14:46:02 GMT):
@robertdavid010 I have some code that I am using while I am running the integration tests for Burrow that will help with deploying Burrow here: https://github.com/hyperledger/burrow/pull/657

silasdavis (Mon, 27 Nov 2017 14:47:40 GMT):
in particular: https://github.com/hyperledger/burrow/blob/hypermarmot/genesis/spec/genesis_spec.go

silasdavis (Mon, 27 Nov 2017 14:48:19 GMT):
provides a way of describing a template GenesisDoc (and so GenesisState) and a new 'configure' command will convert that to a Burrow configuration generating keys along the way

silasdavis (Mon, 27 Nov 2017 14:48:48 GMT):
It has a dependency on running a keys service, our version of which is is still bound up with the monax tooling

silasdavis (Mon, 27 Nov 2017 14:49:45 GMT):
but just so you are aware, this should be helpful, though the current 'burrow serve' will work standalone with the appropriate genesis.json and priv_validator.json

silasdavis (Mon, 27 Nov 2017 14:50:30 GMT):
The upcoming version will no longer reads private keys directly from the filesystem but uses the monax-keys interface for signing

silasdavis (Mon, 27 Nov 2017 14:51:04 GMT):
Here's an example one-liner that create a chain template, configures it, and runs Burrow: `burrow spec --participant-accounts 2 --full-accounts 1 | burrow configure --genesis-spec=- --validator-index 0 | burrow -c-`

silasdavis (Mon, 27 Nov 2017 14:56:22 GMT):
Though I'm afraid this version is still a work-in-progress and requires an updated version of monax pkgs do or monax/legacy-contracts.js to deploy contracts

robertdavid010 (Mon, 27 Nov 2017 18:37:13 GMT):
thank you

robertdavid010 (Mon, 27 Nov 2017 18:38:43 GMT):
I may just start digging in and work up my own ad hoc deploy....

robertdavid010 (Mon, 27 Nov 2017 18:38:49 GMT):
not sure how much work it would be

heath (Tue, 28 Nov 2017 06:27:50 GMT):
Has joined the channel.

iamprem (Thu, 30 Nov 2017 21:53:43 GMT):
Has joined the channel.

guoger (Fri, 01 Dec 2017 08:03:07 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=ugSjDJHwFPRNzTHPd) @silasdavis I got some time today and looked into this problem. The [doc](https://monax.io/docs/deploying-advanced-smart-contracts-to-a-chain/) needs to be updated. `set`, `deploy` etc should be top-level fields, instead of being nested in `job`. So `epm.yaml` should be: ``` jobs: - name: deployGSFactory job: deploy: contract: GSFactory.sol instance: all - name: createGSContract job: call: destination: $deployGSFactory data: create abi: GSFactory - name: getGSAddr job: query-contract: destination: $deployGSFactory data: getLast abi: $deployGSFactory - name: assertAddr job: assert: key: $getGSAddr relation: eq val: $createGSContract - name: setStorage job: call: destination: $createGSContract data: set $setStorageBase abi: GSContract - name: queryStorage job: query-contract: destination: $createGSContract data: get abi: GSContract - name: assertStorage job: assert: key: $queryStorage relation: eq val: $setStorageBase ``` I've confirmed that it works as expected with this modification

guoger (Fri, 01 Dec 2017 08:03:07 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=ugSjDJHwFPRNzTHPd) @silasdavis I got some time today and looked into this problem. The [doc](https://monax.io/docs/deploying-advanced-smart-contracts-to-a-chain/) needs to be updated. `set`, `deploy` etc should be top-level fields, instead of being nested in `job`. So `epm.yaml` should be: ``` jobs: - name: setStorageBase set: val: 5 - name: deployStorageK deploy: contract: idi.sol - name: setStorage call: destination: $deployStorageK data: set $setStorageBase - name: queryStorage query-contract: destination: $deployStorageK data: get - name: assertStorage assert: key: $queryStorage relation: eq val: $setStorageBase ``` I've confirmed that it works as expected with this modification

guoger (Fri, 01 Dec 2017 08:15:28 GMT):
@silasdavis another question, I'm trying to look at burrow container log, but it seems to be fairly bloated with tendermint log where blocks are cut periodically (~ every second). How can I slow that down so I could focus on logs i'm interested

guoger (Fri, 01 Dec 2017 08:15:28 GMT):
@silasdavis another question, I'm trying to look at burrow container log, but it seems to be fairly bloated with tendermint log where blocks are cut periodically (~ every second). How can I slow that down so I could focus on logs i'm interested. Also, how to turn on EVM log?

guoger (Fri, 01 Dec 2017 08:15:29 GMT):
thx

PetrVlasekCA (Fri, 01 Dec 2017 13:06:42 GMT):
Has joined the channel.

silasdavis (Fri, 01 Dec 2017 13:55:10 GMT):
In current version of burrow pass `--debug` to `burrow serve` to get the EVM log, in the next version that will be absorbed into logging

silasdavis (Fri, 01 Dec 2017 13:55:10 GMT):
In current version of burrow pass `--debug` to `burrow serve` to get the EVM log printed to stdout, in the next version that will be absorbed into the main logging as a 'trace' message

silasdavis (Fri, 01 Dec 2017 13:56:42 GMT):
@guoger

silasdavis (Fri, 01 Dec 2017 13:59:18 GMT):
The logging config provides a fairly powerful way to arbitrarily filter or annotate logs, but is not terribly well documented at the moment, and really needs a mechanism for spitting out presets to use as a basis to write a config to your needs

silasdavis (Fri, 01 Dec 2017 14:00:19 GMT):
However in the meantime there is a little introduction here: https://github.com/hyperledger/burrow/blob/master/config/templates.go#L298-L324 and there is a stub command you could edit to your needs here that will help you generate logging config: https://github.com/hyperledger/burrow/blob/master/util/logging/cmd/main.go

silasdavis (Fri, 01 Dec 2017 14:01:25 GMT):
that little command line app is using a sort of fluent logging sink interfaces so if you have auto-completion in a Go editor or IDE you should find it fairly discoverable

silasdavis (Fri, 01 Dec 2017 14:01:55 GMT):
the example there shows you how to build a filter

silasdavis (Fri, 01 Dec 2017 14:03:23 GMT):
Unfortunately TOML is not a particularly nice language for writing down recursive data structures, but here is what it would look like: ``` [logging] [logging.root_sink] [[logging.root_sink.sinks]] [logging.root_sink.sinks.output] output_type = "stderr" [[logging.root_sink.sinks]] [logging.root_sink.sinks.transform] transform_type = "filter" filter_mode = "exclude_when_all_match" [[logging.root_sink.sinks.transform.predicates]] key_regex = "module" value_regex = "p2p" [[logging.root_sink.sinks.transform.predicates]] key_regex = "captured_logging_source" value_regex = "tendermint_log15" [[logging.root_sink.sinks.sinks]] [logging.root_sink.sinks.sinks.output] output_type = "syslog" url = "" tag = "Burrow-network" [[logging.root_sink.sinks.sinks]] [logging.root_sink.sinks.sinks.output] output_type = "file" path = "/var/log/burrow-network.log" ```

silasdavis (Fri, 01 Dec 2017 14:03:35 GMT):
just put something like that in your config.toml

silasdavis (Fri, 01 Dec 2017 14:05:13 GMT):
Regarding docs, thanks for finding that, we don't really have the time to maintain those tutorials, but we need to have clear specs in against our tooling

silasdavis (Fri, 01 Dec 2017 14:05:24 GMT):
You can read about what I'm planning to do to fix this here: https://wiki.hyperledger.org/projects/burrow/roadmap_2018_q1

silasdavis (Fri, 01 Dec 2017 14:05:24 GMT):
You can read about what I'm doing to fix this here: https://wiki.hyperledger.org/projects/burrow/roadmap_2018_q1

silasdavis (Fri, 01 Dec 2017 14:09:06 GMT):
If you feel like making a PR to correct that file: https://github.com/monax/monax/blob/master/docs/contracts_deploying_adv/epm.yaml then it would be much appreciatd

silasdavis (Fri, 01 Dec 2017 14:09:06 GMT):
If you feel like making a PR to correct that file: https://github.com/monax/monax/blob/master/docs/contracts_deploying_adv/epm.yaml then it would be much appreciated

guoger (Mon, 04 Dec 2017 03:05:13 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=ozEzxXQTAbR6CAQBM) @silasdavis created PR https://github.com/monax/monax/pull/1440

Luker501 (Mon, 04 Dec 2017 09:00:16 GMT):
Has joined the channel.

Luker501 (Mon, 04 Dec 2017 09:01:07 GMT):
Hello all. Thought I joined a couple of weeks ago but forgot to click on the join button for this channel :-/ anyway I'm here to learn :grinning:

abutler (Mon, 04 Dec 2017 11:56:47 GMT):
Has joined the channel.

finterran (Tue, 05 Dec 2017 01:19:20 GMT):
Has joined the channel.

finterran (Tue, 05 Dec 2017 01:57:45 GMT):
Greetings all! Happy to be apart of the community and contribute where I can!

finterran (Tue, 05 Dec 2017 01:57:45 GMT):
Greetings all! Happy to be a part of the community and contribute where I can!

bird_alone (Tue, 05 Dec 2017 04:42:39 GMT):
Has joined the channel.

silasdavis (Tue, 05 Dec 2017 15:58:32 GMT):
Hi there, what is your particular interest in Burrow?

SomaNayak (Wed, 06 Dec 2017 18:02:57 GMT):
Has joined the channel.

bzeyben (Thu, 07 Dec 2017 18:16:39 GMT):
Has joined the channel.

finterran (Fri, 08 Dec 2017 00:56:03 GMT):
Looking to use burrow as a test-bed for a project. I'm quite fond of the modularity the Tendermint engine provides, and I think is is really great what you guys have done with it in the Burrow project (as well as the Monax configuration and deployment tool set)!

finterran (Fri, 08 Dec 2017 00:56:03 GMT):
Looking to use burrow as a test-bed for a project. I'm quite fond of the modularity the Tendermint engine provides, and I think it is really great what you guys have done with it in the Burrow project (as well as the Monax configuration and deployment tool set)!

finterran (Fri, 08 Dec 2017 00:56:52 GMT):
:thumbsup:

Chaoz (Fri, 08 Dec 2017 02:55:59 GMT):
is it possible to setup nodes behind a firewall? inside a VM?

Soundharya (Fri, 08 Dec 2017 05:27:08 GMT):
Has joined the channel.

dharuq (Sat, 09 Dec 2017 19:37:20 GMT):
Has joined the channel.

FrancisKabu (Sun, 10 Dec 2017 22:16:46 GMT):
Has joined the channel.

AYOUB_HAMIDI (Tue, 12 Dec 2017 12:24:08 GMT):
hi everybody, i have an issue in starting monax *root @ abb-HP-ProDesk-400-G1-SFF: ~ # sudo apt-get update & sudo apt-get install monax Received from: 1 http://security.ubuntu.com/ubuntu xenial-security InRelease [102 kB] Reached: 2 http://ppa.launchpad.net/yannubuntu/boot-repair/ubuntu xenial InRelease Reached: 3 http://ma.archive.ubuntu.com/ubuntu xenial InRelease Received from: 4 http://ma.archive.ubuntu.com/ubuntu xenial-updates InRelease [102 kB] Achieved: 5 https://download.docker.com/linux/ubuntu xenial InRelease Achieved: 6 https://pkgs.monax.io/apt xenial InRelease Received from: 7 http://ma.archive.ubuntu.com/ubuntu xenial-backports InRelease [102 kB] 306 kb received in 0s (501 kb / s) Reading package lists ... Done Reading package lists ... Done Building the dependency tree Reading status information ... Done monax is already the newest version (0.18.0-1). You can run "apt-get -f install" to fix these problems: The following packages contain unmet dependencies: rocketchat: Depends: libappindicator1 but will not be installed E: Dependencies not satisfied. Try "apt-get -f install" without package (or indicate a solution). root @ abb-HP-ProDesk-400-G1-SFF: ~ # monax init The command "monax" was not found, did you mean: The "mona" command of the "mona" (universe) package monax: command not found * any idea please i tried the solution proposed in the "Tutorials | Trouble Shooting Your Installation" page 'https://monax.io/docs/install-troubleshooting/' & didn't work for me !

Metis (Wed, 13 Dec 2017 09:03:13 GMT):
Has joined the channel.

silasdavis (Wed, 13 Dec 2017 14:13:57 GMT):
@AYOUB_HAMIDI I suggest you install directly from the monax repo: https://github.com/monax/monax

silasdavis (Wed, 13 Dec 2017 14:14:13 GMT):
i.e. ``` go get github.com/monax/monax/cmd/monax monax init ```

silasdavis (Wed, 13 Dec 2017 14:14:13 GMT):
i.e. ``` go get github.com/monax/monax/cmd/monax monax init ```

iago001 (Sat, 16 Dec 2017 14:10:22 GMT):
Has joined the channel.

b9lab-damien (Sat, 16 Dec 2017 22:44:28 GMT):
Has joined the channel.

muasif80 (Tue, 19 Dec 2017 14:49:28 GMT):
Has joined the channel.

muasif80 (Tue, 19 Dec 2017 14:49:50 GMT):
hi is burrow alternative to ethereum

tkuhrt (Tue, 19 Dec 2017 18:37:00 GMT):
From https://github.com/hyperledger/burrow/blob/master/README.md: Hyperledger Burrow is a permissioned Ethereum smart-contract blockchain node. It executes Ethereum smart contract code on a permissioned virtual machine. Burrow provides transaction finality and high transaction throughput on a proof-of-stake Tendermint consensus engine.

tkuhrt (Tue, 19 Dec 2017 20:51:49 GMT):
silasdavis

PabloBascunana (Wed, 20 Dec 2017 08:49:14 GMT):
Has joined the channel.

rohanagarwal (Mon, 25 Dec 2017 21:30:42 GMT):
Has joined the channel.

SaiChaitanya (Tue, 26 Dec 2017 02:13:53 GMT):
Has joined the channel.

SaiChaitanya (Tue, 26 Dec 2017 02:15:08 GMT):
hi, marmot (slack) and support.monax.io return 404 errors?

davux (Tue, 26 Dec 2017 19:38:21 GMT):
Has joined the channel.

fabcan (Thu, 28 Dec 2017 08:19:13 GMT):
@SaiChaitanya As far as I know all burrows support has moved to this rocketchat, Monax offers instead a premium support package to this url: https://monax.io/packages/ . @silasdavis , anything to add?

tommling (Thu, 28 Dec 2017 18:39:23 GMT):
Has joined the channel.

tommling (Thu, 28 Dec 2017 18:43:26 GMT):
Hi all, happy holidays. I am exploring Burrow / Seth at the moment and I am having a little trouble building burrow from source. Glide keeps prompting me for my github information when fetching the tendermint/go-clist package. It appears that this package may have been moved to ```https://github.com/tendermint/tmlibs/tree/master/clist```

tommling (Thu, 28 Dec 2017 18:43:26 GMT):
Hi all, happy holidays. I am exploring Burrow / Seth at the moment and I am having a little trouble building burrow from source. Glide keeps prompting me for my github information when fetching the tendermint/go-clist package. It appears that this package may have been moved to https://github.com/tendermint/tmlibs/tree/master/clist

tommling (Thu, 28 Dec 2017 18:43:46 GMT):
err, at least tendermint/tmlibs/go-clist

tommling (Thu, 28 Dec 2017 18:43:46 GMT):
err, at least https://github.com/tendermint/tmlibs/go-clist

tommling (Thu, 28 Dec 2017 18:43:46 GMT):
err, at least `/tendermint/tmlibs/go-clist`

compleatang (Fri, 29 Dec 2017 10:06:11 GMT):
Hi @tommling you'll need to edit glide.yaml. We'd love a pull request so this doesn't catch others.

compleatang (Fri, 29 Dec 2017 10:07:24 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=wo7bvtigLq3gddDo7) @SaiChaitanya Yes those channels are dead. We've moved to purely using this chat and github issues.

tommling (Fri, 29 Dec 2017 16:58:53 GMT):
No worries, I will set up a request. THanks

tommling (Fri, 29 Dec 2017 18:33:04 GMT):
Hey @compleatang , I made an issue and a PR (issue #660)

tommling (Fri, 29 Dec 2017 18:33:45 GMT):
It seems that this is more of a problem with v0.9.2 of tendermint, which in a sanity test I tried installing in isolation and I hit the same error

compleatang (Fri, 29 Dec 2017 18:40:24 GMT):
Could be. It was around then that they were moving around a bunch of pkgs IIRC. Silas has a tmint upgrade in the works AFAIK.

compleatang (Fri, 29 Dec 2017 18:40:32 GMT):
Thanks for the pr!

tommling (Fri, 29 Dec 2017 18:43:26 GMT):
Yeah, i think its moot

tommling (Fri, 29 Dec 2017 18:43:40 GMT):
I was about to propose a new tmint version would be the most elegant fix

SearchCommander (Fri, 29 Dec 2017 20:14:20 GMT):
Has joined the channel.

elias_p (Sat, 30 Dec 2017 10:29:19 GMT):
Has joined the channel.

silasdavis (Sat, 30 Dec 2017 17:42:10 GMT):
Thanks @fabcan, @SaiChaitanya this is the place to come for Burrow help now.

silasdavis (Sat, 30 Dec 2017 17:42:10 GMT):
@tommling I have upgraded the development branch of Burrow to Tendermint v0.12.0. I'll take another pass before release and upgrade us to at least v0.15.0

marc0o (Sat, 30 Dec 2017 19:31:15 GMT):
Has joined the channel.

tommling (Mon, 01 Jan 2018 15:07:44 GMT):
Awesome, I will try and build from the dev instead of master

tommling (Mon, 01 Jan 2018 15:07:51 GMT):
thanks @silasdavis

tommling (Mon, 01 Jan 2018 15:07:57 GMT):
Happy newyears all!

silasdavis (Tue, 02 Jan 2018 10:48:08 GMT):
@tommling you will be able to build master with `make install_vendor && make build` - we have been using glide for dependency management so our dependencies are not checked in

silasdavis (Tue, 02 Jan 2018 10:48:32 GMT):
the development branch I am referring to is 'hypermarmot' not 'develop', for now I would recommend sticking with master

Rishabh-Sharma (Sun, 07 Jan 2018 06:02:59 GMT):
Has joined the channel.

tommling (Tue, 09 Jan 2018 16:08:36 GMT):
=]

KurtRudolph (Tue, 09 Jan 2018 23:51:19 GMT):
Has joined the channel.

analog76 (Tue, 16 Jan 2018 08:46:15 GMT):
Has joined the channel.

nicholas (Wed, 17 Jan 2018 16:49:14 GMT):
Has joined the channel.

bigmoby (Wed, 17 Jan 2018 17:06:47 GMT):
Has joined the channel.

erikpupo (Wed, 17 Jan 2018 23:22:05 GMT):
Has joined the channel.

williamremor (Thu, 18 Jan 2018 04:03:50 GMT):
Has joined the channel.

stingley (Thu, 18 Jan 2018 14:38:13 GMT):
Hey @silasdavis, was there ever an effort to integrate burrow chains in trufffle environments? I thought way back when Monax was Eris I saw something on the Truffle docs but its escaping me

B2BProgrammer (Fri, 19 Jan 2018 09:38:31 GMT):
Has joined the channel.

pouladzade (Mon, 22 Jan 2018 06:54:05 GMT):
Has joined the channel.

prithveesh (Mon, 22 Jan 2018 11:43:55 GMT):
Has joined the channel.

bhavneesh (Mon, 22 Jan 2018 17:16:12 GMT):
Has joined the channel.

bhavneesh (Mon, 22 Jan 2018 17:16:15 GMT):
Developers needed; https://paeanproject.org Email me at bhavneesh@vasudacapitalmanagement.com

Ishee (Tue, 23 Jan 2018 10:30:47 GMT):
Has joined the channel.

Ishee (Tue, 23 Jan 2018 10:30:50 GMT):
Can we use hyperledger and Ethereum together?

fedealconada (Tue, 23 Jan 2018 18:40:15 GMT):
Has joined the channel.

fedealconada (Tue, 23 Jan 2018 18:54:03 GMT):
HI all, I'm trying to install Burrow but I'm gettin the error mentioned in PR (issue #660). I've already checkout out that branch and tried `glide install` it runs okay. But now, I'm having problems again related to`go-clist` when i run `go install` inside `cmd/burrow/` directory... Any ideas?

silasdavis (Tue, 23 Jan 2018 19:22:00 GMT):
bhavneesh

silasdavis (Tue, 23 Jan 2018 19:22:04 GMT):
User User_1 removed by silasdavis.

mohit.sharma (Wed, 24 Jan 2018 10:15:08 GMT):
Has joined the channel.

mohit.sharma (Wed, 24 Jan 2018 10:18:54 GMT):
Hi All, I am unable to install hyperledger burrow on my ubuntu 16.04 machine, please help? I followed the instruction given in the official site but it didn't worked!!

mohit.sharma (Wed, 24 Jan 2018 10:19:23 GMT):

errorMessage.png

silasdavis (Wed, 24 Jan 2018 11:26:32 GMT):
@fedealconada, @mohit.sharma, @tommling was good enough to report and make a PR for this bug - there are a couple of issues with it, but I'll take the time now to make a hotfix

fedealconada (Wed, 24 Jan 2018 11:51:16 GMT):
so, what can I do then? there is no solution at the moment?

fedealconada (Wed, 24 Jan 2018 12:02:59 GMT):
i'll check your new PR @silasdavis :)

silasdavis (Wed, 24 Jan 2018 12:07:47 GMT):
Just getting tests passing... but this fixes the issue: https://github.com/hyperledger/burrow/pull/672

silasdavis (Wed, 24 Jan 2018 12:08:13 GMT):
bit of a WTF from our friends at Tendermint who have broken their own released build by permanently deleting a repository, which didn't need to happen

silasdavis (Wed, 24 Jan 2018 12:08:13 GMT):
bit of a WTF from our friends at Tendermint who have broken one of their own previous releases by permanently deleting a repository, which didn't need to happen

silasdavis (Wed, 24 Jan 2018 12:08:18 GMT):
but c'est la vie

silasdavis (Wed, 24 Jan 2018 12:09:03 GMT):
This won't be an issue going forward as we are vendoring deps as I mention in that hotfix PR

fedealconada (Wed, 24 Jan 2018 12:17:55 GMT):
great, i've just checked it out, but i'm getting another error when doing `go install`

fedealconada (Wed, 24 Jan 2018 12:18:02 GMT):
``` ../../vendor/golang.org/x/net/trace/trace.go:67:2: cannot find package "context" in any of: /home/fedealconada/go/src/github.com/hyperledger/burrow/vendor/context (vendor tree) /usr/lib/go-1.6/src/context (from $GOROOT) /home/fedealconada/go/src/context (from $GOPATH) ```

silasdavis (Wed, 24 Jan 2018 12:30:33 GMT):
That'll be your go version I think

silasdavis (Wed, 24 Jan 2018 12:31:14 GMT):
You need >= go 1.7: https://golang.org/doc/go1.7

silasdavis (Wed, 24 Jan 2018 12:31:24 GMT):
where context was moved to stdlib

fedealconada (Wed, 24 Jan 2018 19:25:59 GMT):
thanks @silasdavis, it worked

fedealconada (Wed, 24 Jan 2018 19:27:39 GMT):
i have a new question

fedealconada (Wed, 24 Jan 2018 19:27:51 GMT):
_, where the chain directory needs to contain the configuration, genesis file, and private validator file as generated by monax chains make_

fedealconada (Wed, 24 Jan 2018 19:28:06 GMT):
is there any example for that?

AlanDickman (Wed, 24 Jan 2018 19:44:17 GMT):
Has joined the channel.

reyaansh (Thu, 25 Jan 2018 11:55:23 GMT):
Has joined the channel.

fedealconada (Fri, 26 Jan 2018 12:02:01 GMT):
is it possible to have a light weight client node? Because if I want to develop a dapp, I would like to interact with the light node...

silasdavis (Fri, 26 Jan 2018 12:40:19 GMT):
This is something I would like to provide. Tendermint has a proof-of-concept for this here: https://github.com/tendermint/tendermint/tree/master/lite

silasdavis (Fri, 26 Jan 2018 12:40:38 GMT):
however we use Tendermint in a more tightly bound way than via its RPC

silasdavis (Fri, 26 Jan 2018 12:44:59 GMT):
What we generally do now is talk to a trusted full node over our RPCs - so your dapp does not need to run a co-located instance (though I would like to move to this for signing purposes)

silasdavis (Fri, 26 Jan 2018 12:45:42 GMT):
I would consider a proper light client as an improvement to this with the possibility of fetching proofs from multiple validators

silasdavis (Fri, 26 Jan 2018 12:46:35 GMT):
the light client would act as a special type of cryptographically verifying RPC proxy - I think this might fit into the broader arc of work on the RPC

vinayak mahajan (Mon, 29 Jan 2018 06:20:48 GMT):
Has joined the channel.

tasmiya_n (Mon, 29 Jan 2018 12:28:30 GMT):
Has joined the channel.

fedealconada (Tue, 30 Jan 2018 15:56:02 GMT):
@silasdavis thanks! :)

mohit.sharma (Wed, 31 Jan 2018 05:58:49 GMT):
could any body suggest any link or site from where i can start hyperledger burrow from the scratch?? I am finding it bit complex to start !

ranjan008 (Wed, 31 Jan 2018 06:17:12 GMT):
Has joined the channel.

dilipsam (Wed, 31 Jan 2018 16:18:07 GMT):
Has joined the channel.

LeDang (Thu, 01 Feb 2018 04:00:10 GMT):
Has joined the channel.

JitendraKumar (Thu, 01 Feb 2018 12:08:36 GMT):
Has joined the channel.

mohit.sharma (Fri, 02 Feb 2018 09:29:39 GMT):
Hii could anybody please help, I am getting the following error *Burrow error: Call of method "toJSON" with parameters 'server' responded with "Method not found: burrow.toJSON"* while doing this `var burrowFactory = require('@monax/legacy-db'); var burrow = burrowFactory.createInstance('http://172.17.0.3:1337/rpc'); console.log(burrow);`

steveruckdashel (Fri, 02 Feb 2018 19:52:23 GMT):
Has joined the channel.

fredrbl (Sat, 03 Feb 2018 18:30:59 GMT):
Has joined the channel.

fredrbl (Sat, 03 Feb 2018 18:34:01 GMT):
Hey! I am building solidity smart contracts for buying and storing energy, and I am planning to put them on the hyperledger Burrow. However, I wonder on the scalability of Burrow. How many transactions could Burrow process every second? Assuming an average system with normal bandwidth between nodes, ca. 100 nodes and that a transaction use 21 000 gas.. Do anyone have an estimation? cheers

SamuelDare (Sun, 04 Feb 2018 13:12:30 GMT):
Has joined the channel.

SamuelDare (Sun, 04 Feb 2018 13:14:39 GMT):
Hi

SamuelDare (Sun, 04 Feb 2018 13:14:47 GMT):
Trying to install this on my macosx

SamuelDare (Sun, 04 Feb 2018 13:15:05 GMT):
``` Pros-MacBook-Pro:Code Santi$ go get -d github.com/hyperledger/burrow can't load package: package github.com/hyperledger/burrow: no Go files in /Users/pro/go/src/github.com/hyperledger/burrow ```

ajithjosek (Sun, 04 Feb 2018 20:20:09 GMT):
Has joined the channel.

eugene-babichenko (Mon, 05 Feb 2018 12:52:55 GMT):
Has joined the channel.

eugene-babichenko (Mon, 05 Feb 2018 12:54:25 GMT):
Hi, I am thinking of using Burrow in my project. One thing I am interested in: does Burrow support `block.coinbase` (I need to know the current validator) and if not, when is it going to be supported?

silasdavis (Mon, 05 Feb 2018 13:16:41 GMT):
@mohit.sharma we are in the process of refactoring some documentation. The best resource is still: https://monax.io/docs/ but there may be some out-of-date details

silasdavis (Mon, 05 Feb 2018 13:27:41 GMT):
@mohit.sharma that looks like a docker address, if you are working locally try `localhost:1337` that port should be published to host

mohit.sharma (Mon, 05 Feb 2018 13:30:50 GMT):
@silasdavis I am able to communicate with myChain through Monax CLI but unable to connect through nodejs module, can you help me out in that??

silasdavis (Mon, 05 Feb 2018 13:33:27 GMT):
@fredrbl I couldn't give you a good estimate now, other than to say it would almost certainly be network-request bound - it might be worth asking tendermint if they have data for 100 node networks - our scaling will be similar, though with that gas usage (note our gas schedule is a little different to public ethereum - mostly because we don't need to care about it much and it hasn't changed in a while) you might start to see some computational bound. These numbers are something I would be interested in myself, and when I get round to load testing our own networks will have. If you would like to run some benchmarks I can find somewhere to take them as contributions and build on in the future.

silasdavis (Mon, 05 Feb 2018 13:33:52 GMT):
@mohit.sharma they are different RPCs

silasdavis (Mon, 05 Feb 2018 13:33:58 GMT):
which version of Burrow are you using?

mohit.sharma (Mon, 05 Feb 2018 13:35:30 GMT):
@silasdavis version 0.17.1

mohit.sharma (Mon, 05 Feb 2018 13:37:46 GMT):
@silasdavis specifically i want to deply contract on burrow and also communicate with the contract as well as with the burrow server, I try to use @monax/legacy-db and @monax/legacy-contracts, but get stuck over the connection url part

silasdavis (Mon, 05 Feb 2018 13:37:49 GMT):
@eugene-babichenko as in `block.miner` in https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_getblockbyhash ?

silasdavis (Mon, 05 Feb 2018 13:39:17 GMT):
If so, then I think 'no and never' is the direct answer because our consensus mechanism does not work on the basis of providing block rewards to a miner. We use the proof-of-authority/proof-of-stage round robin Tendermint consensus engine

silasdavis (Mon, 05 Feb 2018 13:41:02 GMT):
there is a block proposer for each round (who's turn it is to propose), but I would need to understand what you are trying to achieve before recommending that

silasdavis (Mon, 05 Feb 2018 13:41:20 GMT):
@mohit.sharma have you tried using localhost?

silasdavis (Mon, 05 Feb 2018 13:41:47 GMT):
`curl localhost:1337/network` as a smoke test

mohit.sharma (Mon, 05 Feb 2018 13:41:52 GMT):
yes! I tried..

silasdavis (Mon, 05 Feb 2018 13:42:01 GMT):
and you launched using docker?

silasdavis (Mon, 05 Feb 2018 13:42:24 GMT):
can you send `docker ps` output

mohit.sharma (Mon, 05 Feb 2018 13:45:14 GMT):

scrrenshot.png

eugene-babichenko (Mon, 05 Feb 2018 13:49:38 GMT):
@silasdavis I just need to get the address of the validator who signed the last block.

silasdavis (Mon, 05 Feb 2018 13:50:33 GMT):
ordinarily all validators sign every block - what are you trying to use this information for?

silasdavis (Mon, 05 Feb 2018 13:53:05 GMT):
@mohit.sharma looks like you are able to contact the V0 (JS) rpc using localhost. I'm sorry but I don't have time right now to help you debug your issue further. I want to provide a more up-to-date hello world/node test case. I have just re-uploaded an out-of-date sample repository here: https://github.com/silasdavis/hello-doug. I'm afraid a lot of it is out-of-date so you'll have to read the code to work out how to update it.

silasdavis (Mon, 05 Feb 2018 13:54:00 GMT):
the error you are getting looks like you don't have a proper private key set but rather the string `privKey` ... ?

silasdavis (Mon, 05 Feb 2018 13:54:19 GMT):
I will post a hello world that works against our current libs in the next few days

gaurav94 (Mon, 05 Feb 2018 15:12:58 GMT):
Has joined the channel.

ohhopi (Mon, 05 Feb 2018 15:58:15 GMT):
Has joined the channel.

ohhopi (Mon, 05 Feb 2018 15:59:08 GMT):
Hi there, Are there any simple means to benchmark burrow/monax performance tx/sec-wise ?

romankrav4 (Mon, 05 Feb 2018 18:39:20 GMT):
Has joined the channel.

mohit.sharma (Tue, 06 Feb 2018 04:55:39 GMT):
@silasdavis ohk :)

mohit.sharma (Tue, 06 Feb 2018 06:07:36 GMT):
'Burrow error: Call of method "toJSON" with parameters 'server' responded with ""' anybody knows how to rectify this error,I am getting while connecting nodejs to monax burrow server

fredrbl (Tue, 06 Feb 2018 22:29:21 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=xcinJrc8hGfBGZC6A) @silasdavis Thanks for a good answer! Ok, I will ask Tendermint about this, and hopefully they have an estimation. Will post the answer here in that case!

fredrbl (Tue, 06 Feb 2018 22:29:21 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=xcinJrc8hGfBGZC6A) @silasdavis Thanks for a good answer! Ok, I will ask Tendermint about this, and hopefully they have an estimation. Will post the answer here

compleatang (Wed, 07 Feb 2018 13:34:50 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=5ifyR3KdwBDQbZBzG) @fredrbl We'd absolutely love community assistance in providing such a benchmarking system. it should not be too difficult to construct and we'd be happy to pull it into the CI/CD system to allow everyone to track performance based on usage patterns like you suggest. This is something the entire ethereum community could leverage to provide strong comparison across permissioned EVM chain designs.

eccheung4 (Wed, 07 Feb 2018 15:25:43 GMT):
Has joined the channel.

zramsay (Thu, 08 Feb 2018 18:11:04 GMT):
Has joined the channel.

dharuq (Fri, 09 Feb 2018 10:31:51 GMT):
Has left the channel.

mohit.sharma (Mon, 12 Feb 2018 06:52:26 GMT):
how to create new participant account in existing burrow chain???

gaurav94 (Mon, 12 Feb 2018 07:04:52 GMT):
When executing burrow cmd using monax cli getting Docker: {"message":"OCI runtime create failed: container_linux.go:296: starting container process caused \"exec: \\\"Accounts.getAccount\\\": executable file not found in $PATH\": unknown"}

gaurav94 (Mon, 12 Feb 2018 07:06:04 GMT):

docker.png

kakuzu (Mon, 12 Feb 2018 15:18:59 GMT):
Has joined the channel.

AnthonyHall 1 (Mon, 12 Feb 2018 16:47:44 GMT):
Has joined the channel.

AnthonyHall 1 (Mon, 12 Feb 2018 16:52:42 GMT):
Hello all, I am new and just started building my first blockchain this past week using hyperledger. This blockchain framework satisfies most of my needs for the appliation I want to develop. The only piece I see lacking from what I need is a cryptocurrency component that would allow for value exchange when queries are executed (e.g. I want to transfer value from the participant that is querying the data to the person that owns the data.) Does anyone have suggestions about what I can do to or use to make this happen while still using Hyperledger?

kakuzu (Mon, 12 Feb 2018 19:07:53 GMT):
can i just install burrow do i have to install monax.

gaurav94 (Tue, 13 Feb 2018 11:27:15 GMT):
how could we add new accounts using RPC endpoints using node js?

gaurav94 (Tue, 13 Feb 2018 11:27:27 GMT):
Any help will be appreciated ?

ragu (Wed, 14 Feb 2018 05:23:43 GMT):
Has joined the channel.

ragu (Wed, 14 Feb 2018 05:33:59 GMT):
Hi All, I am using git hub for hyperledger burrow installation.I am getting error(Fatal error reading configuration from /opt/gopkg/src/github.com/hyperledger/burrow/config.toml) when i use burrow serve command.Any body know what is the solution of this problem.And how to move it to further process?. I am using Go version 1.8.3 for this process.

ragu (Wed, 14 Feb 2018 05:33:59 GMT):
Hi All, I am using git hub for hyperledger burrow installation.I am getting error(Fatal error reading configuration from /opt/gopkg/src/github.com/hyperledger/burrow/config.toml) when i use burrow serve command.Any body know what is the solution of this issue.And how to move it to further process?. I am using Go version 1.8.3 for this process.

silasdavis (Wed, 14 Feb 2018 11:27:20 GMT):
@ragu please see the Makefile

silasdavis (Wed, 14 Feb 2018 11:35:47 GMT):
@gaurav94 you need to use `Send` or `SendAndHold` on the 1337 RPC to the target account, then you will need to use a `PermissionTx` or the permissions snatives. I'm afraid I do have an example to hand and I do not have the time over the next 2 weeks to create one. However we are in the process of getting some help to revive some old tutorials that show you how to do this with the JS libs.

silasdavis (Wed, 14 Feb 2018 11:36:01 GMT):
Here is an example how to Send with monax pkgs do: https://github.com/monax/monax/blob/master/tests/jobs_fixtures/app00-basic_functionality_jobs/epm.yaml

silasdavis (Wed, 14 Feb 2018 11:36:21 GMT):
here is an example of setting permissions with monax pkgs do: https://github.com/monax/monax/blob/master/tests/jobs_fixtures/app03-basic_and_advanced_permission_txs_and_queries/epm.yaml

silasdavis (Wed, 14 Feb 2018 11:36:52 GMT):
here is the JS lib for sending: https://github.com/monax/legacy-db.js/blob/master/lib/transactions.js#L147-L150

silasdavis (Wed, 14 Feb 2018 11:38:37 GMT):
Here is the virtual permission contract you can call like a regular EVM contract (from burrow's `make snatives`): ``` pragma solidity >=0.0.0; /** * Interface for managing Secure Native authorizations. * @dev This interface describes the functions exposed by the SNative permissions layer in burrow. * @dev These functions can be accessed as if this contract were deployed at a special address (0x0A758FEB535243577C1A79AE55BED8CA03E226EC). * @dev This special address is defined as the last 20 bytes of the sha3 hash of the the contract name. * @dev To instantiate the contract use: * @dev Permissions permissions = Permissions(address(sha3("Permissions"))); */ contract Permissions { /** * @notice Adds a role to an account * @param _account account address * @param _role role name * @return result whether role was added */ function addRole(address _account, bytes32 _role) constant returns (bool result); /** * @notice Removes a role from an account * @param _account account address * @param _role role name * @return result whether role was removed */ function removeRole(address _account, bytes32 _role) constant returns (bool result); /** * @notice Indicates whether an account has a role * @param _account account address * @param _role role name * @return result whether account has role */ function hasRole(address _account, bytes32 _role) constant returns (bool result); /** * @notice Sets the permission flags for an account. Makes them explicitly set (on or off). * @param _account account address * @param _permission the base permissions flags to set for the account * @param _set whether to set or unset the permissions flags at the account level * @return result the effective permissions flags on the account after the call */ function setBase(address _account, uint64 _permission, bool _set) constant returns (uint64 result); /** * @notice Unsets the permissions flags for an account. Causes permissions being unset to fall through to global permissions. * @param _account account address * @param _permission the permissions flags to unset for the account * @return result the effective permissions flags on the account after the call */ function unsetBase(address _account, uint64 _permission) constant returns (uint64 result); /** * @notice Indicates whether an account has a subset of permissions set * @param _account account address * @param _permission the permissions flags (mask) to check whether enabled against base permissions for the account * @return result whether account has the passed permissions flags set */ function hasBase(address _account, uint64 _permission) constant returns (bool result); /** * @notice Sets the global (default) permissions flags for the entire chain * @param _permission the permissions flags to set * @param _set whether to set (or unset) the permissions flags * @return result the global permissions flags after the call */ function setGlobal(uint64 _permission, bool _set) constant returns (uint64 result); } ```

silasdavis (Wed, 14 Feb 2018 11:39:58 GMT):
So I'm afraid its self-service for now, but as I say we are working towards getting back some friendlier documentation - I am just resource constrained right now and have just finished moving a lot of code around invalidating some previous docs

RiyazPanarwala (Wed, 14 Feb 2018 12:13:37 GMT):
Has joined the channel.

jetbasrawi (Wed, 14 Feb 2018 13:39:23 GMT):
Has joined the channel.

kakuzu (Wed, 14 Feb 2018 14:53:27 GMT):
not much is available for docs check the monax.io

ragu (Thu, 15 Feb 2018 05:15:05 GMT):
@silasdavis Thank you for your reply.. What is the use of Makefile?

ragu (Thu, 15 Feb 2018 05:15:05 GMT):
@silasdavis Thank for your reply.. What is the use of Makefile?

ragu (Thu, 15 Feb 2018 05:15:05 GMT):
@silasdavis Thanks for your reply.. What is the use of Makefile?

ragu (Thu, 15 Feb 2018 05:15:05 GMT):
@silasdavis Thanks for your reply.. What is the use of Makefile?.What to do with that file?

zramsay (Thu, 15 Feb 2018 14:46:29 GMT):
the makefile has targets for compiling burrow

RobertDiebels (Thu, 15 Feb 2018 16:36:45 GMT):
Hey guys, question. Can the container `monax/monax` [ https://quay.io/repository/monax/monax?tab=tags ] be used to create monax configuration on Windows using the Docker Toolbox? If so, how do I run the image locally? Because I can't seem to get it to boot.

RobertDiebels (Thu, 15 Feb 2018 16:39:43 GMT):
My goal is to create a Kubernetes cluster for Hyperledger Burrow. I'd rather not use the container to create the necessary configuration inside the cluster though. As running in Kubernets requires changes to the seed-ips and the moniker and I'd rather change the configuration off-cluster.

ragu (Fri, 16 Feb 2018 06:30:28 GMT):
Hi All, I need to create smart contract for my learning process.I have installed monax platform for that process.I don't have clear idea about how token transactions happens in monax ?,What is the use of .yaml,validators files? and How these files works?

ragu (Fri, 16 Feb 2018 06:30:28 GMT):
Hi All, I need to create smart contract for my learning process.I have installed monax platform for that process.I don't have clear idea about how token transactions happens in monax ?,What is the use of .yaml,validators files? and How these files are working?

mtgran (Fri, 16 Feb 2018 13:52:01 GMT):
Has joined the channel.

RobertDiebels (Fri, 16 Feb 2018 14:02:42 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=EwdM5oQsPyXd5XaJz) For those interested. I managed to answer my own question. If you're on Windows and you want to generate configuration for Burrow. Simply do the following. Install Docker Toolbox (or native), afterwards run the following commands: ```docker run --rm -v /windows/hostpath:/root/.monax -it --privileged --name monax-cli -d quay.io/monax/monax:0.18.0-dind /bin/bash docker exec monax-cli monax init --yes docker exec monax-cli monax chains make kubechain --account-types=Full:1,Validator:3 --unsafe```

dv29 (Sat, 17 Feb 2018 08:06:09 GMT):
Has joined the channel.

pouladzade (Sat, 17 Feb 2018 13:55:38 GMT):
Hi All,

pouladzade (Sat, 17 Feb 2018 13:55:58 GMT):
with snak you will have these facilities: Easily install and uninstall hyperledger burrow. Built-in smart contract compilation, linking, deployment. Having interaction with blockchain(Burrow) directly via linux terminal. Automated contract testing with Mocha and Chai(will be added in future). Network management for deploying to many public & private networks. Interactive console for direct contract communication(will be added in future).

pouladzade (Sat, 17 Feb 2018 13:56:13 GMT):
https://www.npmjs.com/package/snak

pouladzade (Sat, 17 Feb 2018 13:56:33 GMT):
https://github.com/pouladzade/snack

pouladzade (Sat, 17 Feb 2018 13:57:02 GMT):
All contributions are welcome: use-cases, documentation, code, patches, bug reports, feature requests, etc.

RobertDiebels (Sat, 17 Feb 2018 17:28:30 GMT):
@pouladzade does this work on windows?

pouladzade (Sat, 17 Feb 2018 17:28:59 GMT):
@RobertDiebels No sorry, At least not yet

pouladzade (Sat, 17 Feb 2018 17:29:29 GMT):
because it uses bash script for installing and uninstalling the burrow

pouladzade (Sat, 17 Feb 2018 17:31:20 GMT):
But easily you can modify it to support windows, please feel free to fork it or send any pull request

RobertDiebels (Sat, 17 Feb 2018 17:33:09 GMT):
Ah ok. I'm working on something similar. Also with NodeJS. However I'm working on a tool to convert the configuration to a Kubernetes Cluster.

RobertDiebels (Sat, 17 Feb 2018 17:33:09 GMT):
Ah ok. I'm working on something similar. Also with NodeJS. However I'm working on a tool to convert blockchain configuration to a Kubernetes Cluster.

RobertDiebels (Sat, 17 Feb 2018 17:33:36 GMT):
I've already got most of it functioning. Just need to make sure the nodes can find each other.

RobertDiebels (Sat, 17 Feb 2018 17:34:05 GMT):
https://www.npmjs.com/package/kubechain <- the package if you're interested

pouladzade (Sat, 17 Feb 2018 17:39:41 GMT):
@RobertDiebels Actually the most useful parts are facilitating the compiling, deploying and testing(not ready yet) smart contracts over the burrow

RobertDiebels (Sat, 17 Feb 2018 17:40:09 GMT):
Aaaah ok

RobertDiebels (Sat, 17 Feb 2018 17:40:14 GMT):
So the Solidity thing?

RobertDiebels (Sat, 17 Feb 2018 17:40:44 GMT):
I haven't looked at Burrow's full capabilities yet

pouladzade (Sat, 17 Feb 2018 17:40:48 GMT):
the other functions like installing, uninstalling, sending transactions, ... are as a utility

RobertDiebels (Sat, 17 Feb 2018 17:40:59 GMT):
So I don't know to much about it. Seems cool :D

pouladzade (Sat, 17 Feb 2018 17:41:03 GMT):
@RobertDiebels yes solidity

pouladzade (Sat, 17 Feb 2018 17:41:03 GMT):
@gaurav94 I think there is no issue

RobertDiebels (Sat, 17 Feb 2018 17:41:41 GMT):
I'm just focussing on getting a local test network running via kubernetes.

pouladzade (Sat, 17 Feb 2018 17:42:06 GMT):
actually I aiming to provide something like Truffle with extra capabilities but it's not ready yet

RobertDiebels (Sat, 17 Feb 2018 17:43:00 GMT):
I'm unfamiliar with Truffle as well haha :P

pouladzade (Sat, 17 Feb 2018 17:43:02 GMT):
for now it can compile, migrate, send transaction, install Burrow, uninstall Burrow

pouladzade (Sat, 17 Feb 2018 17:43:46 GMT):
@RobertDiebels :grin:

RobertDiebels (Sat, 17 Feb 2018 17:44:30 GMT):
Nice :D

pouladzade (Sat, 17 Feb 2018 17:44:40 GMT):
Thanks

RobertDiebels (Sat, 17 Feb 2018 17:45:34 GMT):
I'll star the repo.

RobertDiebels (Sat, 17 Feb 2018 17:45:42 GMT):
Will check back if there's windows support :D

pouladzade (Sat, 17 Feb 2018 17:47:23 GMT):
Thank you so much

pouladzade (Sat, 17 Feb 2018 17:48:33 GMT):
I will work on that if I find more free time

silasdavis (Sat, 17 Feb 2018 21:11:39 GMT):
We have some kubernetes scripts that I believe are in kubernetes incubation. It would be great to join all this work together and there are areas where changes to core burrow can help and I am keen to make.

RobertDiebels (Sun, 18 Feb 2018 13:10:24 GMT):
@silasdavis I checked them out [ ]. I've got a question on precedence of configuration. If I assign values to the environment variables "CHAIN_NAME", "CHAIN_NODE_NUMBER" and "CHAIN_SEEDS" via kubernetes. As well as adding a config.toml with a configMap. Which values will be used?

RobertDiebels (Sun, 18 Feb 2018 13:10:24 GMT):
@silasdavis I checked them out [ https://github.com/hyperledger/burrow/blob/d7e7449db97230c361458dbba4377f9270e5c295/deployment/kubernetes/node000-deploy.yaml ]. I've got a question on precedence of configuration. If I assign values to the environment variables "CHAIN_NAME", "CHAIN_NODE_NUMBER" and "CHAIN_SEEDS" via kubernetes. As well as adding a config.toml with a configMap. Which values will be used?

gaurav94 (Mon, 19 Feb 2018 06:10:16 GMT):
Hi @silasdavis I am able to create new account using rpc endpoint using below code: var burrowFactory = require('@monax/legacy-db'); let chainUrl = 'http://localhost:1337/rpc'; let accounts = require('./accounts.json'); var burrow = burrowFactory.createInstance(chainUrl); var myAccount = burrow.accounts(); myAccount.genPrivAccount(accounts.node1_full_000, function(error, result){ if (!error){ console.log('result = ', JSON.stringify(result,null,4)); } else{ console.log(error); } }); I am able to get the address along with pubKey and PrivKey but I cannot see this account is added in blockchain when I run the below code: function showAccounts(error,data){ if(data){ var str = JSON.stringify(data,null,4); console.log(str); } else{ console.log(error); } } var loadAccounts = ()=>{ var burrow = burrowDbFactory.createInstance("http://localhost:1337/rpc"); var accounts = burrow.accounts(); accounts.getAccounts(showAccounts); } Neither any file in burrow chain are reflected. I was going through issue list and found the same issue on github: https://github.com/hyperledger/burrow/issues/227 As our team is looking for this solution earliest. Any help would be appreciated. Thanks in advance.

pouladzade (Mon, 19 Feb 2018 08:09:57 GMT):

Clipboard - February 19, 2018 4:09 PM

pouladzade (Mon, 19 Feb 2018 08:11:24 GMT):
@gaurav94 I think there is no issue with this function

pouladzade (Mon, 19 Feb 2018 08:11:30 GMT):
@gaurav94 this function only creates the key pair based on the Ed25519 and does not have any effect on the blockchain

gaurav94 (Mon, 19 Feb 2018 08:13:16 GMT):
So it would be helpful for me if any one suggest me the method to create a account using rpc endpoint using node js?

pouladzade (Mon, 19 Feb 2018 08:14:12 GMT):
@gaurav94 I think you need to do this : Pipe.addAccount(accountData)

pouladzade (Mon, 19 Feb 2018 08:14:56 GMT):
@gaurav94 it's in legacy-contracts.js https://github.com/monax/legacy-contracts.js

gaurav94 (Mon, 19 Feb 2018 08:17:31 GMT):
thanks @pouladzade ..:) I will try for it n get back :)

pouladzade (Mon, 19 Feb 2018 08:18:06 GMT):
@gaurav94 you are welcome

gaurav94 (Mon, 19 Feb 2018 08:57:40 GMT):
@pouladzade I appreciate your help on this, but Pipe.addAccount(accountData) adds account temporary in local catch of DevPipe object but doesn't reflect in blockchain.

pouladzade (Mon, 19 Feb 2018 09:00:12 GMT):
@gaurav94 I see, actually I am going to implement create account for Burrow, Whenever I get it done I will get back to u

gaurav94 (Mon, 19 Feb 2018 11:16:00 GMT):
o @pouladzade thanks :)

RobertDiebels (Mon, 19 Feb 2018 18:26:10 GMT):
Hey guys I thought I'd update you on my progress with Kubernetes.

RobertDiebels (Mon, 19 Feb 2018 18:27:34 GMT):
I was struggling to get things running for quite some time. Apparently Tendermint has a bit of code that forces `seeds` to be actual IP addresses.

RobertDiebels (Mon, 19 Feb 2018 18:27:34 GMT):
I was struggling to get things running for quite some time. Apparently Tendermint has a [bit of code that forces](https://github.com/tendermint/tendermint/blob/a1a5cb59a70e3075dbfc58614d2f1b83d5ad2a8b/p2p/netaddress.go) `seeds` to be actual IP addresses.

RobertDiebels (Mon, 19 Feb 2018 18:29:21 GMT):
I tried using DNS to tell Burrow where to find other validators as this is much easier. Pod IP's are dynamic and they can change at any time.

RobertDiebels (Mon, 19 Feb 2018 18:29:52 GMT):
It took me a while to find out that Tendermint doesn't do a lookup for dns.

RobertDiebels (Mon, 19 Feb 2018 18:30:04 GMT):
As the error message is really cryptic.

RobertDiebels (Mon, 19 Feb 2018 18:30:39 GMT):
This was the message: ` Error in address kubechain-full-000.burrow.burrow.svc.cluster.local:46656: lookup kubechain-full-000.burrow.burrow.svc.cluster.local: no such host`

RobertDiebels (Mon, 19 Feb 2018 18:32:28 GMT):
The address/name is fine. It just isn't an IP address.

RobertDiebels (Mon, 19 Feb 2018 18:34:23 GMT):
Right now I'm thinking of writing an init-container which does a lookup for the DNS-names. Then replaces them with IP-addresses in the config.toml.

RobertDiebels (Mon, 19 Feb 2018 18:34:45 GMT):
It's a bit hacky though and I'd rather be able to just use dns-names.

RobertDiebels (Mon, 19 Feb 2018 18:43:53 GMT):
I just spotted a mistake. They also do a LookupIP to get an IPaddress for a host.

RobertDiebels (Mon, 19 Feb 2018 19:22:08 GMT):
Ok I think I found the issue. But I would like to check with either @pouladzade or @silasdavis . Am I correct in assuming that if Burrow cannot launch Tendermint for whatever reason, burrow stops running?

RobertDiebels (Mon, 19 Feb 2018 19:22:47 GMT):
If so, my problem is due to that.

RobertDiebels (Mon, 19 Feb 2018 19:30:02 GMT):
Since Kubernetes expects a container to keep on running. If it does not it restarts a pod. In this case I have 4 pods and each pod is added as a seed via its DNS name within the cluster.

RobertDiebels (Mon, 19 Feb 2018 19:31:29 GMT):
My assumption here is that all seeds need to be up at the same time for the lookup to succeed. So my 4 pods need to be up at the same time. Which they are not.

RobertDiebels (Mon, 19 Feb 2018 19:34:20 GMT):
What I'm seeing is this. 1. First pod goes up. 2. Second pod goes up. 3. First pod can resolve the second pod. 4. First pod cannot resolve the third pod. 5. First pod crashes and restarts. 6. Other pods come up. 7. They also crash because the first pod is busy restarting. 8. Now we are in a loop where the pods keep restarting and trying to find each other.

RobertDiebels (Mon, 19 Feb 2018 19:35:33 GMT):
So my request would be to not stop the application if it cannot find all seeds. Instead it should retry and only stop retrying after X amount of time.

RobertDiebels (Tue, 20 Feb 2018 11:14:32 GMT):
Hi again, I created [a feature request](https://github.com/tendermint/tendermint/issues/1230) in the Tendermint repository. I believe this is something that should be solved by them since Burrow doesn't and shouldn't know what caused Tendermint to crash.

silasdavis (Tue, 20 Feb 2018 15:30:02 GMT):
On the move Robert but sounds like we can do better on this. I'm moving onto deployment stuff next week I'll see how I get on and look into what you're saying here in a bit more detail

RobertDiebels (Wed, 21 Feb 2018 12:02:02 GMT):
@silasdavis No problem :D . I just checked the issue I've created in Tendermint and it's been moved into the TO-DO list for Tendermint 0.16.0

Er1ck (Wed, 21 Feb 2018 21:45:02 GMT):
Has joined the channel.

anaik (Thu, 22 Feb 2018 17:43:57 GMT):
Has joined the channel.

kakuzu (Thu, 22 Feb 2018 19:46:36 GMT):
Has left the channel.

ragu (Fri, 23 Feb 2018 04:41:44 GMT):
Hi All<

ragu (Fri, 23 Feb 2018 04:41:44 GMT):
Hi All, I want to connect burrow server using monax/legacy-db to access burrow chain functionality. I am using node js for burrow server connectivity.But when i am going to connect with burrow server ,i am receiving following error.I don't have a clear idea to how to resolve this issue.If any body know the solution of this issue ,that will more helpful for my future process. I am using following code for that process, var burrowFactory = require(''); let chainUrl = 'http://localhost:1337/rpc'; let accounts = require('./accounts.json'); var burrow = burrowFactory.createInstance(chainUrl); var myAccount = burrow.accounts(); myAccount.genPrivAccount(accounts.node1_full_000, function(error, result){ if (!error){ console.log('result = ', JSON.stringify(result,null,4)); } else{ console.log(error); } }); Error: Burrow { server: undefined, _unsafe: Unsafe { server: undefined, _validator: SinglePolicyValidator { _policy: true } }, _accounts: Accounts { server: undefined, _unsafe: Unsafe { server: undefined, _validator: [SinglePolicyValidator] } }, _blockChain: BlockChain { server: undefined }, _consensus: Consensus { server: undefined }, _events: Events { _pollingInterval: 1000, server: undefined, sub: { [Function: HttpEventSub] super: [Function: EventSub] } }, _namereg: NameReg { server: undefined, _unsafe: Unsafe { server: undefined, _validator: [SinglePolicyValidator] }, _events: Events { _pollingInterval: 1000, server: undefined, _sub: [Function] } }, _network: Network { server: undefined }, _transactions: Transactions { server: undefined, _unsafe: Unsafe { server: undefined, _validator: [SinglePolicyValidator] } } } Accounts { server: undefined, _unsafe: Unsafe { server: undefined, _validator: SinglePolicyValidator { _policy: true } } } Received request for details. server started at 10.0.0.141:8000 Burrow error: Call of method "toJSON" with parameters 'server' responded with "Error: socket hang up". (node:4743) UnhandledPromiseRejectionWarning: TypeError: Cannot destructure property reject of 'undefined' or 'null'. at values.next.then (/home/gauravagarwal/.monax/apps/legacydb/node_modules//lib/index.js:13:57) at (node:4743) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1) (node:4743) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated.

RobertDiebels (Fri, 23 Feb 2018 09:26:13 GMT):
you're not importing the Client `var burrowFactory = require('');`

pouladzade (Fri, 23 Feb 2018 19:03:09 GMT):
var createAccount = (burrowURL, pass_phrase)=>{ let burrowDbFactory = require('@monax/legacy-db'); let burrow = burrowDbFactory.createInstance(burrowURL); let accounts = burrow.accounts(); accounts.genPrivAccount(pass_phrase, function (error, result) { if (!error) { console.log('Account : \n', JSON.stringify(result, null, 4)); createPipe(result); } else { console.log(error); } }); }

pouladzade (Fri, 23 Feb 2018 19:03:33 GMT):
you can try this one, It works for me

pouladzade (Fri, 23 Feb 2018 19:04:21 GMT):

Clipboard - February 24, 2018 3:04 AM

pouladzade (Fri, 23 Feb 2018 19:06:39 GMT):
Bu please comment createPipe(result);

pouladzade (Fri, 23 Feb 2018 19:06:45 GMT):
But

pouladzade (Fri, 23 Feb 2018 19:07:44 GMT):
I tried to make it more easy but it seems I forgot to remove [createPipe(result);]!!!!!!!!!!!

beylerian (Mon, 26 Feb 2018 05:26:51 GMT):
Has joined the channel.

beylerian (Mon, 26 Feb 2018 05:27:29 GMT):
has anyone tried using burrow as a side-chain? any good leads/docs ?

gaurav94 (Mon, 26 Feb 2018 09:41:13 GMT):
Is there any way to start the chain from the last block height we stopped the chain?? Coz if we stop the chain and try to start again it reads the chain till the last block stopped and then continue to start the chain after that

silasdavis (Mon, 26 Feb 2018 12:44:15 GMT):
@gaurav94 I'm not sure I understand the question. I can't really make sense of: > Coz if we stop the chain and try to start again it reads the chain till the last block stopped and then continue to start the chain after that

silasdavis (Mon, 26 Feb 2018 12:45:19 GMT):
When Burrow is restarted it will have Tendermint replay all blocks up to the latest block known to the Tendermint network

silasdavis (Mon, 26 Feb 2018 12:45:53 GMT):
Burrow will load the nodes local DB on 0.17.0 and then replay any it is missing

silasdavis (Mon, 26 Feb 2018 12:46:05 GMT):
current develop will actually have Tendermint replay the lot on restart

gaurav94 (Mon, 26 Feb 2018 12:48:10 GMT):

block-429382.png

silasdavis (Mon, 26 Feb 2018 13:21:48 GMT):
This looks like some corruption of DB, there are some issues with Tendermint that have been fixed and are now in the develop branch of Burrow

gaurav94 (Tue, 27 Feb 2018 05:46:42 GMT):
Thanks alot @silasdavis

gaurav94 (Tue, 27 Feb 2018 05:46:46 GMT):
:)

RobertDiebels (Tue, 27 Feb 2018 16:38:25 GMT):
Hey guys, question. Which version of Tendermint is tied to which version of Burrow?

silasdavis (Tue, 27 Feb 2018 17:42:47 GMT):
Develop is on 0.15.0 and ummm master is on 0.9.2 I think

RobertDiebels (Tue, 27 Feb 2018 19:28:41 GMT):
Great thanks :D :thumbup:

VikasJakhar (Tue, 27 Feb 2018 20:06:01 GMT):
Has joined the channel.

RobertDiebels (Wed, 28 Feb 2018 19:07:06 GMT):
Hey guys. Thought I'd let you know that I've got a working version of Burrow on a Kubernetes cluster.

RobertDiebels (Wed, 28 Feb 2018 19:08:05 GMT):
I'll be doing some fine-tuning the rest of the week. Hopefully I'll have a release ready for next week.

dplumb (Wed, 28 Feb 2018 22:26:13 GMT):
Has joined the channel.

hvandurme (Thu, 01 Mar 2018 08:01:12 GMT):
Has joined the channel.

AyushyaChitransh (Thu, 01 Mar 2018 10:51:19 GMT):
Has joined the channel.

AyushyaChitransh (Thu, 01 Mar 2018 11:02:42 GMT):
Hello everyone, I am coming straight from ethereum platform. Was trying to get a better understanding of burrow. Came to know it uses monax. Which should I know first? Both are new to me

AyushyaChitransh (Thu, 01 Mar 2018 11:22:47 GMT):
The [readme](https://github.com/bluecollarcoding/burrow/blob/8e546756e3d0f27b1a43dddfba8c9c97a8eae2c1/README.md) which is still in WIP gave a clearer idea, that I may not need monax. First i'll read about burrow and try running it.

pouladzade (Thu, 01 Mar 2018 12:47:44 GMT):
@RobertDiebels Greate news! congratulations

pouladzade (Thu, 01 Mar 2018 12:48:38 GMT):
@RobertDiebels maybe I also can use it and embed it inside my software if the license allows me!

SKDHANUKA (Thu, 01 Mar 2018 17:24:58 GMT):
Has joined the channel.

AyushyaChitransh (Thu, 01 Mar 2018 17:58:04 GMT):
I am unable to build, facing many errors. Errors starting from `cannot find package "github.com/BurntSushi/toml"` Do I need to `get` these packages individually?

AyushyaChitransh (Thu, 01 Mar 2018 18:34:21 GMT):
okay, I figured out, it was a problem due to gvm

RobertDiebels (Thu, 01 Mar 2018 22:04:09 GMT):
@pouladzade thanks :D . I haven't decided on a proper license yet. I will probably do that soon as well.

AyushyaChitransh (Fri, 02 Mar 2018 03:30:41 GMT):
When I do `go get github.com/hyperledger/burrow/...` I am getting following errors: ``` # github.com/hyperledger/burrow/account account/account.go:86:20: undefined: wire.Codec account/priv_account.go:38:26: invalid type assertion: pA.PrivKey.(crypto.PrivKeyEd25519) (non-interface type crypto.PrivKey on left) account/priv_account.go:67:9: cannot use pubKey (type crypto.PubKeyEd25519) as type crypto.PubKey in field value account/priv_account.go:68:10: cannot use privKey (type crypto.PrivKeyEd25519) as type crypto.PrivKey in field value account/priv_account.go:87:9: cannot use pubKey (type crypto.PubKeyEd25519) as type crypto.PubKey in field value account/priv_account.go:88:10: cannot use privKey (type crypto.PrivKeyEd25519) as type crypto.PrivKey in field value account/priv_account.go:103:9: cannot use pubKey (type crypto.PubKeyEd25519) as type crypto.PubKey in field value account/priv_account.go:104:10: cannot use privKey (type crypto.PrivKeyEd25519) as type crypto.PrivKey in field value # github.com/hyperledger/burrow/genesis genesis/make_genesis_file.go:146:9: cannot use pubKey (type crypto.PubKeyEd25519) as type crypto.PubKey in field value genesis/types.go:128:29: cannot convert nil to type crypto.PubKey # github.com/tendermint/go-p2p ../../tendermint/go-p2p/peer.go:169:42: cannot use p.PubKey() (type crypto.PubKeyEd25519) as type crypto.PubKey in argument to peerNodeInfo.PubKey.Equals ../../tendermint/go-p2p/secret_connection.go:51:34: invalid type assertion: locPrivKey.PubKey().(crypto.PubKeyEd25519) (non-interface type crypto.PubKey on left) ../../tendermint/go-p2p/secret_connection.go:99:26: invalid type assertion: remPubKey.(crypto.PubKeyEd25519) (non-interface type crypto.PubKey on left) ../../tendermint/go-p2p/secret_connection.go:258:43: invalid type assertion: locPrivKey.Sign(challenge[:]).(crypto.SignatureEd25519) (non-interface type crypto.Signature on left) ../../tendermint/go-p2p/secret_connection.go:273:48: cannot use pubKey (type crypto.PubKeyEd25519) as type crypto.PubKey in field value ../../tendermint/go-p2p/secret_connection.go:273:56: cannot use signature (type crypto.SignatureEd25519) as type crypto.Signature in field value ../../tendermint/go-p2p/secret_connection.go:297:40: cannot use remSignature (type crypto.SignatureEd25519) as type crypto.Signature in argument to remPubKey.VerifyBytes ../../tendermint/go-p2p/switch.go:157:44: invalid type assertion: nodePrivKey.PubKey().(crypto.PubKeyEd25519) (non-interface type crypto.PubKey on left) ../../tendermint/go-p2p/switch.go:216:42: cannot use peer.PubKey() (type crypto.PubKeyEd25519) as type crypto.PubKey in argument to sw.nodeInfo.PubKey.Equals ../../tendermint/go-p2p/switch.go:534:31: invalid type assertion: privKey.PubKey().(crypto.PubKeyEd25519) (non-interface type crypto.PubKey on left) ../../tendermint/go-p2p/switch.go:534:31: too many errors ```

AyushyaChitransh (Fri, 02 Mar 2018 03:37:34 GMT):
It started working after `glide install` should it be included in the readme too?

niyuelin (Fri, 02 Mar 2018 06:10:57 GMT):
Has joined the channel.

kakuzu (Fri, 02 Mar 2018 19:40:01 GMT):
Has joined the channel.

kevinstr (Fri, 02 Mar 2018 19:47:48 GMT):
Has joined the channel.

kevinstr (Fri, 02 Mar 2018 19:48:11 GMT):
Are there any Monax experts here? I'm doing an internship about monax

pouladzade (Sat, 03 Mar 2018 10:41:16 GMT):
Hi guys, I just finished Seriality, a library for serializing and deserializing Solidity types, I would be glad if you take a look and let me know if you have any comments about it. https://github.com/pouladzade/Seriality

pouladzade (Sat, 03 Mar 2018 10:42:08 GMT):

seriality-sample.png

RobertDiebels (Sat, 03 Mar 2018 11:24:44 GMT):
Just pushed a new version of Kubechain [ https://www.npmjs.com/package/kubechain ] with Hyperledger Burrow support.

RobertDiebels (Sat, 03 Mar 2018 11:26:47 GMT):
Would like to state that I'm still at 0.x so I expect usage to change by the time I get to 1.0.

silasdavis (Sat, 03 Mar 2018 11:36:41 GMT):
@pouladzade looks interesting, I think the readme could do with some motivation and an idea of the problem Seriality is trying to solve. Also I personally find the `_underscore` naming hideously, hideously ugly :) but that might be one of those sectarian unresolvable disputes...

silasdavis (Sat, 03 Mar 2018 11:36:41 GMT):
@pouladzade looks interesting, I think the readme could do a brief section on the motivation for writing the library and an idea of the problem Seriality is trying to solve. Also I personally find the `_underscore` naming hideously, hideously ugly :) but that might be one of those sectarian unresolvable disputes...

silasdavis (Sat, 03 Mar 2018 11:36:41 GMT):
@pouladzade looks interesting, I think the readme could do a brief section on the motivation for writing the library and an idea of the problem Seriality is trying to solve. Also I personally find the `_underscore` naming convention hideously, hideously ugly :) but that might be one of those sectarian unresolvable disputes...

silasdavis (Sat, 03 Mar 2018 11:36:41 GMT):
@pouladzade looks interesting, I think the readme could do a brief section on the motivation for writing the library and an idea of the problem Seriality is trying to solve. Also I personally find the `_underscore` naming convention hideously, hideously ugly :) but that might be one of those unresolvable sectarian disputes...

silasdavis (Sat, 03 Mar 2018 11:38:34 GMT):
@RobertDiebels great - it would be good for you to have a go deploying develop - what will become burrow 0.18.0 - some fairly significant changes there

pouladzade (Sat, 03 Mar 2018 11:38:42 GMT):
@silasdavis thank you for your comments, I am agree with you about the underscore, and gonna to make it more readable

pouladzade (Sat, 03 Mar 2018 11:38:42 GMT):
@silasdavis thank you for your comments, I am agree with you about the underscore, and gonna make it more readable

RobertDiebels (Sat, 03 Mar 2018 12:35:38 GMT):
@silasdavis could you explain what you mean by: 'it would be good for you to have a go deploying develop'? Did you mean a binary I could run instead of the dind-container? Because I fully agree with that. Would ease the deployment significantly.

pouladzade (Sat, 03 Mar 2018 13:22:24 GMT):
@silasdavis I applied some of your suggestions on Seriality, Thanks again :)

silasdavis (Sat, 03 Mar 2018 14:06:19 GMT):
@pouladzade I've added the code from your ticket to a test that I will add to Bosmarmot's test suite: https://github.com/silasdavis/bosmarmot/tree/app39-remix-byte-cast/monax/tests/jobs_fixtures/app39-sign-extension

silasdavis (Sat, 03 Mar 2018 14:07:06 GMT):
I'm wondering if we could integrate a more complete test case from Seriality

silasdavis (Sat, 03 Mar 2018 14:07:50 GMT):
They way we do it is to have the solidity files along with an epm.yaml that deploys, tests, and makes assertions about the return results in the same directory

silasdavis (Sat, 03 Mar 2018 14:09:16 GMT):
If you clone bosmarmot and run `make test_integration` it runs all of them. The one on my branch needs you to run a more recent Burrow though

silasdavis (Sat, 03 Mar 2018 14:16:59 GMT):
If you want to try the test I have written you'd need to install monax-keys: ``` go get github.com/monax/bosmarmot/keys/cmd/monax-keys ``` And Burrow from my SIGNEXTEND fix PR then run: ``` cd $GOPATH/src/github.com/monax/bosmarmot/monax/tests/ && rm -rf .burrow && burrow & monax-keys server --port 48002 --dir $GOPATH/src/github.com/monax/bosmarmot & boot=false $GOPATH/src/github.com/monax/bosmarmot/monax/tests/test_jobs.sh app39 ``` Which will run the test with local keys and burrow

kevinstr (Sat, 03 Mar 2018 17:21:21 GMT):
@silasdavis I'll ask it here. I've e-mailed your company (Monax) several times to different addresses for premium support for my university. An answer would be nice.

silasdavis (Sat, 03 Mar 2018 19:13:00 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=Exqtqi6pJBSL8PAmR) @RobertDiebels I mean to use the develop branch of Burrow which does things fairly differently - different config, no priv_vaidator file (keys instead). Wat you have there against 0.17.0 unfortunately will not work for 0.18.0, which will have many fixes and enhancements

silasdavis (Sat, 03 Mar 2018 19:13:11 GMT):
@kevinstr responded in dm

TanmoyBanerjee (Sun, 04 Mar 2018 15:07:29 GMT):
Has joined the channel.

TanmoyBanerjee (Sun, 04 Mar 2018 15:07:56 GMT):
Hi all,

TanmoyBanerjee (Sun, 04 Mar 2018 15:09:41 GMT):
I have a question for all of the members.Can You guys please help me out whether Hyperledger Burrow will be able to execute the smart contracts of Ethereum?

TanmoyBanerjee (Sun, 04 Mar 2018 15:10:32 GMT):
If yes what will be the cost for the same.Same as Ethereum?

dhiraj18 (Sun, 04 Mar 2018 15:19:48 GMT):
Has joined the channel.

tomislav (Sun, 04 Mar 2018 15:21:46 GMT):
Has joined the channel.

LaurenNeely (Sun, 04 Mar 2018 16:58:52 GMT):
Has joined the channel.

RobertDiebels (Sun, 04 Mar 2018 17:17:55 GMT):
@silasdavis aaah ok. Got it :D :thumbsup:

RobertDiebels (Sun, 04 Mar 2018 17:20:19 GMT):
I've considered splitting my adapters into separate packages and let users decide which versions to use. I think doing that should help with differences per version, like the ones you just mentioned. Right now I'm focusing on getting everything up and running in AWS.

anil.k (Sun, 04 Mar 2018 18:10:42 GMT):
Has joined the channel.

etrn (Sun, 04 Mar 2018 23:17:25 GMT):
Has joined the channel.

kevinstr (Mon, 05 Mar 2018 15:23:35 GMT):
Is it possible to make users able to login using burrow?

kevinstr (Mon, 05 Mar 2018 15:23:59 GMT):
for example: a users login, invokes a smart contract, and another user receives a self-made token (I made the token when configuring the blockchain)

Dan (Mon, 05 Mar 2018 15:25:18 GMT):
@TanmoyBanerjee yes, you can execute solidity on burrow. cost is an enterprise model .. i.e. gas is finite but free.

kakuzu (Mon, 05 Mar 2018 16:46:58 GMT):
@dan @silasdavis where can i read docs on permission based smart contract

kakuzu (Mon, 05 Mar 2018 16:47:23 GMT):

Clipboard - March 5, 2018 11:46 AM

kevinstr (Mon, 05 Mar 2018 18:10:06 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=okirtNuy7YDktRyFs) @kakuzu

kevinstr (Mon, 05 Mar 2018 18:10:26 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=okirtNuy7YDktRyFs) @kakuzu https://monax.io/docs/deploying-advanced-smart-contracts-to-a-chain/ is this what you mean?

kakuzu (Mon, 05 Mar 2018 18:16:54 GMT):
yeah, i know that's why i am asking them to help. I am unable to understand the permission layer how it works and does smart contract have specific accounts which can access that and who have authority to deploy smart contract.

Preetam007 (Tue, 06 Mar 2018 08:26:40 GMT):
Has joined the channel.

kevinstr (Tue, 06 Mar 2018 08:34:07 GMT):
Hi team, Could anyone tell me what a root, participant and full account is? I use them when I invoke the command "monax chains make --acount-types=Root:1,full1,Participant:1

kevinstr (Tue, 06 Mar 2018 08:37:21 GMT):
nvm :) I found the definitions in the account-type folder.

silasdavis (Tue, 06 Mar 2018 13:28:01 GMT):
@kakuzu our documentation of the permissions is a little indirect at the moment. I have someone working on producing an up-to-date and reasonably comprehensive tutorial/primer. Until then worth looking at how we manipulate permissions with monax pkgs do: https://github.com/monax/bosmarmot/blob/master/monax/tests/jobs_fixtures/app03-basic_and_advanced_permission_txs_and_queries/epm.yaml. You can also see the possible permissions enumerated here: https://github.com/hyperledger/burrow/blob/develop/permission/permissions.go#L28

silasdavis (Tue, 06 Mar 2018 13:28:21 GMT):
You can also run `make snatives` to generate our native permission contract

silasdavis (Tue, 06 Mar 2018 13:28:37 GMT):
I'll aim to add some more detailed comments to the permissions code when I have time.

silasdavis (Tue, 06 Mar 2018 13:28:53 GMT):
@kevinstr that's right - how they are defined now

silasdavis (Tue, 06 Mar 2018 13:29:40 GMT):
I also have some contributors working on documenting the overall design/structure of Burrow

silasdavis (Tue, 06 Mar 2018 13:57:40 GMT):
@kakuzu to try and answer you question. Permissions are granted to accounts either by values set in the genesis.json or by calling our SNative (secure native) contract that handles permissions (exampe usage: https://github.com/monax/bosmarmot/tree/master/monax/tests/jobs_fixtures/app33-evm_connection_edb_permissions_and_roles_layer) ... Actually I've just made a pull request with what I was going to put here in directr answer to you: https://github.com/hyperledger/burrow/pull/710 A

silasdavis (Tue, 06 Mar 2018 13:57:40 GMT):
@kakuzu to try and answer you question. Permissions are granted to accounts either by values set in the genesis.json or by calling our SNative (secure native) contract that handles permissions (exampe usage: https://github.com/monax/bosmarmot/tree/master/monax/tests/jobs_fixtures/app33-evm_connection_edb_permissions_and_roles_layer) ... Actually I've just made a pull request with what I was going to put here in directr answer to you: https://github.com/hyperledger/burrow/pull/710

silasdavis (Tue, 06 Mar 2018 13:57:58 GMT):
which at least adds some more comments on permissions

kakuzu (Tue, 06 Mar 2018 17:01:43 GMT):
@silasdavis if you need help with the docs update let me know i would love to help. It will also help me learn

silasdavis (Tue, 06 Mar 2018 17:09:42 GMT):
@kakuzu I surely would! If you want to have a go at documenting anything (like permissions) and submitting a PR to docs/ then I would be happy to review/iterate with you

silasdavis (Tue, 06 Mar 2018 17:10:06 GMT):
@zramsay is working on some explainers and might be useful to coordinate if you do

silasdavis (Tue, 06 Mar 2018 17:10:43 GMT):
If you did want to take this on I could make some time for a call also. I can't really get stuck into docs now, but I could try and give you a download from my head

kakuzu (Tue, 06 Mar 2018 17:11:36 GMT):
sure let me know where i can find the docs , i will go through it and run stuff if something missing or fails i will let them know.

silasdavis (Tue, 06 Mar 2018 17:15:11 GMT):
I've added a bit of commentary to: https://github.com/hyperledger/burrow/blob/develop/permission/permissions.go

kevinstr (Tue, 06 Mar 2018 20:47:17 GMT):
Hello everybody. I've got a very general question. Is Burrow more mature than Fabric?

PascalVerlinden (Tue, 06 Mar 2018 21:00:38 GMT):
@silasdavis Hi Silas, we're using Monax / Burrow for a POC and encounter an issue with version 0.17 and 0.18. This can be reproduced with the code in the repo on https://github.com/pascalverlinden/perfo and the readme contains more information. Could be related to the version of Tendermint used by Monax, but I'm not sure. I would appreciate any help.

silasdavis (Wed, 07 Mar 2018 14:01:17 GMT):
@PascalVerlinden reproduction looks good - though I haven't tried it yet. Can you create an issue on https://github.com/hyperledger/burrow/ with a link to that repo and I'll try to get to it. You can copy paste from repo don't worry about proforma

silasdavis (Wed, 07 Mar 2018 14:08:06 GMT):
@kevinstr It depends what you mean by mature. Burrow (formerly eris-db) is older than Fabric - one of the oldest permissioned ledgers (well before Hyperledger) with the first code written in December 2014 which branched off to become Tendermint. Because of this the codebase has gone through some gymnastics - from consensus engine + EVM, to separate EVM + state + snatives, to its current incarnation as a EVM library and Tendermint harness. It has had quite a few interesting things built on it and I will be putting into production for Monax. It has some dark corners, and some things I would like to change, but I would argue the basics are solid and it has real BFT consensus through Tendermint. On the other hand

silasdavis (Wed, 07 Mar 2018 14:08:06 GMT):
@kevinstr It depends what you mean by mature. Burrow (formerly eris-db) is older than Fabric - one of the oldest permissioned ledgers (well before Hyperledger) with the first code written in December 2014 which branched off to become Tendermint. Because of this the codebase has gone through some gymnastics - from consensus engine + EVM, to separate EVM + state + snatives, to its current incarnation as a EVM library and Tendermint harness. It has had quite a few interesting things built on it and I will be putting into production for Monax. It has some dark corners, and some things I would like to change, but I would argue the basics are solid and it has real BFT consensus through Tendermint. On the other hand Fabric is younger but will certainly be older in terms of developer-hours and number of eyes on the codebase. It has a lot of mindshare, good tooling, good community, and good developers. It has an expansive design and is highly pluggable. It does not provide a BFT consensus (in their model, ordering) service.

silasdavis (Wed, 07 Mar 2018 14:08:06 GMT):
@kevinstr It depends what you mean by mature. Burrow (formerly eris-db) is older than Fabric - one of the oldest permissioned ledgers (well before Hyperledger) with the first code written in December 2014 which branched off to become Tendermint. Because of this the codebase has gone through some gymnastics - from consensus engine + EVM, to separate EVM + state + snatives, to its current incarnation as a EVM library and Tendermint harness. It has had quite a few interesting things built on it and I will be putting into production for Monax. It has some dark corners, and some things I would like to change, but I would argue the basics are solid and it has real BFT consensus through Tendermint. On the other hand Fabric is younger but will certainly be older in terms of developer-hours and number of eyes on the codebase. It has a lot of mindshare, good tooling, good community, and good developers. It has an expansive design and is highly pluggable. It does not provide a BFT consensus (in their model, ordering) service. Both Sawtooth Lake and Fabric are great projects with broader goals than Burrow. And they are both integrating Burrow's EVM see #sawtooth-seth and #fabric-evm. Burrow's future is being 'in the mix' in projects with pluggable consensus and arbitrary transaction processors. Burrow as a standalone unit provides a fast simple EVM and consensus engine all in a single process and single language. This is how I see Burrow's niche - the 'redis of blockchain'.

silasdavis (Wed, 07 Mar 2018 14:08:06 GMT):
@kevinstr It depends what you mean by mature. Burrow (formerly eris-db) is older than Fabric - Burrow is one of the oldest permissioned ledgers (well before Hyperledger) with the first code written in December 2014 which branched off to become Tendermint. Because of this the codebase has gone through some gymnastics - from consensus engine + EVM, to separate EVM + state + snatives, to its current incarnation as a EVM library and Tendermint harness. It has had quite a few interesting things built on it and I will be putting into production for Monax. It has some dark corners, and some things I would like to change, but I would argue the basics are solid and it has real BFT consensus through Tendermint. On the other hand Fabric is younger but will certainly be older in terms of developer-hours and number of eyes on the codebase. It has a lot of mindshare, good tooling, good community, and good developers. It has an expansive design and is highly pluggable. It does not provide a BFT consensus (in their model, ordering) service. Both Sawtooth Lake and Fabric are great projects with broader goals than Burrow. And they are both integrating Burrow's EVM see #sawtooth-seth and #fabric-evm. Burrow's future is being 'in the mix' in projects with pluggable consensus and arbitrary transaction processors. Burrow as a standalone unit provides a fast simple EVM and consensus engine all in a single process and single language. This is how I see Burrow's niche - the 'redis of blockchain'.

silasdavis (Wed, 07 Mar 2018 14:16:59 GMT):
And of course, we are primarily (for now) an EVM execution environment. Ethereum/Solidity/the EVM has pluses and minuses.

kevinstr (Wed, 07 Mar 2018 15:06:55 GMT):
Okay, thank you!

kevinstr (Wed, 07 Mar 2018 15:07:28 GMT):
I encountered an error when deploying contracts with monax pkgs do --chain (name) --address (address)

kevinstr (Wed, 07 Mar 2018 15:07:36 GMT):

Clipboard - March 7, 2018 4:07 PM

kevinstr (Wed, 07 Mar 2018 15:07:40 GMT):
this is the error...

kevinstr (Wed, 07 Mar 2018 15:07:44 GMT):
Anybody has any idea?

kevinstr (Wed, 07 Mar 2018 15:07:53 GMT):
I have 4 full accounts.

PascalVerlinden (Wed, 07 Mar 2018 15:20:04 GMT):
@silasdavis thanks for your reply, I've added an issue as you requested, see https://github.com/hyperledger/burrow/issues/713

PascalVerlinden (Wed, 07 Mar 2018 15:27:59 GMT):
@silasdavis BTW, I was trying to install the development branch of Burrow. Installation was successful, but when I try to start with burrow serve --work-dir as stated on the github page, I get an error (incorrect usage), because the option --work-dir is not supported. How can I start? And is it still possible to use the JS SDK?

kevinstr (Wed, 07 Mar 2018 15:34:52 GMT):
Okay, I managed to solve it by using validators. However, I'm encountering a new problem now.

kevinstr (Wed, 07 Mar 2018 15:34:58 GMT):
I have a multi chain node

kevinstr (Wed, 07 Mar 2018 15:35:12 GMT):
started it with monax chains make (name) --seeds-ip=....

kevinstr (Wed, 07 Mar 2018 15:35:24 GMT):
next I copied the account folder to the other VMs

kevinstr (Wed, 07 Mar 2018 15:35:35 GMT):
I then started the chain on each VM

kevinstr (Wed, 07 Mar 2018 15:35:49 GMT):
now, I'm trying to access the contract with the legacy-contracts js library

kevinstr (Wed, 07 Mar 2018 15:35:53 GMT):
and I'm getting this error:

kevinstr (Wed, 07 Mar 2018 15:36:00 GMT):

Clipboard - March 7, 2018 4:35 PM

kevinstr (Wed, 07 Mar 2018 15:38:18 GMT):
This is the code

kevinstr (Wed, 07 Mar 2018 15:38:23 GMT):

Clipboard - March 7, 2018 4:38 PM

kevinstr (Wed, 07 Mar 2018 15:39:14 GMT):
When I do a GET call to the port via Postman I get this:

kevinstr (Wed, 07 Mar 2018 15:39:19 GMT):

Clipboard - March 7, 2018 4:39 PM

kevinstr (Wed, 07 Mar 2018 15:39:26 GMT):
Help would be very much appreciated.

silasdavis (Wed, 07 Mar 2018 16:54:57 GMT):
@kevinstr you need a chainurl with a protocol and port like `http://127.0.0.1:1337`

silasdavis (Wed, 07 Mar 2018 16:55:53 GMT):
@PascalVerlinden please see usage section in readme of develop branch: https://github.com/hyperledger/burrow/blob/develop/README.md#usage Command is just `burrow` now - bear in mind config has changed

silasdavis (Wed, 07 Mar 2018 16:56:41 GMT):
JS support on develop is a WIP in our new tooling monorepo: https://github.com/monax/bosmarmot/tree/develop but we have most test passing. Should be working for the brave end of this week.

kevinstr (Wed, 07 Mar 2018 17:07:07 GMT):
@silasdavis thank you. But how come that my browser gives a 404?

vishwasbalakrishna (Wed, 07 Mar 2018 21:29:23 GMT):
Has joined the channel.

VipinB (Thu, 08 Mar 2018 15:30:45 GMT):
Burrow guys, please show up on Identity WG to volunteer on the Burrow Identity model in our Paper doc

VipinB (Thu, 08 Mar 2018 15:31:19 GMT):
See https://docs.google.com/document/d/1zDPVDer9G-IjqicB65G9Uo2RhzpYLY4mGpVpEPu_Wt4/edit?usp=drivesdk for the more complete volunteer list by section. The burrow section is empty...

VipinB (Thu, 08 Mar 2018 15:34:28 GMT):
Dead air!!!

VipinB (Thu, 08 Mar 2018 15:35:19 GMT):
Adam Smith strikes again

Gandalf (Fri, 09 Mar 2018 03:56:46 GMT):
Has joined the channel.

JoeriExelmans (Fri, 09 Mar 2018 08:27:46 GMT):
Has joined the channel.

JoeriExelmans (Fri, 09 Mar 2018 09:31:51 GMT):
Updated PascalVerlinden's issue: https://github.com/hyperledger/burrow/issues/713 . Tried to run the example code with the latest git version of burrow and bosmarmot tooling, still encountering serious performance issues. Steps that were taken can be found here: https://github.com/pascalverlinden/perfo/blob/latest-version/README.md

snowy13 (Fri, 09 Mar 2018 17:03:53 GMT):
Hi @silasdavis and @zramsay would like some insight on the differences between Burrow and Ethermint. Btw, been using Burrow sine the early eris-db days

snowy13 (Fri, 09 Mar 2018 17:03:53 GMT):
Hi @silasdavis and @zramsay would like some insight on the differences between Burrow and Ethermint. Btw, been using Burrow since the early eris-db days

snowy13 (Fri, 09 Mar 2018 17:07:40 GMT):
PS Glad to see you're carrying on the marmot legacy with bosmarmot even with Preston gone...

pouladzade (Fri, 09 Mar 2018 17:12:47 GMT):
Ethermint actually is an Go Ethereum node(application layer) which uses the Tendermint so you can use all the tools which are compatible with ethereum specification like web3.js truffle, remix, mist, ....

snowy13 (Fri, 09 Mar 2018 17:14:15 GMT):
Right gotcha...but no permissions right?

pouladzade (Fri, 09 Mar 2018 17:14:55 GMT):
and as far as I know and work with doesn't have the permission

pouladzade (Fri, 09 Mar 2018 17:16:10 GMT):
The very important feature of Burrow is to support the permission, so you can have a privileged blockchain

pouladzade (Fri, 09 Mar 2018 17:16:59 GMT):
Burrow handles the permissions withe the native contracts

snowy13 (Fri, 09 Mar 2018 17:19:04 GMT):
And of course the burrow fork of web3.js has been refactored to run server side right?

pouladzade (Fri, 09 Mar 2018 17:20:48 GMT):
I just know they used the part of web3 codes in Legacy_db and legacy_contracts, if i am not mistaken

pouladzade (Fri, 09 Mar 2018 17:21:21 GMT):
but what do you mean the server side???

snowy13 (Fri, 09 Mar 2018 17:22:00 GMT):
My bad..not sure

pouladzade (Fri, 09 Mar 2018 17:24:15 GMT):
Web3 is a javascript library which provides the interface to communicate with ethereum node

snowy13 (Fri, 09 Mar 2018 19:21:15 GMT):
Got confused lol, its been a while. legacy-contracts.js would not load client side.

pouladzade (Fri, 09 Mar 2018 19:38:08 GMT):
legacy-contracts is something like web3 , for communicating with Burrow's node through the rpc-json

snowy13 (Fri, 09 Mar 2018 20:02:39 GMT):
Right. Bottom line though, no point in using ethermint for a permissioned chain network right?

pouladzade (Sat, 10 Mar 2018 05:40:59 GMT):
No pint

pouladzade (Sat, 10 Mar 2018 05:40:59 GMT):
No point

maddydev (Sat, 10 Mar 2018 23:29:33 GMT):
Has joined the channel.

JulianGordonHK (Sun, 11 Mar 2018 01:03:53 GMT):
Has joined the channel.

gaurav94 (Mon, 12 Mar 2018 10:21:36 GMT):

panicError.png

silasdavis (Mon, 12 Mar 2018 10:25:28 GMT):
You're running may nodes on the same machine? You can try increasing the ulimit: https://www.tecmint.com/increase-set-open-file-limits-in-linux/

gaurav94 (Mon, 12 Mar 2018 12:44:21 GMT):
Actually I'm trying to make 1000 request to put data in burrow chain in parallel. When my CPU utilisation is 10%-15% it runs normally but after the execution its CPU utilisation come to 50%-60% which remain the same then after and again when I try to make same 1000 request again on burrow chain the chain stops as shown in above image with the CPU utilisation 100%.

shiyj93 (Tue, 13 Mar 2018 02:39:29 GMT):
Has joined the channel.

JoeriExelmans (Tue, 13 Mar 2018 11:14:51 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=R3ZKCmKdNQtnRYR2e) @gaurav94 I have the same problem on Monax 0.17 & 0.18, and something similar on the latest develop git version (see PascalVerlinden & my comment above). Made a plot that shows CPU usage of burrow as more contracts are created: https://plot.ly/~joeri.exelmans/1/ . As you are experiencing, CPU usage remains high even when you stop creating contracts. When CPU usage comes close to 100%, transactions become slower (from 1000 ms initially to >2000 ms).

maya1982 (Tue, 13 Mar 2018 15:13:20 GMT):
Has joined the channel.

silasdavis (Tue, 13 Mar 2018 23:51:56 GMT):
@PascalVerlinden @JoeriExelmans I have done some analysis on your issue: https://github.com/hyperledger/burrow/issues/713

silasdavis (Tue, 13 Mar 2018 23:52:09 GMT):
I have been able to confirm it, and I think I have been able to provide a temporary fix

brian038 (Wed, 14 Mar 2018 15:26:54 GMT):
Has joined the channel.

Valveware (Wed, 14 Mar 2018 15:54:14 GMT):
Has joined the channel.

Valveware (Wed, 14 Mar 2018 15:57:41 GMT):
Hello everyone, I'm new here! If I understood correctly it's not currently possible to get started with Monax using MacOS or Windows, right? If I am running Linux is it best to try and get familiar with Monax or should I already be looking into the bosmarmot github?

compleatang (Wed, 14 Mar 2018 17:13:28 GMT):
Bosmarmot still isn't stable, but we're getting there. I'd recommend starting with monax for tooling if you are looking to begin soonish. Bosmarmot won't be terribly different in terms of what it does and it's user interface, but under the hood is greatly improved.

compleatang (Wed, 14 Mar 2018 17:14:30 GMT):
While we have a disclaimer regarding osx, our smart contracts team all use osx and monax 0.18 along with "native docker" for osx and there do not seem to be any pressing issues.

jjjjpppp (Thu, 15 Mar 2018 00:59:04 GMT):
Has joined the channel.

Valveware (Thu, 15 Mar 2018 08:02:57 GMT):
Alright that's great to hear! I'm trying to see if I can use monax and the burrow Blockchain for an internship research project. And the permission model seems exactly what I need for the use case I've been given. I've been trying to complete the getting started tutorial, I can get everything installed through homebrew. Then I created a monax docker with virtualbox. But after I run eval $(docker-machine env monax) every monax command returns exit status 1. Any chance you know what I'm doing wrong?

Valveware (Thu, 15 Mar 2018 08:02:57 GMT):
Alright that's great to hear! I'm trying to see if I can use monax and the burrow Blockchain for an internship research project. And the permission model seems exactly what I need for the use case I've been given. I've been trying to complete the getting started tutorial, I can get everything installed through homebrew. Then I created a monax docker with virtualbox. But after I run eval $(docker-machine env monax) every monax command returns exit status 1. Any chance you know what I'm doing wrong? Is it easier to get Bosmarmot to work?

Valveware (Thu, 15 Mar 2018 08:02:57 GMT):
Alright that's great to hear! I'm trying to see if I can use monax and the burrow Blockchain for an internship research project. And the permission model seems exactly what I need for the use case I've been given. I've been trying to complete the getting started tutorial, I can get everything installed through homebrew. Then I created a monax docker with virtualbox. But after I run eval $(docker-machine env monax) every monax command returns exit status 1. Any chance you know what I'm doing wrong? Is it easier to get Bosmarmot to work? EDIT: I think the issue was me naming the docker monax? It seems to be solved by naming it default, moving on! :sweat_smile:

RobertDiebels (Thu, 15 Mar 2018 12:44:22 GMT):
@Valveware if you want to just get the network up and running. You might be interested in my Kubernetes project: https://github.com/kubechain/kubechain/blob/master/docs/tutorials/burrow-on-minikube.md

RobertDiebels (Thu, 15 Mar 2018 12:44:47 GMT):
It's very very pre-alpha so don't expect advanced stuff to be working just yet.

RobertDiebels (Thu, 15 Mar 2018 12:46:02 GMT):
Also it's on 0.17.0 of Burrow and Silas told me a lot has changed in 0.18.0.

Valveware (Thu, 15 Mar 2018 13:07:05 GMT):
@RobertDiebels I will definitely check it out :smile: . My assignment's goal is to setup a private blockchain. After I have successfully chosen and setup a Blockchain there's the following use case. There are 3 roles: management, HR and employee. As a member of HR I must be able to deploy a file or a hash of that file , the file contains agreements and has to be signed by one of each roles. Only the three people part of said file can view it's contents. So after reading up on different platforms I think I can achieve this by using burrow, put the logic in smart contracts with monax in solidity and use a web frontend with metamask to have a user interface. :thinking:

RobertDiebels (Thu, 15 Mar 2018 13:11:10 GMT):
Hmm.. as of yet I don't have a complete framework that would allow you to talk with the network from outside the cluster. Nor do I have the scaffolding ready for you to create your own containers. I think you would need one of those to send messages to the network. Best to not use my setup right now than :D

Valveware (Thu, 15 Mar 2018 13:14:50 GMT):
It seems like an interesting project though, I'll follow it :relaxed: but first I'll see where monax/bos can get me

RobertDiebels (Thu, 15 Mar 2018 13:15:13 GMT):
Thanks! And good luck :D

Valveware (Thu, 15 Mar 2018 13:18:41 GMT):
Thanks I'll need it :sweat_smile:

compleatang (Fri, 16 Mar 2018 00:35:41 GMT):
@RobertDiebels that's neat. You can also refer to our helm charts which are in the main charts rwpo (for k8s) if that will be helpful to your cause. They're what we use internally at Monax.

yopep (Fri, 16 Mar 2018 05:56:38 GMT):
Has joined the channel.

RobertDiebels (Fri, 16 Mar 2018 10:31:17 GMT):
@compleatang thanks :D . What kind PersistentVolumes do the charts use? Because I ran into a whole lot of trouble when combining Minikube, Virtualbox and HostPath-PV's (the only ones Minikube supports).

lkolisko (Fri, 16 Mar 2018 11:56:54 GMT):
Has joined the channel.

compleatang (Sun, 18 Mar 2018 02:00:04 GMT):
Don't remember but should be configra able

anshulkathuria34 (Sun, 18 Mar 2018 16:31:13 GMT):
Has joined the channel.

anshulkathuria34 (Sun, 18 Mar 2018 16:33:09 GMT):
Burrow allows members to be validated in a permissioned network but at the same time, everyone else can view the transactions iff you dont setup a private blockchain. Ami Right?

vahuja4 (Mon, 19 Mar 2018 05:44:14 GMT):
Has joined the channel.

vahuja4 (Mon, 19 Mar 2018 05:48:48 GMT):
Hi All, new to the blockchain world. Trying to get some hands-on experience using Monax. I followed the multi-node chain tutorial (https://monax.io/docs/chain-deploying/#step-1-create-cloud-machine) to set up a simple permissioned chain on AWS. Now, when I try to deploy a simple smart contract, the output json does not contain any transaction hash. `{ "assertStorage": "", "defaultAddr": "5CE6EED5C61E37E84959F1209318062620672E84", "deployStorageK": "", "queryStorage": "", "setStorage": "", "setStorageBase": "" } `. Any pointers on how to debug this?

vahuja4 (Mon, 19 Mar 2018 05:48:48 GMT):
Hi All, new to the blockchain world. Trying to get some hands-on experience using Monax. I followed the multi-node chain tutorial (https://monax.io/docs/chain-deploying/#step-1-create-cloud-machine) to set up a simple permissioned chain on AWS. Now, when I try to deploy a simple smart contract, the output json does not contain any transaction hash. `{ "assertStorage": "", "defaultAddr": "5CE6EED5C61E37E84959F1209318062620672E84", "deployStorageK": "", "queryStorage": "", "setStorage": "", "setStorageBase": "" } `. Any pointers on how to debug this?

vahuja4 (Mon, 19 Mar 2018 05:51:36 GMT):
I can see consensus messages being exchanged between the nodes:

vahuja4 (Mon, 19 Mar 2018 05:52:18 GMT):
INFO[03-19|05:50:39] Added to lastPrecommits: VoteSet{H:4762 R:0 T:2 +2/3:C1F6E73A2FD7A0C89307A3681D66374EA4EE1449:1:C4F15B5F5091 BA{4:XXXX} map[]} log_channel=Info run_id=e84ecaf1-2b29-11e8-8d2f-ed0b5fd035f2 trace="[capture.go:48 handler_go14.go:14 handler_go14.go:14 logger.go:109 logger.go:142 state.go:1396 state.go:1350 state.go:679 state.go:631 asm_amd64.s:2337]" scope=Serve captured_logging_source=tendermint_log15 module=consensus DBUG[03-19|05:50:39] Broadcast log_channel=Trace run_id=e84ecaf1-2b29-11e8-8d2f-ed0b5fd035f2 trace="[capture.go:51 handler_go14.go:14 handler_go14.go:14 logger.go:109 logger.go:138 switch.go:348 reactor.go:331 reactor.go:308 events.go:141 events.go:178 events.go:144 events.go:135 events.go:157 state.go:1397 state.go:1350 state.go:679 state.go:631 asm_amd64.s:2337]" scope=Serve captured_logging_source=tendermint_log15 module=p2p channel=20 msg="{ConsensusMessage:[HasVote VI:3 V:{4762/00/2} VI:3]}" DBUG[03-19|05:50:39] Send log_channel=Trace run_id=e84ecaf1-2b29-11e8-8d2f-ed0b5fd035f2 trace="[capture.go:51 handler_go14.go:14 handler_go14.go:14 logger.go:109 logger.go:138 connection.go:211 peer.go:233 switch.go:351 asm_amd64.s:2337]" scope=Serve captured_logging_source=tendermint_log15 module=p2p channel=20 conn=MConn{52.10.7.235:56048} msg="{ConsensusMessage:[HasVote VI:3 V:{4762/00/2} VI:3]}" DBUG[03-19|05:50:39] Write Msg Packet log_channel=Trace run_id=e84ecaf1-2b29-11e8-8d2f-ed0b5fd035f2 trace="[capture.go:51 handler_go14.go:14 handler_go14.go:14 logger.go:109 logger.go:138 connection.go:629 connection.go:374 connection.go:340 connection.go:307 asm_amd64.s:2337]" scope=Serve captured_logging_source=tendermint_log15 module=p2p conn=MConn{52.10.7.235:56048} packet="MsgPacket{20:1502129A00020103 T:1}" DBUG[03-19|05:50:39] Send log_channel=Trace run_id=e84ecaf1-2b29-11e8-8d2f-ed0b5fd035f2 trace="[capture.go:51 handler_go14.go:14 handler_go14.go:14 logger.go:109 logger.go:138 connection.go:211 peer.go:233 switch.go:351 asm_amd64.s:2337]" scope=Serve captured_logging_source=tendermint_log15 module=p2p channel=20 conn=MConn{35.163.223.169:46656} msg="{ConsensusMessage:[HasVote VI:3 V:{4762/00/2} VI:3]}" DBUG[03-19|05:50:39] Send log_channel=Trace run_id=e84ecaf1-2b29-11e8-8d2f-ed0b5fd035f2 trace="[capture.go:51 handler_go14.go:14 handler_go14.go:14 logger.go:109 logger.go:138 connection.go:211 peer.go:233 switch.go:351 asm_amd64.s:2337]" scope=Serve captured_logging_source=tendermint_log15 module=p2p channel=20 conn=MConn{34.213.195.177:48714} msg="{ConsensusMessage:[HasVote VI:3 V:{4762/00/2} VI:3]}" DBUG[03-19|05:50:39] Write Msg Packet log_channel=Trace run_id=e84ecaf1-2b29-11e8-8d2f-ed0b5fd035f2 trace="[capture.go:51 handler_go14.go:14 handler_go14.go:14 logger.go:109 logger.go:138 connection.go:629 connection.go:374 connection.go:340 connection.go:307 asm_amd64.s:2337]" scope=Serve captured_logging_source=tendermint_log15 module=p2p conn=MConn{34.213.195.177:48714} packet="MsgPacket{20:1502129A00020103 T:1}" DBUG[03-19|05:50:39] Write Msg Packet log_channel=Trace run_id=e84ecaf1-2b29-11e8-8d2f-ed0b5fd035f2 trace="[capture.go:51 handler_go14.go:14 handler_go14.go:14 logger.go:109 logger.go:138 connection.go:629 connection.go:374 connection.go:340 connection.go:307 asm_amd64.s:2337]" scope=Serve captured_logging_source=tendermint_log15 module=p2p conn=MConn{35.163.223.169:46656} packet="MsgPacket{20:1502129A00020103 T:1}"

vahuja4 (Mon, 19 Mar 2018 05:52:34 GMT):
But, nothing which indicates 'BLOCK CREATION'

vahuja4 (Mon, 19 Mar 2018 05:52:34 GMT):
*But, nothing which indicates 'BLOCK CREATION'*

vahuja4 (Mon, 19 Mar 2018 06:29:36 GMT):
Please ignore the above question: I got it to work

kevinstr (Mon, 19 Mar 2018 13:47:25 GMT):

Clipboard - March 19, 2018 2:47 PM

kevinstr (Mon, 19 Mar 2018 13:47:29 GMT):
anybody got an idea?

kevinstr (Mon, 19 Mar 2018 13:47:44 GMT):
It happens when trying to add a string to an array in the contract via web3

kevinstr (Mon, 19 Mar 2018 13:49:54 GMT):
sorry, it happens when getting a value from this array

canerbuga (Mon, 19 Mar 2018 14:28:34 GMT):
Has joined the channel.

compleatang (Mon, 19 Mar 2018 14:55:33 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=f4zAo5tykyCCyeLu7) @anshulkathuria34 yes, that's correct. anyone that can connect into the network to validate it can see the transactions.

compleatang (Mon, 19 Mar 2018 14:56:52 GMT):
@kevinstr that's _usually_ a solidity error. not a very helpful one, but it's basically the way that solidity throws.

kevinmcmahon (Mon, 19 Mar 2018 17:41:08 GMT):
Has joined the channel.

ck0316 (Tue, 20 Mar 2018 03:44:26 GMT):
Has joined the channel.

Valveware (Tue, 20 Mar 2018 08:16:05 GMT):
When setting up a chain, how does one distribute the private keys if --unsafe is not used? And what is the name registry? (users can have a permission to use the name registry)

Benoit.R (Tue, 20 Mar 2018 09:49:37 GMT):
Has joined the channel.

ShikarSharma (Tue, 20 Mar 2018 22:35:16 GMT):
Has joined the channel.

vahuja4 (Wed, 21 Mar 2018 06:42:03 GMT):
Getting this error when trying to use legacy-contracts.js to execute a smart contract: Burrow error: Call of method "toJSON" with parameters 'server' responded with "Method not found: burrow.toJSON".

vahuja4 (Wed, 21 Mar 2018 06:42:03 GMT):
Getting this error when trying to use legacy-contracts.js to execute a smart contract: Burrow error: *Call of method "toJSON" with parameters 'server' responded with "Method not found: burrow.toJSON".*

vahuja4 (Wed, 21 Mar 2018 06:43:12 GMT):
here is how my server.js looks like:

vahuja4 (Wed, 21 Mar 2018 06:43:15 GMT):
`var contracts = require('@monax/legacy-contracts'); // URL to the rpc endpoint of the Burrow server. var burrowURL = "http://localhost:1337/rpc"; var accJson = require("./data.json") //var contractManager = contracts.newContractManagerDev(burrowURL, accJson); var myAbi = [{"constant":false,"inputs":[{"name":"x","type":"uint256"}],"name":"set","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"get","outputs":[{"name":"retVal","type":"uint256"}],"payable":false,"type":"function"}] var contractAddress = accJson.address var contractManager = contracts.newContractManagerDev(burrowURL, accJson); console.log("--cm--", contractManager) var myContractFactory = contractManager.newContractFactory(myAbi); `

vahuja4 (Wed, 21 Mar 2018 06:44:04 GMT):
I have the burrow server running on the same machine

vahuja4 (Wed, 21 Mar 2018 06:47:37 GMT):
Here is the output of `curl localhost:1337/network {"client_version":"0.9.2","moniker":"multichain_full_000","listening":true,"listeners":[],"peers":[{"node_info":{"pub_key":"8F781BBA00150B89A3FF5AA6009D26CBBB3325FE43D4B9EA001E16239F0B501A","moniker":"multichain_validator_002","network":"multichain","remote_addr":"35.164.145.9:46656","listen_addr":"172.17.0.4:46656","version":"0.9.2","other":["wire_version=0.6.1","p2p_version=0.5.0","consensus_version=v1/0.2.2","rpc_version=0.7.0/3","tx_index=off","rpc_addr="]},"is_outbound":true},{"node_info":{"pub_key":"A33B9C731A4AB851E6D4481899F979729FEB78DFC5246588892467D95E833156","moniker":"multichain_validator_000","network":"multichain","remote_addr":"34.213.195.177:46656","listen_addr":"172.17.0.4:46656","version":"0.9.2","other":["wire_version=0.6.1","p2p_version=0.5.0","consensus_version=v1/0.2.2","rpc_version=0.7.0/3","tx_index=off","rpc_addr="]},"is_outbound":true},{"node_info":{"pub_key":"261693D883CF5569EEAA41A4530DA097FA9C86990C374D0F6D7B752326710E5C","moniker":"multichain_validator_001","network":"multichain","remote_addr":"52.10.7.235:46656","listen_addr":"172.17.0.4:46656","version":"0.9.2","other":["wire_version=0.6.1","p2p_version=0.5.0","consensus_version=v1/0.2.2","rpc_version=0.7.0/3","tx_index=off","rpc_addr="]},"is_outbound":true}]}`

vahuja4 (Wed, 21 Mar 2018 06:47:37 GMT):
Here is the output of `$curl localhost:1337/network` `{"client_version":"0.9.2","moniker":"multichain_full_000","listening":true,"listeners":[],"peers":[{"node_info":{"pub_key":"8F781BBA00150B89A3FF5AA6009D26CBBB3325FE43D4B9EA001E16239F0B501A","moniker":"multichain_validator_002","network":"multichain","remote_addr":"35.164.145.9:46656","listen_addr":"172.17.0.4:46656","version":"0.9.2","other":["wire_version=0.6.1","p2p_version=0.5.0","consensus_version=v1/0.2.2","rpc_version=0.7.0/3","tx_index=off","rpc_addr="]},"is_outbound":true},{"node_info":{"pub_key":"A33B9C731A4AB851E6D4481899F979729FEB78DFC5246588892467D95E833156","moniker":"multichain_validator_000","network":"multichain","remote_addr":"34.213.195.177:46656","listen_addr":"172.17.0.4:46656","version":"0.9.2","other":["wire_version=0.6.1","p2p_version=0.5.0","consensus_version=v1/0.2.2","rpc_version=0.7.0/3","tx_index=off","rpc_addr="]},"is_outbound":true},{"node_info":{"pub_key":"261693D883CF5569EEAA41A4530DA097FA9C86990C374D0F6D7B752326710E5C","moniker":"multichain_validator_001","network":"multichain","remote_addr":"52.10.7.235:46656","listen_addr":"172.17.0.4:46656","version":"0.9.2","other":["wire_version=0.6.1","p2p_version=0.5.0","consensus_version=v1/0.2.2","rpc_version=0.7.0/3","tx_index=off","rpc_addr="]},"is_outbound":true}]}`

joaofguerreiro (Wed, 21 Mar 2018 11:37:35 GMT):
Has joined the channel.

joaofguerreiro (Wed, 21 Mar 2018 11:38:04 GMT):
Hi guys, is there the possibility of developing a Burrow blockchain application that does not consume gas?

jongchulseon (Wed, 21 Mar 2018 12:33:57 GMT):
Has joined the channel.

Valveware (Wed, 21 Mar 2018 14:29:12 GMT):
@joaofguerreiro I have only just started looking into blockchain technology so my answer may not be correct. But as far as I understand is that in contrast to other Blockchains which use gas to 'pay' for transactions, hyperledger burrow uses gas just to make sure there are no infinite loops. In other blockchain technologies you need the gas to pay for the transaction while in burrow the appropriate amount of gas is distributed to the user so he can complete a transaction as long as he is permissioned to do so. This is how I interpreted it, I hope this source is valid [https://softjourn.com/blog/fabric-chaincode-vs-burrow-evm/]

joaofguerreiro (Wed, 21 Mar 2018 15:44:49 GMT):
Helpful answer, thanks @Valveware

joaofguerreiro (Wed, 21 Mar 2018 15:46:14 GMT):
Do you happen to know why the project is so dead since last summer? It's too bad... I see so much potential in Burrow

silasdavis (Wed, 21 Mar 2018 16:03:07 GMT):
not dead :)

silasdavis (Wed, 21 Mar 2018 16:03:23 GMT):
see develop branch: https://github.com/hyperledger/burrow/tree/develop

silasdavis (Wed, 21 Mar 2018 16:03:41 GMT):
major refactor has been undertaken

silasdavis (Wed, 21 Mar 2018 16:04:11 GMT):
I'm looking to make a release when possible but my focus is stabilising develop on our use case which should exercise the code significantly

joaofguerreiro (Wed, 21 Mar 2018 16:11:08 GMT):
oh my bad @silasdavis I was only looking at the master branch

joaofguerreiro (Wed, 21 Mar 2018 16:11:22 GMT):
Keep up with the great work then :)

joaofguerreiro (Wed, 21 Mar 2018 16:11:31 GMT):
Any estimation for the release date?

compleatang (Wed, 21 Mar 2018 23:45:50 GMT):
@Valveware typically it is not ideal to distribute private keys unless one is talking about within a cluster. the name registry is a dead simple key:value storage that folks can use to register things. it's been a feature of burrow for ages but it's not heavily used

floatware (Thu, 22 Mar 2018 05:08:04 GMT):
Has joined the channel.

gaurav94 (Thu, 22 Mar 2018 05:53:27 GMT):

makeBuildOfDevelop.png

gaurav94 (Thu, 22 Mar 2018 05:54:02 GMT):
I get the above error when i take a pull of develop branch and make build

gaurav94 (Thu, 22 Mar 2018 09:08:54 GMT):
same with perfo branch

Valveware (Thu, 22 Mar 2018 10:00:51 GMT):
Thanks @compleatang that clears things up for me :slight_smile:

floatware (Thu, 22 Mar 2018 21:03:29 GMT):
Has left the channel.

brycebudd (Thu, 22 Mar 2018 21:11:55 GMT):
Has joined the channel.

PrashantS (Fri, 23 Mar 2018 03:15:09 GMT):
Has joined the channel.

dexhunter (Fri, 23 Mar 2018 05:38:45 GMT):
Has joined the channel.

MrLongmire (Fri, 23 Mar 2018 07:50:15 GMT):
Has joined the channel.

silasdavis (Sat, 24 Mar 2018 12:50:08 GMT):
@gaurav94 upgrade to go 1.10

gaurav94 (Mon, 26 Mar 2018 03:57:53 GMT):
thnks @silasdavis

gaurav94 (Mon, 26 Mar 2018 05:14:04 GMT):
can i use the chain which I have created using monax with 1 full account. If yes, can you guide me how to run that? Previously I was doing it through burrow serve --work-dir . But now I'm not able to use burrow serve cmd with the perfo branch

chessequality (Mon, 26 Mar 2018 07:12:27 GMT):
Has joined the channel.

KaranA 3 (Mon, 26 Mar 2018 09:54:33 GMT):
Has joined the channel.

Valveware (Mon, 26 Mar 2018 13:47:30 GMT):
I've been trying to setup a multinode chain and I think I am on the right path, however there seems to be an error. when looking at the logs they are having trouble connecting to each other the errors I am getting are Timed out, failed dealing address and error dealing seed . the explicit errors are "dial tcp (ipaddress:46656: I/o timeout. Any clue to how I can fix this? I am using ubuntu 16.04 nodes deployed on azure

Valveware (Mon, 26 Mar 2018 13:47:30 GMT):
I've been trying to setup a multinode chain and I think I am on the right path, however there seems to be an error. when looking at the logs they are having trouble connecting to each other the errors I am getting are Timed out, failed dealing address and error dealing seed . the explicit errors are "dial tcp (ipaddress:46656: I/o timeout. Any clue to how I can fix this? I am using ubuntu 16.04 nodes deployed on azure. I am following the multinode tutorial

Valveware (Mon, 26 Mar 2018 13:47:30 GMT):
I've been trying to setup a multinode chain and I think I am on the right path, however there seems to be an error. when looking at the logs they are having trouble connecting to each other the errors I am getting are Timed out, failed dialing address and error dialing seed . the explicit errors are "dial tcp (ipaddress:46656: I/o timeout. Any clue to how I can fix this? I am using ubuntu 16.04 nodes deployed on azure. I am following the multinode tutorial

Valveware (Mon, 26 Mar 2018 14:18:44 GMT):
SOLUTION: open the ports :sweat_smile:

Valveware (Mon, 26 Mar 2018 14:28:36 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=SJFEkmfdA2KwA2QzJ) SOLUTION: open the ports 😅

Valveware (Tue, 27 Mar 2018 06:43:14 GMT):
So I have now setup my blockchain, it has a full node and three validator nodes running in the cloud. How can I now start adding accounts? Do I add them through a smart contract? Do I need to write one myself or do I call an existing contract? If so, how? :thinking:

Valveware (Tue, 27 Mar 2018 07:04:51 GMT):
@gaurav94 I think you need at least 3 validator nodes to run a chain, but I could be wrong. You need to copy the matching account folders found in ~/.monax/chains/$YOURCHAINNAME/ to each node in the matching path. It contains a config.toml genesis.json and privileged_validator.json and privileged_validator.json Run this on the full node: monax chains start $YOURCHAINNAME --init-dir ~/.monax/chains/full_000 --logrotate On validator node 1: monax chains start $YOURCHAINNAME --init-dir ~/.monax/chains/validator_000 --logrotate On validator node 2: monax chains start $YOURCHAINNAME --init-dir ~/.monax/chains/validator_001 --logrotate On validator node 3: monax chains start $YOURCHAINNAME --init-dir ~/.monax/chains/validator_002 --logrotate

gaurav94 (Tue, 27 Mar 2018 07:10:57 GMT):
This i can do it using monax tooling @Valveware But when I use the burrow develop branch, I get the privilege of creating accounts using burrow command *burrow spec --participant-accounts=1 --full-accounts=1 > genesis-spec.json* which create the genesis file. After that I need to run *burrow configure --genesis-spec=genesis-spec.json --validator-index=0 > burrow.toml* to generate toml file. In this toml file I can find my address and public key of generated account, but no where around I could see the private key to access the burrow chain over RPC

Valveware (Tue, 27 Mar 2018 08:14:11 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=7yn4AGFEGgfCkPmfj) @gaurav94 Please correct me if I'm wrong but I THINK it should be possible to add accounts when the chain is already running without changing the genesis file. So a system 'admin' can add employees for example. I just can't find any information on HOW to do it though :confused:

gaurav94 (Tue, 27 Mar 2018 11:50:41 GMT):
Even I'm afraid to do so... alternate to it I wrote my own smart contract to create account.

kevinstr (Tue, 27 Mar 2018 17:37:35 GMT):
What is the command to show the transactions? Assuming this is possible.

dennis-bsi (Wed, 28 Mar 2018 02:22:36 GMT):
Has joined the channel.

sanjayjaiswal (Wed, 28 Mar 2018 05:38:37 GMT):
Has joined the channel.

sanjayjaiswal (Wed, 28 Mar 2018 05:39:12 GMT):
Hi team

sanjayjaiswal (Wed, 28 Mar 2018 05:41:05 GMT):
https://github.com/hyperledger/burrow this repo I need to setup in linux posiible???

Valveware (Wed, 28 Mar 2018 05:47:30 GMT):
@sanjayjaiswal Yes it is possible see https://monax.io/docs/getting-started/

sanjayjaiswal (Wed, 28 Mar 2018 05:48:17 GMT):
is there any microservice for hyperledger burrow ???

sanjayjaiswal (Wed, 28 Mar 2018 05:48:17 GMT):
@Valveware is there any microservice for hyperledger burrow ???

sanjayjaiswal (Wed, 28 Mar 2018 05:48:17 GMT):
@Valveware maybe I need a microservice on hyperledger burrow. so is there repo of this.so I understand microservice on this

sanjayjaiswal (Wed, 28 Mar 2018 05:48:17 GMT):
@Valveware maybe I need a microservice on hyperledger burrow. so is there repo of this.so I understand microservice on this

Valveware (Wed, 28 Mar 2018 05:51:11 GMT):
You can install burrow seperately but I have only used monax

sanjayjaiswal (Wed, 28 Mar 2018 05:53:06 GMT):
@Valveware maybe I need a microservice on hyperledger burrow. so is there repo of this.so I understand microservice on this

sanjayjaiswal (Wed, 28 Mar 2018 05:53:06 GMT):
@Valveware maybe I need a microservice on hyperledger burrow. so is there repo of this.so I understand microservice on this

sanjayjaiswal (Wed, 28 Mar 2018 06:15:56 GMT):
???

Valveware (Wed, 28 Mar 2018 06:46:36 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=JWiuZ64B8dzNmJqgN) @kevinstr You don't mean monax chains logs -f , right? This seems to only show the blocks :thinking:

Valveware (Wed, 28 Mar 2018 06:46:36 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=JWiuZ64B8dzNmJqgN) @kevinstr You don't mean monax chains logs $YOURCHAINNAME -f , right? This seems to only show the blocks :thinking:

sanjayjaiswal (Wed, 28 Mar 2018 06:56:45 GMT):
@Valveware maybe I need a microservice on hyperledger burrow. so is there repo of this.so I understand microservice on this

pouladzade (Wed, 28 Mar 2018 11:08:58 GMT):
Hi all, We are going lunch a private testnet with the develop branch, but as I tested the rpc on port 1337 is not ready yet, I wanted know when it will be ready and do you have any plan to move to Tendermint 17?

pouladzade (Wed, 28 Mar 2018 11:10:23 GMT):
for now we can run the new burrow with the monax-keys , and already using the tendermint rpc

kevinstr (Wed, 28 Mar 2018 12:09:59 GMT):
no i mean the transactions, like "address xxx to address yyy"

fredrbl (Wed, 28 Mar 2018 15:05:52 GMT):
Hi everyone! I have made an Ethereum application that requires 50 standard Ethereum transactions per second (given that one tx use 21 000 gas). Any idea of the corresponding feasibility of implementing this in a burrow chain? What is needed of computational power and bandwidth in order to achieve this scalability?

fredrbl (Wed, 28 Mar 2018 15:05:57 GMT):
In general, any information about how the scalability varies with available computer power/bandwidth is useful!

KOttoni (Wed, 28 Mar 2018 16:51:46 GMT):
Has joined the channel.

compleatang (Wed, 28 Mar 2018 20:51:10 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=YpAobEGEK2Lxkr4G4) @pouladzade We probably won't have time to upgrade beyond 0.16 before we stabilize and release 0.18. We are finalizing the 1337 stuff now and making sure legacy-js test suite works. We hope to finalize the 0.18 release before end of next week.

compleatang (Wed, 28 Mar 2018 20:53:50 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=ntuCSGwhpYhy3A7dm) @Valveware @gaurav94 to create accounts with the global default permissions just send the account a single token or use the monax pkgs suite to create Account. We have examples in the jobs_fixtures directory of the test suite within the monax repository (or bosmarmot).

compleatang (Wed, 28 Mar 2018 20:55:07 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=h7Jug6i5kpg8Bu3Zi) @fredrbl burrow is fast but such benchmarks are exceedingly hard to commit to because it all depends on the complexity of the contract call stack.

compleatang (Wed, 28 Mar 2018 20:57:09 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=wvztTmQH7cMLnZjCS) @kevinstr this is not queryable from burrow. Blockchains are better thought of as event logs than traditional databases. The solution to this problem is to pipe information into traditional db to enable advanced queries.

gaurav94 (Thu, 29 Mar 2018 04:02:59 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=sJ4RykDKwPPeRhcs9) @compleatang

gaurav94 (Thu, 29 Mar 2018 04:04:13 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=sJ4RykDKwPPeRhcs9) @compleatang Sending token to that newly generated address gives us error in return saying the account doesn't exist.. :(

gaurav94 (Thu, 29 Mar 2018 04:09:00 GMT):
@compleatang Another query I have: when I use the burrow develop branch, I get the privilege of starting my chain using burrow command *burrow spec --participant-accounts=1 --full-accounts=1 > genesis-spec.json* which create the genesis file. After that I need to run *burrow configure --genesis-spec=genesis-spec.json --validator-index=0 > burrow.toml* to generate toml file. In this toml file I can find my address and public key of generated account, but no where around I could see the private key to access the burrow chain over RPC :( Where would I get my private key of the respective accounts, so that I can create my manager object using legacy-contract in nodejs??

jaswanth (Thu, 29 Mar 2018 04:16:48 GMT):
Has joined the channel.

ZPDCEO (Thu, 29 Mar 2018 06:28:02 GMT):
Has joined the channel.

Valveware (Thu, 29 Mar 2018 07:10:33 GMT):
Thanks @compleatang ! I will check out the jobs in the test suite, I didn't think about looking in there :face_palm: . Next step for me is setting up accounts and their roles. Then I will need to look into seeing if I can hook it all up to a frontend.

Valveware (Thu, 29 Mar 2018 07:13:20 GMT):
@gaurav94 Hey have you checked out the known chain making tutorial? I know this concerns the monax platform and not the hyperledger burrow directly. BUT as far as I understood an address is the hash of a public key, so if you generate your own pub-priv key pairs you can put the address and the public key in the genesis file, and keep the private key for your RPC calls. Could this be a solution to your problem? :thinking:

pouladzade (Thu, 29 Mar 2018 09:31:25 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=7Donzm6JFwav55xio) @compleatang Thank you

sanjayjaiswal (Thu, 29 Mar 2018 11:11:28 GMT):
Hi i want to setup hyperledger/burrow on ubuntu linux? anyone help

Valveware (Thu, 29 Mar 2018 12:01:50 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=E73MYuXxiMH4AoafE) @sanjayjaiswal See Installation: (master branch) https://github.com/hyperledger/burrow/blob/master/README.md ; (develop branch) https://github.com/hyperledger/burrow/blob/develop/README.md For the monax tooling platform: https://github.com/monax/monax For bosmarmot tools: https://github.com/monax/bosmarmot See Introductory curriculum here: https://wiki.hyperledger.org/projects/burrow/roadmap_2018_q1

Valveware (Thu, 29 Mar 2018 12:01:50 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=E73MYuXxiMH4AoafE) @sanjayjaiswal See Installation: (master branch) https://github.com/hyperledger/burrow/blob/master/README.md ; (develop branch) https://github.com/hyperledger/burrow/blob/develop/README.md For the monax tooling platform: https://github.com/monax/monax For bosmarmot tools: https://github.com/monax/bosmarmot See Introductory curriculum here: https://wiki.hyperledger.org/projects/burrow/roadmap_2018_q1

Valveware (Thu, 29 Mar 2018 12:01:50 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=E73MYuXxiMH4AoafE) @sanjayjaiswal See Installation: (master branch) https://github.com/hyperledger/burrow/blob/master/README.md ; (develop branch) https://github.com/hyperledger/burrow/blob/develop/README.md For the monax tooling platform: https://github.com/monax/monax For bosmarmot tools: https://github.com/monax/bosmarmot See Introductory curriculum here: https://wiki.hyperledger.org/projects/burrow/roadmap_2018_q1

kevinstr (Thu, 29 Mar 2018 12:39:15 GMT):
@compleatang Thank you for the answer. So it's not possible to view transactions at all in Burrow?

compleatang (Thu, 29 Mar 2018 13:28:58 GMT):
Kevin, you can pull specific blocks which give you the tx'es. Here are the endpoints available on master. ``` Available endpoints: http://localhost:46657/chain_id http://localhost:46657/dump_consensus_state http://localhost:46657/genesis http://localhost:46657/list_accounts http://localhost:46657/list_names http://localhost:46657/list_unconfirmed_txs http://localhost:46657/list_validators http://localhost:46657/net_info http://localhost:46657/status http://localhost:46657/unsafe/gen_priv_account Endpoints that require arguments: http://localhost:46657/blockchain?minHeight=_&maxHeight=_ http://localhost:46657/broadcast_tx?tx=_ http://localhost:46657/call?fromAddress=_&toAddress=_&data=_ http://localhost:46657/call_code?fromAddress=_&code=_&data=_ http://localhost:46657/dump_storage?address=_ http://localhost:46657/get_account?address=_ http://localhost:46657/get_block?height=_ http://localhost:46657/get_name?name=_ http://localhost:46657/get_storage?address=_&key=_ http://localhost:46657/subscribe?eventId=_ http://localhost:46657/unsafe/sign_tx?tx=_&privAccounts=_ http://localhost:46657/unsubscribe?subscriptionId=_ ```

compleatang (Thu, 29 Mar 2018 13:31:39 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=QWSaDhwkX3EgC7vzh) @gaurav94 burrow develop is in the late stages of stabilizing after it's massive refactor. We are changing how the js libs will connect to burrow such that burrow's connection to the key server will conduct the signing. So when this stabilizes early next week you won't use your private key in the js libs but rather will just send the address to sign from. Give us a few more days to finish stabilizing and it'll all be usable.

sanjayjaiswal (Thu, 29 Mar 2018 13:59:52 GMT):
is there any database for burrow?

tkuhrt (Thu, 29 Mar 2018 16:04:21 GMT):
compleatang

kpbird (Fri, 30 Mar 2018 03:30:39 GMT):
Has joined the channel.

sanjayjaiswal (Fri, 30 Mar 2018 11:09:14 GMT):
is there any database config for burrow?

snowy13 (Fri, 30 Mar 2018 12:49:04 GMT):
@gaurav94 $HOME/.monax/keys/data/

compleatang (Fri, 30 Mar 2018 15:23:27 GMT):
Thanks Tracey

compleatang (Fri, 30 Mar 2018 15:23:27 GMT):
Thanks Tracy

ousooners2834 (Fri, 30 Mar 2018 16:20:18 GMT):
Has joined the channel.

Pan0ptic (Fri, 30 Mar 2018 16:27:50 GMT):
Has joined the channel.

MikeCohen (Fri, 30 Mar 2018 18:51:35 GMT):
Has joined the channel.

gaurav94 (Sat, 31 Mar 2018 05:41:43 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=nKGfuH8qtzS2tmejE) @compleatang Thanks :)

gaurav94 (Sat, 31 Mar 2018 05:42:20 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=gBKNXdcBcmKrWmHXc) @snowy13 This goes again with monax.... I'm trying without monax

thalisson (Sun, 01 Apr 2018 02:38:43 GMT):
Has joined the channel.

snowy13 (Sun, 01 Apr 2018 15:28:15 GMT):
@gaurav94 So you're not running the monax/key server?

thangnv (Mon, 02 Apr 2018 09:46:27 GMT):
Has joined the channel.

thangnv (Mon, 02 Apr 2018 09:54:15 GMT):
Hi I'm trying to play around with burrow evm source code, but I can not figure out how to deploy smart contract into app state

thangnv (Mon, 02 Apr 2018 09:54:15 GMT):
Hi I'm trying to play around with burrow evm source code, but I can not figure out how to deploy smart contract into app state from solc bin file

thangnv (Mon, 02 Apr 2018 09:55:05 GMT):
```func main() { appState := NewAppState() caller := appState.CreateAccount(new(vm.Account)) caller.Balance = 1000000000 appState.UpdateAccount(caller) code, err := ioutil.ReadFile("target/greeter.bin") if err != nil { panic(err) } evm := vm.NewVM( appState, vm.DefaultDynamicMemoryProvider, vm.Params{GasLimit: math.MaxInt64}, caller.Address, []byte{}, ) callee := appState.CreateAccount(caller) var gas int64 = 1000000000 ret, err := evm.Call(caller, callee, code, code, 0, &gas) if err != nil { panic(fmt.Errorf("failed to call: %v", err.Error())) } fmt.Printf("\nlen=%v ret=%v gas=%v", len(ret), hex.EncodeToString(ret), gas) fmt.Printf("\ncallee.Balance=%v", appState.GetAccount(callee.Address).Balance) fmt.Printf("\ncallee.Code=%v", len(appState.GetAccount(callee.Address).Code)) fmt.Printf("\ncaller.Balance=%v", appState.GetAccount(caller.Address).Balance) }```

thangnv (Mon, 02 Apr 2018 09:55:37 GMT):
this is my sample code I tried as I followed other part in source code

thangnv (Mon, 02 Apr 2018 09:56:07 GMT):
Can anyone help me with this thing? Thanks.

audreyle (Mon, 02 Apr 2018 17:11:50 GMT):
Has joined the channel.

ThangDC (Tue, 03 Apr 2018 07:19:01 GMT):
Has joined the channel.

AnshulPadyal (Tue, 03 Apr 2018 10:46:00 GMT):
Has joined the channel.

andreamagagna (Tue, 03 Apr 2018 13:18:51 GMT):
Has joined the channel.

andreamagagna (Tue, 03 Apr 2018 13:21:02 GMT):
Hi everyone! I'm new at this project... I wanted to ask you if you have ever been in this situation: I'm trying to make rpc-json calls on the blockchain, and when I put the "broadcast_tx" method it gets this error: ``` {"jsonrpc":"2.0","id":"","result":null,"error":"Error converting http params to args: Expected type [Byte,?] but got type map[string]interface {}"} ```

andreamagagna (Tue, 03 Apr 2018 13:23:31 GMT):
Does anyone know the reason?

snowy13 (Tue, 03 Apr 2018 15:15:13 GMT):
this might help: https://github.com/hyperledger/burrow/blob/master/docs/specs/api.md#formatting-conventions

snowy13 (Tue, 03 Apr 2018 15:15:42 GMT):
Can you show us how the call is formulated?

andreamagagna (Tue, 03 Apr 2018 15:53:30 GMT):
Thanks @snowy13 I'm looking at that documentation... I've just found out I was making mistakes on the port

andreamagagna (Tue, 03 Apr 2018 15:55:13 GMT):
But I've not solved the issue... now the error is this: ``` {"error":{"code":-32603,"message":"Error broadcasting transaction: Internal error: Error invalid address"},"id":"1","jsonrpc":"2.0"} ```

andreamagagna (Tue, 03 Apr 2018 15:56:47 GMT):
The call is written in C#: ```/* public class CallTx { public string priv_key { get; set; } public string data { get; set; } public string address { get; set; } public double fee { get; set; } public double gas_limit { get; set; } } */ CallTx transaction = new CallTx() { priv_key = "68D30E29CFF4657CAF2C0F51202F5A88F4567F64D1346BE73FF55F4A3E8F9CAD3FE162DBEE6A16A0CA656E74DEF0222FF92FC31020CA427EDB7D62C1B1B0293A", data = "6369616F", address = "37438860845C5C26B5709D820E93281D87B96D04", fee = 0.1, gas_limit = 30000 }; string output = JsonConvert.SerializeObject(transaction); var httpWebRequest = (HttpWebRequest)WebRequest.Create(nodeURL); httpWebRequest.ContentType = "application/json"; httpWebRequest.Method = "POST"; using ( var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream())) { string json = "{\"jsonrpc\":\"2.0\",\"method\":\"burrow.transact\",\"params\":" + output + ",\"id\":\"1\"}"; Console.WriteLine(json); streamWriter.Write(json); streamWriter.Flush(); streamWriter.Close(); } var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse(); using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) { var result = streamReader.ReadToEnd(); return result; }```

joaofguerreiro (Tue, 03 Apr 2018 18:20:05 GMT):
Has left the channel.

cditzler (Tue, 03 Apr 2018 21:18:31 GMT):
Has joined the channel.

andreamagagna (Wed, 04 Apr 2018 09:56:20 GMT):
Good morning guys, I've just managed to broadcast a transaction... now, how can i decode tha block data?

cditzler (Wed, 04 Apr 2018 12:14:36 GMT):
Hi. Is there a comprehensive feature comparison of Burrow vs. Quorum?

cditzler (Wed, 04 Apr 2018 12:18:38 GMT):
Also, can we use Truffle with Burrow? Is there a similar tool?

cditzler (Wed, 04 Apr 2018 13:03:59 GMT):
Found web3 and tooling are not currently supported; on the 2018 roadmap: https://wiki.hyperledger.org/projects/burrow/roadmap_2018_q1

zachgoll (Wed, 04 Apr 2018 21:34:13 GMT):
Has left the channel.

gaurav94 (Thu, 05 Apr 2018 06:08:51 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=nKGfuH8qtzS2tmejE) @compleatang Please update us with this changes... It will be really helpfull to us....

gaurav94 (Thu, 05 Apr 2018 06:32:13 GMT):

peerError.png

gaurav94 (Thu, 05 Apr 2018 06:32:32 GMT):
I am looking to peer the node on my local machine

gaurav94 (Thu, 05 Apr 2018 06:32:47 GMT):
changes the seed port to 50001

gaurav94 (Thu, 05 Apr 2018 06:32:52 GMT):
Any help?

ravipatisivaramaprasad (Thu, 05 Apr 2018 07:20:57 GMT):
Has joined the channel.

RobertDiebels (Thu, 05 Apr 2018 11:46:32 GMT):
@compleatang I think you provided me with a link to some Burrow Helm charts. I have a question on those. Did you test deploying on AWS? If so, what provisioning are you using? Dynamic or static? If dynamic, which provisioner are you using?

RobertDiebels (Thu, 05 Apr 2018 11:46:32 GMT):
@compleatang I think you provided me with a link to some Burrow Helm charts a while ago. I have a question on those. Did you test deploying on AWS? If so, what provisioning are you using? Dynamic or static? If dynamic, which provisioner are you using?

RobertDiebels (Thu, 05 Apr 2018 11:47:03 GMT):
I'm running into some issues with dynamic provisioning of AWS EBS volumes and I really don't want to create the volumes manually.

RobertDiebels (Thu, 05 Apr 2018 11:48:48 GMT):
I'm considering using Open-EBS as an alternative. I wanted to use EFS but that would require manual creation and it's not free-tier eligible.

RobertDiebels (Thu, 05 Apr 2018 11:51:10 GMT):
The reason I'm asking is because I ran into an issue with goleveldb crashing on Hostpath volumes due to some low-level issue.

RobertDiebels (Thu, 05 Apr 2018 11:51:38 GMT):
And I believe Open-EBS uses a the hostpath `/var/openebs/*` to do it's provisioning on each node.

RobertDiebels (Thu, 05 Apr 2018 11:52:06 GMT):
If you got it working on AWS I'd love to know.

kpkrish (Thu, 05 Apr 2018 13:29:12 GMT):
Has joined the channel.

compleatang (Thu, 05 Apr 2018 14:48:55 GMT):
@RobertDiebels haven't tested on AWS, but dynamic provisioning of the PVCs works without any issue on GCE which we use. What your describing sounds like a problem between k8s and AWS rather than any problem with the charts. Unless you have a range of specialized storage provisioners set up I've never seen the issues that you've described. We migrated from AWS to GCE about 4 months ago, but before that we used prior versions of various charts, including what we eventually open sourced for the burrow charts. Those charts on AWS used dynamic PVC provisioning vis EBS and I never ran into any issues. That said we were pretty stock all the way down in that regard. Admittedly k8s storage provisioning has changed drastically since then as well...

compleatang (Thu, 05 Apr 2018 14:49:12 GMT):
The burrow chart is in kubernetes/charts/stable on GH.

compleatang (Thu, 05 Apr 2018 14:49:57 GMT):
https://github.com/kubernetes/charts/tree/master/stable/burrow

RobertDiebels (Fri, 06 Apr 2018 10:09:26 GMT):
@compleatang "works without any issue on GCE" Thank you! I might switch to GCE than for my project. "sounds like a problem between k8s and AWS" Correct. More precisely this issue: https://github.com/kubernetes/kubernetes/issues/45726 "Unless you have a range of specialized storage provisioners" I'm using the default `aws-ebs` provisioner. To date I have no idea what's wrong but the issue I mentioned earlier has existed for almost a year now. Thanks for the response! Glad to know the charts are ok. I'll give them a try on AWS. Will let you know if I run into anything.

compleatang (Fri, 06 Apr 2018 15:09:59 GMT):
cool.

Valveware (Mon, 09 Apr 2018 05:47:47 GMT):
Is it possible now to make a frontend using RPC/web3 for the develop branch?

Valveware (Mon, 09 Apr 2018 14:13:15 GMT):
In an ecosystem containing 3 validator nodes and 1 sergeant/full node. What would be a good way to store encrypted textiles

Valveware (Mon, 09 Apr 2018 14:13:15 GMT):
In an ecosystem containing 3 validator nodes and 1 sergeant/full node. What would be a good way to store encrypted textfiles? Linking one or more nodes to a mongodb? Or just storing the encrypted data on the Blockchain? What would you guys do?

Valveware (Mon, 09 Apr 2018 14:13:15 GMT):
In an ecosystem containing 3 validator nodes and 1 sergeant/full node. What would be a good way to store encrypted textfiles? Linking one or more nodes to a mongodb? Or just storing the encrypted data on the Blockchain? What would you guys do? The goal is to have the file approved by 3 invitees and to make sure it's not able to change anymore. So the immutability of Blockchain would have to come into play somewhere...

cliveb (Mon, 09 Apr 2018 18:58:11 GMT):
Has joined the channel.

harishperfect (Mon, 09 Apr 2018 23:54:44 GMT):
Has joined the channel.

varinder (Tue, 10 Apr 2018 05:47:51 GMT):
Has joined the channel.

nicovalencia (Tue, 10 Apr 2018 16:52:09 GMT):
Has joined the channel.

compleatang (Tue, 10 Apr 2018 17:37:35 GMT):
Current develop branch does not support web3 although we'd welcome contributions in that direction. I'd recommend checking out ipfs for your file storage challenge. We've used it heavily for a long time m

Rekha (Wed, 11 Apr 2018 05:27:15 GMT):
Has joined the channel.

Valveware (Wed, 11 Apr 2018 05:46:56 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=WrYvfHymHzZGpcAXB) @compleatang Thanks I'll check out ipfs! Does this mean ut is currently not possible to make a frontend in combination with hyperledger burrow?

Valveware (Wed, 11 Apr 2018 05:46:56 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=WrYvfHymHzZGpcAXB) @compleatang Thanks I'll check out ipfs! Does this mean it is currently not possible to make a frontend in combination with hyperledger burrow?

Rekha (Wed, 11 Apr 2018 05:50:23 GMT):
I am at beginner level trying Hyperledger-Burrow. I followed official github link of burrow to install and followed monax official doc to create chains, also written smart contracts with solidity and deployed it using `monax pkgs do ..`. But I have a doubt of how to create a block and how to make a transaction in Burrow? Please give your suggestions on this.

pouladzade (Wed, 11 Apr 2018 06:07:15 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=WrYvfHymHzZGpcAXB) @compleatang We are ready for contributing on the web3, but I think the RPC layer of the Burrow also need to be compatible with the web3 like API

pouladzade (Wed, 11 Apr 2018 06:09:44 GMT):
actually implementing web3 for burrow is very important for us, but since the 1337 is not ready in the develop branch we can't decide about it

gaurav94 (Thu, 12 Apr 2018 06:59:37 GMT):
Hi @compleatang I guess the signing thing is resolved for rpc. But i'm yet facing the issue for signing through RPC. I am passing {"address": "F1EB764DC85C29D91A5F64CC23D8958149A19C31", "pubKey": "D486F924AFA99084DA8234CB2C411BD5A29236AA646D476B4783ECC57E3FD665", "privKey": ""} in this format. Since I'm not getting any private key generated when I start the chain, so I'm passing it empty. Error getting in return is:

gaurav94 (Thu, 12 Apr 2018 06:59:58 GMT):

signingRPC.png

gaurav94 (Thu, 12 Apr 2018 07:00:54 GMT):
I'm using develop branch

zigen 1 (Thu, 12 Apr 2018 08:51:34 GMT):
Has joined the channel.

yxnl (Thu, 12 Apr 2018 15:04:32 GMT):
Has joined the channel.

MaheshBalan_Pravici (Thu, 12 Apr 2018 16:25:30 GMT):
Has joined the channel.

lvzewen (Sun, 15 Apr 2018 14:10:39 GMT):
Has joined the channel.

Rekha (Tue, 17 Apr 2018 05:33:26 GMT):
Hi all, I have a question on how to debug the transactions made in Burrow?

SanjayOjha (Tue, 17 Apr 2018 10:08:11 GMT):
Has joined the channel.

compleatang (Tue, 17 Apr 2018 20:08:09 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=mfucjbNyEDQpwd54L) @pouladzade It's stable now...

compleatang (Tue, 17 Apr 2018 20:08:22 GMT):
well its stable on develop. all our JS tests pass

compleatang (Tue, 17 Apr 2018 20:09:16 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=sZjA3RSXjrdnsbCsG) @Valveware It is typically an anti-pattern to directly connect front ends to the chain. We highly recommend running through a middleware server. In which case it is very easy to connect burrow.

compleatang (Tue, 17 Apr 2018 20:10:32 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=MhPSEwFvANisfFfeK) @Rekha block creation happens automatically as long as your chain is running. if you want to make a transaction you have a number of options. the easiest is to leverage the monax pkgs do 's yaml interface to set up your chain and then leverage burrow's javascript libraries to build middleware

compleatang (Tue, 17 Apr 2018 20:12:07 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=hvXWuvGDDPLnrxNcC) @gaurav94 that won't work, you need to either only give it the address or give it the private key. Use monax services exec keys -- monax-keys convert --addr $ADDR to convert the private key into the correct encoding for that json file.

Valveware (Wed, 18 Apr 2018 05:49:39 GMT):
@compleatang Could you give an example of such a middleware server? :thinking_face:

andreamagagna (Wed, 18 Apr 2018 07:16:54 GMT):
Has left the channel.

Rekha (Wed, 18 Apr 2018 10:18:41 GMT):
@compleatang , Thanks for your suggestion. I followed the monax official doc https://monax.io/docs/getting-started/ and tried `monax pkgs do` with one chain and output is as follows ```$ monax pkgs do --chain advchain --address $addr *****Executing Job***** Job Name defaultAddr ``` The content of output json file is ``` $ cat epm.output.json { "assertStorage": "", "defaultAddr": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "deployStorageK": "", "queryStorage": "", "setStorage": "", "setStorageBase": "" } ``` I am unable to see the execution output for the jobs(i.e assertStorage, deployStorageK...) defined in epm.yaml file.

Rekha (Wed, 18 Apr 2018 10:42:07 GMT):
@compleatang , the isuue got resolved with the link https://ethereum.stackexchange.com/questions/31956/monax-issue-in-executing-job-configuration-file/

kevinstr (Thu, 19 Apr 2018 10:16:12 GMT):
Is it possible to update monax/burrow, I think I've got quite a buggy version

RobertDiebels (Thu, 19 Apr 2018 14:58:34 GMT):
Hey guys, could anyone tell me what the right permission value is for creating a SendTx?

compleatang (Thu, 19 Apr 2018 19:07:13 GMT):
Kevinstr, you can use develop branch if you want, if you have a bug you can identify we'd love a report on it, but we're just finalizing and stabilizing for thr next release of burrow now.

compleatang (Thu, 19 Apr 2018 19:08:17 GMT):
Valve, typically folks build REST API server's in node that use the js libraries and then provide a restful interface for front end apps.

compleatang (Thu, 19 Apr 2018 19:09:15 GMT):
Robert, I'm not sure. What branch of burrow are you using?

silasdavis (Thu, 19 Apr 2018 20:25:27 GMT):
@RobertDiebels it's `Send` which is 2 i.e. the second bit in the binary representation of the permission bitset: 0b10

silasdavis (Thu, 19 Apr 2018 20:26:41 GMT):
`burrow spec` can help with this: ``` $> burrow spec -f1 -p1 { "Accounts": [ { "Amount": 99999999999999, "AmountBonded": 9999999999, "Name": "Full_0", "Permissions": [ "all" ] }, { "Amount": 9999999999, "Name": "Participant_0", "Permissions": [ "send", "call", "name", "hasRole" ] } ] ```

silasdavis (Thu, 19 Apr 2018 20:26:41 GMT):
`burrow spec` can help with this: ``` $> burrow spec -f1 -p1 { "Accounts": [ { "Amount": 99999999999999, "AmountBonded": 9999999999, "Name": "Full_0", "Permissions": [ "all" ] }, { "Amount": 9999999999, "Name": "Participant_0", "Permissions": [ "send", "call", "name", "hasRole" ] } ] ```

silasdavis (Thu, 19 Apr 2018 20:26:41 GMT):
`burrow spec` can help with this: ``` $> burrow spec -f1 -p1 { "Accounts": [ { "Amount": 99999999999999, "AmountBonded": 9999999999, "Name": "Full_0", "Permissions": [ "all" ] }, { "Amount": 9999999999, "Name": "Participant_0", "Permissions": [ "send", "call", "name", "hasRole" ] } ] } ```

silasdavis (Thu, 19 Apr 2018 20:26:41 GMT):
`burrow spec` can help with this: ``` $ burrow spec -f1 -p1 { "Accounts": [ { "Amount": 99999999999999, "AmountBonded": 9999999999, "Name": "Full_0", "Permissions": [ "all" ] }, { "Amount": 9999999999, "Name": "Participant_0", "Permissions": [ "send", "call", "name", "hasRole" ] } ] } ```

silasdavis (Thu, 19 Apr 2018 20:26:41 GMT):
`burrow spec` can help with this: ``` $ burrow spec -f1 -p1 { "Accounts": [ { "Amount": 99999999999999, "AmountBonded": 9999999999, "Name": "Full_0", "Permissions": [ "all" ] }, { "Amount": 9999999999, "Name": "Participant_0", "Permissions": [ "send", "call", "name", "hasRole" ] } ] } ```

agunde (Thu, 19 Apr 2018 20:27:04 GMT):
Has left the channel.

silasdavis (Thu, 19 Apr 2018 20:27:09 GMT):
(from develop branch)

silasdavis (Thu, 19 Apr 2018 20:27:09 GMT):
(from develop branch)

kevinstr (Fri, 20 Apr 2018 06:05:56 GMT):
Stupid question perhaps, but how do I check which version of Burrow I got?

alekhyam (Fri, 20 Apr 2018 11:21:13 GMT):
Has joined the channel.

alekhyam (Fri, 20 Apr 2018 12:21:10 GMT):
I am working on monax platform for burrow and I did until `monax pkgs do`. Then I tried monax legacy-contracts(https://github.com/monax/legacy-contracts.js) to write js file to connect with the blockchain but I am not able call the functions of my contract using `contractAddress`. The output of my contract is as follows. ``` Contract { address: '', abi: [ { constant: false, inputs: [Array], name: 'set', outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function' }, { constant: true, inputs: [], name: 'get', outputs: [Array], payable: false, stateMutability: 'view', type: 'function' } ], set: { [Function: bound ] request: [Function: bound ], call: [Function: bound ], sendTransaction: [Function: bound ], estimateGas: [Function: bound ], getData: [Function: bound ], uint256: [Circular] }, get: { [Function: bound ] request: [Function: bound ], call: [Function: bound ], sendTransaction: [Function: bound ], estimateGas: [Function: bound ], getData: [Function: bound ], '': [Circular] } } ``` Will anyone please provide me any links for making transaction in burrow with monax. Can I see any blocks that are added after making the transaction at REST endpoint http://:46657/blockchain. Currently I seeing empty blocks

RB0071 (Fri, 20 Apr 2018 13:17:19 GMT):
Has joined the channel.

compleatang (Fri, 20 Apr 2018 18:52:34 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=7Dhiw8rgnDqTKXpvc) @kevinstr `burrow version`

compleatang (Fri, 20 Apr 2018 18:54:44 GMT):
Alek our getting started page on monax.io covers this.

YoussefAshraf (Fri, 20 Apr 2018 22:50:30 GMT):
Has joined the channel.

RobertDiebels (Sat, 21 Apr 2018 16:00:46 GMT):
@silasdavis how would that translate to the `perms:{}` object in the `genesis.json` file?

RobertDiebels (Sat, 21 Apr 2018 16:00:46 GMT):
@silasdavis ~~how would that translate to the `perms:{}` object in the `genesis.json` file?~~ Sratch that. I was using the wrong account-type.

RobertDiebels (Sat, 21 Apr 2018 16:00:46 GMT):
@silasdavis ~~how would that translate to the `perms:{}` object in the `genesis.json` file?~~ Scratch that. I was using the wrong account-type.

sunnrunner (Sat, 21 Apr 2018 23:05:45 GMT):
Has joined the channel.

sstercan (Sun, 22 Apr 2018 09:34:51 GMT):
Has joined the channel.

Rekha (Mon, 23 Apr 2018 05:27:22 GMT):
@compleatang Hi, I am very new to Nodejs. Can you suggest me a better link that explains how to use JavaScript API in a easiest way?

RobertDiebels (Mon, 23 Apr 2018 07:55:40 GMT):
I would like that as well. I'm getting these errors when using `@monax/legacy-db.js`: `"Error broadcasting transaction: Unknown error returned: Duplicate transaction (ignored)"` and `"Error broadcasting transaction: Internal error: Error invalid sequence. Got 1, expected 2"`.

RobertDiebels (Mon, 23 Apr 2018 09:01:08 GMT):
The only thing I could find on the duplicate transaction was: https://github.com/hyperledger/burrow/blob/9c70b8c8f68fce8e6dc9642fae992e9f3bc178b3/rpc/tendermint/test/rpc_client_test.go#L66

RobertDiebels (Mon, 23 Apr 2018 09:01:54 GMT):
There is no mention of Duplicate transactions elsewhere. I can't find the Error message either.

RobertDiebels (Mon, 23 Apr 2018 09:01:54 GMT):
There is no mention of Duplicate transactions elsewhere. I can't find the Error message definition either.

alekhyam (Mon, 23 Apr 2018 10:11:23 GMT):
How can I decode data transaction hash(i.e data_hash, data:{txs:"XXX"}) of blocks in hyperledger burrow?

meganeshkaila (Mon, 23 Apr 2018 11:48:11 GMT):
Has joined the channel.

GaneshKaila (Mon, 23 Apr 2018 12:07:11 GMT):
Has joined the channel.

kevinstr (Mon, 23 Apr 2018 14:06:56 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=BPbRBjZW97gfgYAky) Check out web3js and monax/legacy-contracts. The github and npm pages will teach you everything you need to know.

hosemose (Tue, 24 Apr 2018 04:56:47 GMT):
Has joined the channel.

jchenibm (Tue, 24 Apr 2018 08:09:01 GMT):
Has joined the channel.

Startoy (Tue, 24 Apr 2018 08:17:06 GMT):
Has joined the channel.

kevinstr (Tue, 24 Apr 2018 09:24:07 GMT):
Hello @compleatang Thank you for the answer. However the "burrow" command was not found (Linux LTS 16). I've installed Monax, following the tutorial on the website.

YoussefAshraf (Tue, 24 Apr 2018 09:31:20 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=2aEfLu6J8Mz5dJAJB) @kevinstr just type burrow into the terminal it should look similar to this burrow is the node server of a burrow chain. burrow combines a modular consensus engine and application manager to run a chain to suit your needs. Made with <3 by Monax Industries. Complete documentation is available at https://monax.io/docs _*VERSION: 0.17.1*_ Usage: burrow [flags] burrow [command] Available Commands: help Help about any command serve burrow serve starts a burrow node with client API enabled by default. Flags: -d, --debug debug level output; the most output available for burrow; if it is too chatty use verbose flag; default respects $BURROW_DEBUG -h, --help help for burrow -v, --verbose verbose output; more output than no output flags; less output than debug level; default respects $BURROW_VERBOSE Use "burrow [command] --help" for more information about a command.

YoussefAshraf (Tue, 24 Apr 2018 09:31:20 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=2aEfLu6J8Mz5dJAJB) @kevinstr just type burrow into the terminal it should look similar to this burrow is the node server of a burrow chain. burrow combines a modular consensus engine and application manager to run a chain to suit your needs. Made with <3 by Monax Industries. Complete documentation is available at https://monax.io/docs *VERSION: 0.17.1* Usage: burrow [flags] burrow [command] Available Commands: help Help about any command serve burrow serve starts a burrow node with client API enabled by default. Flags: -d, --debug debug level output; the most output available for burrow; if it is too chatty use verbose flag; default respects $BURROW_DEBUG -h, --help help for burrow -v, --verbose verbose output; more output than no output flags; less output than debug level; default respects $BURROW_VERBOSE Use "burrow [command] --help" for more information about a command.

RobertDiebels (Tue, 24 Apr 2018 09:35:23 GMT):
@kevinstr The monax-cli doesn't install Burrow afaik. I think you need to start the chain running `monax chains ` and it will take care of the rest.

RobertDiebels (Tue, 24 Apr 2018 09:35:37 GMT):
I believe it runs in Docker so you need to have that installed.

RobertDiebels (Tue, 24 Apr 2018 09:35:58 GMT):
Alternatively you could follow this installation guide: https://github.com/hyperledger/burrow#installation if you want to install locally.

YoussefAshraf (Tue, 24 Apr 2018 09:36:03 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=2aEfLu6J8Mz5dJAJB) @kevinstr https://github.com/hyperledger/burrow#for-developers just take care of that command REPO=$($GOPATH/src/github.com/hyperledger/burrow) to be REPO="$GOPATH/src/github.com/hyperledger/burrow" instead

YoussefAshraf (Tue, 24 Apr 2018 09:37:58 GMT):
Do you guys have any idea how to send Eth using legacy-contracts.js ?

Startoy (Tue, 24 Apr 2018 09:48:20 GMT):
Hello, It's possible that I can create a new account and use that to call a function in smart contract ? because I've used legacy-contracts(Devpipe) to create a new account and set to default account and do function on deployed smart contract. the log said don't know that account. so how can I add a account to blockchain? Thank you :slight_smile:

Startoy (Tue, 24 Apr 2018 09:51:34 GMT):
(sorry for my weird english..)

kevinstr (Tue, 24 Apr 2018 10:00:11 GMT):
The reason I ask btw is this error that I frequently get. It sometimes pops up, sometimes it doesn't. Redeploying my smart contracts fixes the error.

kevinstr (Tue, 24 Apr 2018 10:00:29 GMT):

Clipboard - 24 april 2018 12:00

kevinstr (Tue, 24 Apr 2018 10:00:38 GMT):

Clipboard - 24 april 2018 12:00

RobertDiebels (Tue, 24 Apr 2018 10:21:01 GMT):
Might be that the burrow server is temporarily not available? Or that it crashed and is causing the transaction to time out? Did you check your logs before redeploying your smart contracts?

Startoy (Tue, 24 Apr 2018 11:28:11 GMT):
can anyone help me :( I generate a new account via legacy-contracts and set to default account and call a constant function(return int). This is a result :

Startoy (Tue, 24 Apr 2018 11:28:12 GMT):

burrow error : account does not exist

Startoy (Tue, 24 Apr 2018 11:29:41 GMT):
on web :

Startoy (Tue, 24 Apr 2018 11:29:51 GMT):

error

RobertDiebels (Tue, 24 Apr 2018 13:09:12 GMT):
@Startoy might be me but it looks like a Pub-key not an Address.

RobertDiebels (Tue, 24 Apr 2018 13:10:26 GMT):
Also, I don't see it in the other print-screen. So are you sure the account has been made?

kevinstr (Tue, 24 Apr 2018 18:09:58 GMT):
@RobertDiebels The NodeJS api loaded the other data, except for the messages, which you can see in the screenshot

Startoy (Wed, 25 Apr 2018 02:52:43 GMT):
sorry that's my mistake, As I said before. use node default address(which read from file) seem works fine both non-constant and constant function. But when I generate and add a new account .This is result look like:

Startoy (Wed, 25 Apr 2018 02:52:45 GMT):

getlistofaccount

Startoy (Wed, 25 Apr 2018 02:53:34 GMT):

burrow error

Startoy (Wed, 25 Apr 2018 02:55:58 GMT):

smartcontract

Valveware (Wed, 25 Apr 2018 07:32:09 GMT):
I'm trying to use node to interact with burrow, but I don't seem to get how it works. I've been trying stuff like this: ``` > var burrowFactory = require('@monax/legacy-db'); undefined > burrow = burrowFactory.createInstance("http://172.17.0.3:1337/rpc"); Burrow { server: undefined, _unsafe: Unsafe { server: undefined, _validator: SinglePolicyValidator { _policy: true } }, _accounts: Accounts { server: undefined, _unsafe: Unsafe { server: undefined, _validator: [SinglePolicyValidator] } }, _blockChain: BlockChain { server: undefined }, _consensus: Consensus { server: undefined }, _events: Events { _pollingInterval: 1000, server: undefined, _sub: { [Function: HttpEventSub] super_: [Function: EventSub] } }, _namereg: NameReg { server: undefined, _unsafe: Unsafe { server: undefined, _validator: [SinglePolicyValidator] }, _events: Events { _pollingInterval: 1000, server: undefined, _sub: [Function] } }, _network: Network { server: undefined }, _transactions: Transactions { server: undefined, _unsafe: Unsafe { server: undefined, _validator: [SinglePolicyValidator] } } } > var accounts = burrow.accounts() undefined > avvounts.getAccounts() ReferenceError: avvounts is not defined > accounts.getAccounts() undefined > Burrow error: Call of method "toJSON" with parameters 'server' responded with "Error: connect ETIMEDOUT 172.17.0.3:1337". > Burrow error: Call of method "toJSON" with parameters 'server' responded with "Error: connect ETIMEDOUT 172.17.0.3:1337". ```

Valveware (Wed, 25 Apr 2018 07:32:09 GMT):
I'm trying to use node to interact with burrow, but I don't seem to get how it works. I've been trying stuff like this: ``` > var burrowFactory = require('@monax/legacy-db'); undefined > burrow = burrowFactory.createInstance("http://172.17.0.3:1337/rpc"); Burrow { server: undefined, _unsafe: Unsafe { server: undefined, _validator: SinglePolicyValidator { _policy: true } }, _accounts: Accounts { server: undefined, _unsafe: Unsafe { server: undefined, _validator: [SinglePolicyValidator] } }, _blockChain: BlockChain { server: undefined }, _consensus: Consensus { server: undefined }, _events: Events { _pollingInterval: 1000, server: undefined, _sub: { [Function: HttpEventSub] super_: [Function: EventSub] } }, _namereg: NameReg { server: undefined, _unsafe: Unsafe { server: undefined, _validator: [SinglePolicyValidator] }, _events: Events { _pollingInterval: 1000, server: undefined, _sub: [Function] } }, _network: Network { server: undefined }, _transactions: Transactions { server: undefined, _unsafe: Unsafe { server: undefined, _validator: [SinglePolicyValidator] } } } > var accounts = burrow.accounts() undefined > avvounts.getAccounts() ReferenceError: avvounts is not defined > accounts.getAccounts() undefined > Burrow error: Call of method "toJSON" with parameters 'server' responded with "Error: connect ETIMEDOUT 172.17.0.3:1337". > Burrow error: Call of method "toJSON" with parameters 'server' responded with "Error: connect ETIMEDOUT 172.17.0.3:1337". ``` How can I do it properly? I did npm init and installed both @monax/legacy-db and @monax/legacy-contracts and am executing node from that folder. I made sure the ip was correct running monax chains ip testchain

RobertDiebels (Wed, 25 Apr 2018 08:04:17 GMT):
@Valveware I think that you are doing it properly (I'm doing the same thing and it works for me). The server you're trying to connect to just isn't responding. How did you setup the server? Did you ensure the nodes are functioning properly? Because it might not be available to process transactions.

Valveware (Wed, 25 Apr 2018 08:07:44 GMT):
@RobertDiebels it's just a chain made like in the monax getting started tutorial. I wish I could try it on the network I set up on azure but mystudent subscription ran out

RobertDiebels (Wed, 25 Apr 2018 08:09:09 GMT):
@Valveware You might be interested in my project. It uses Kubernetes though. So you might have to learn a thing or two about that first.

RobertDiebels (Wed, 25 Apr 2018 08:09:52 GMT):
If you're already using NodeJS you're probably familiar with the code aspect of it.

RobertDiebels (Wed, 25 Apr 2018 08:10:08 GMT):
https://github.com/kubechain/kubechain

RobertDiebels (Wed, 25 Apr 2018 08:10:32 GMT):
You can pull that and add your own Container in an AccountPod.

Valveware (Wed, 25 Apr 2018 08:11:17 GMT):
@RobertDiebels Kubernetes is an alternative to docker, right?

RobertDiebels (Wed, 25 Apr 2018 08:11:58 GMT):
It uses Docker containers to orchestrate clusters.

RobertDiebels (Wed, 25 Apr 2018 08:12:07 GMT):
So it's more of an alternative to Docker swarm than Docker.

RobertDiebels (Wed, 25 Apr 2018 08:12:51 GMT):
It makes it easier for you to deploy Containerized applications in a network. Would be the main jist of it.

Valveware (Wed, 25 Apr 2018 08:13:26 GMT):
Alright, I'll see if I can understand it and try to set up my network that way

RobertDiebels (Wed, 25 Apr 2018 08:13:30 GMT):
But if you don't know that much about it I'd advice to keep going as you are now. Might be to much learning for the project you're undertaking.

RobertDiebels (Wed, 25 Apr 2018 09:53:06 GMT):
@silasdavis @compleatang @zramsay Guys if I may ask. How long does it take for an Account to update it's Sequence after a transaction has been processed? I've created a setup with 4 validator nodes and I'm hitting these errors: `"Error broadcasting transaction: Unknown error returned: Duplicate transaction (ignored)"` and `"Error broadcasting transaction: Internal error: Error invalid sequence. Got 1, expected 2"`. I've asked over at the Tendermint chat and they said upping the Sequence should be enough to not get the `Duplicate transaction` error.

RobertDiebels (Wed, 25 Apr 2018 09:56:16 GMT):
So I tracked down the code that processes `SendTx`'s to this [bit of code](https://github.com/hyperledger/burrow/blob/9c70b8c8f68fce8e6dc9642fae992e9f3bc178b3/manager/burrow-mint/transactor.go#L267) and the actual updating of the Account's index to [this bit](https://github.com/hyperledger/burrow/blob/9c70b8c8f68fce8e6dc9642fae992e9f3bc178b3/manager/burrow-mint/state/execution.go).

RobertDiebels (Wed, 25 Apr 2018 09:58:38 GMT):
I'm outputting 3 Tx/s on 4 nodes, totalling 12 Tx/s, and I was wondering maybe that was to fast? I was at 100 Tx/s on 4 nodes (400 Tx/s) and reduced it to 12 Tx/s but that didn't resolve the bugs.

RobertDiebels (Wed, 25 Apr 2018 09:58:38 GMT):
I'm outputting 3 Tx/s on 4 nodes, totalling 12 Tx/s, and I was wondering maybe that was to fast? I was at 100 Tx/s on 4 nodes (400 Tx/s) and reduced it to 12 Tx/s but that didn't resolve the errors.

RobertDiebels (Wed, 25 Apr 2018 10:00:51 GMT):
The only thing I can imagine is that the first transaction that comes in is stil lbeing validated when the second one comes in and the Account.Sequence isn't updated yet. So it tosses in a sequence of 1.

compleatang (Wed, 25 Apr 2018 13:07:47 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=2aEfLu6J8Mz5dJAJB) @kevinstr gotcha. Check the docker image then. It will have the version.

compleatang (Wed, 25 Apr 2018 13:09:47 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=N6tWTdYuymYnCECkz) @RobertDiebels this is a solved issue on develop. On older versions you'd need to either wait for the block to process or manually track thr nonce client side.

RobertDiebels (Wed, 25 Apr 2018 13:33:58 GMT):
@compleatang i'm assuming that's the develop branch for 0.18.x ?

Startoy (Thu, 26 Apr 2018 02:13:36 GMT):
can I generate a new account and use that do transaction on web api ?

IVictorFeng (Thu, 26 Apr 2018 02:29:27 GMT):
Has joined the channel.

maestrus (Thu, 26 Apr 2018 08:28:16 GMT):
Has joined the channel.

nuxibyte (Thu, 26 Apr 2018 15:49:06 GMT):
Has joined the channel.

shiyj (Thu, 26 Apr 2018 16:30:03 GMT):
Has joined the channel.

Wesley2018 (Fri, 27 Apr 2018 00:41:56 GMT):
Has joined the channel.

timboblockchain (Fri, 27 Apr 2018 14:30:27 GMT):
Has joined the channel.

cryptogrampus (Sun, 29 Apr 2018 03:24:28 GMT):
Has joined the channel.

compleatang (Sun, 29 Apr 2018 19:30:00 GMT):
Yes, indeed.

Startoy (Mon, 30 Apr 2018 04:41:39 GMT):
@compleatang it's seem didn't work (gen -> set as default -> do a non-constant function on smart contract) result as this :

Startoy (Mon, 30 Apr 2018 04:41:46 GMT):

burrow error invalid address

RobertDiebels (Mon, 30 Apr 2018 12:59:16 GMT):
To those who are interested I've resolved this: `"Error broadcasting transaction: Internal error: Error invalid sequence. Got 1, expected 2"` error. I ended up getting the error on both `send()` and `sendAndHold()` I traced it down to the following. - I had a 1-to-many relation for clients and servers. So, a "client" application had a multitude of servers it would connect to. - I had a 1-to-many relation for clients and destination addresses. So, a client had multiple addresses to which it would transfer amounts. - I had multiple clients operating at the same time with the same properties as above. This resulted in Burrow not updating the `PrivAccount.Sequence` fast enough even if I was using `sendAndHold`. Currently I have 1 application generating transactions at a rate of about 0.8 Tx/s. It only sends new transactions with randomized Addresses when it receives a result from sendAndHold. The only way I currently see to improve performance would be to bind addresses and servers to 1 and only 1 client application. That way I won't get the `Sequence` error because I'm using different Addresses on each Burrow server. Still that would only amount to about 4 Tx/s. I also tried tracking the Sequence locally which was easy. However, there is no method to sign transactions client-side. So I decided to use the `signTx` rpc method. This resulted in a bunch of TypeErrors if which I couldn't determine the JSON properties that caused them, since the error messaged returned from the server only states a mismatch between 2 types, not which property it verified. So I have a few questions: - What can I do to increase performance using the NodeJS client?

RobertDiebels (Mon, 30 Apr 2018 12:59:16 GMT):
To those who are interested I've resolved this: `"Error broadcasting transaction: Internal error: Error invalid sequence. Got 1, expected 2"` error. I ended up getting the error on both `send()` and `sendAndHold()` I traced it down to the following. - I had a 1-to-many relation for clients and servers. So, a "client" application had a multitude of servers it would connect to. - I had a 1-to-many relation for clients and destination addresses. So, a client had multiple addresses to which it would transfer amounts. - I had multiple clients operating at the same time with the same properties as above. This resulted in Burrow not updating the `PrivAccount.Sequence` fast enough even if I was using `sendAndHold`. Currently I have 1 application generating transactions at a rate of about 0.8 Tx/s. It only sends new transactions with randomized Addresses when it receives a result from sendAndHold. The only way I currently see to improve performance would be to bind addresses and servers to 1 and only 1 client application. That way I won't get the `Sequence` error because I'm using different Addresses on each Burrow server. Still that would only amount to about 4 Tx/s. I also tried tracking the Sequence locally which was easy. However, there is no method to sign transactions client-side. So I decided to use the `signTx` rpc method. This resulted in a bunch of TypeErrors if which I couldn't determine the JSON properties that caused them, since the error messaged returned from the server only states a mismatch between 2 types, not which property it validated. So I have a few questions: - What can I do to increase performance using the NodeJS client? - Is there any tooling to sign client-side with NodeJS? And a suggestion: - Can you update the RPC error messages when decoding Bytes, so that it also states which property it validated?

Valveware (Tue, 01 May 2018 09:27:26 GMT):
I have setup a chain using monax tooling and started that chain, I also installed the two npm packages that can be used to interact with burrow and smart contracts The chain's ip is 172.17.0.2 when using monax chains ip testchain. Then I go to a project which has the two npm packages installed and open a terminal there. I then do the following: ``` var burrowFactory = require('@monax/legacy-db'); undefined > var burrow = burrowFactory.createInstance("http://172.17.0.2:1337/rpc"); undefined ``` However the server property stays undefined: ``` > burrow.accounts [Function] > burrow.accounts() Accounts { server: undefined, _unsafe: Unsafe { server: undefined, _validator: SinglePolicyValidator { _policy: true } } } ``` What could I be doing wrong?

RobertDiebels (Tue, 01 May 2018 09:34:27 GMT):
Which version of legacy-db are you using and how are you printing this?

RobertDiebels (Tue, 01 May 2018 09:35:45 GMT):
Might want to try `console.info(JSON.stringify(burrow.accounts()));` I believe that plain printing is a bit iffy sometimes.

RobertDiebels (Tue, 01 May 2018 09:36:03 GMT):
Also, have you tried getting something from the server?

RobertDiebels (Tue, 01 May 2018 09:37:50 GMT):
This is my current setup: https://github.com/RobertDiebels/burrow-transacter

RobertDiebels (Tue, 01 May 2018 09:38:01 GMT):
It's written in type script though.

Valveware (Tue, 01 May 2018 09:42:55 GMT):
@RobertDiebels This is what I get when executing that command: ``` > console.info(JSON.stringify(burrow.accounts())); {"_unsafe":{"_validator":{"_policy":true}}} undefined ```

Valveware (Tue, 01 May 2018 09:42:55 GMT):
@RobertDiebels This is what I get when executing that command: ``` > console.info(JSON.stringify(burrow.accounts())); {"_unsafe":{"_validator":{"_policy":true}}} undefined ``` Can I run that burrow transacter server locally to see if it works with that chain?

RobertDiebels (Tue, 01 May 2018 09:54:39 GMT):
@Valveware Really does seem like the server is not getting defined than.

RobertDiebels (Tue, 01 May 2018 09:55:45 GMT):
Also, you can try to run that code. It expects a few files to operate though and you'll need to add typescript.

RobertDiebels (Tue, 01 May 2018 09:56:07 GMT):
The files it expects are located in the `resources` folder

Valveware (Tue, 01 May 2018 10:39:50 GMT):
Do I need to use that Dockerfile somehow to set it up? Or can I just run the code?

RobertDiebels (Tue, 01 May 2018 11:16:48 GMT):
@Valveware You'll need to run typescript to transpile to javascript, you won't need the Dockerfile.

RobertDiebels (Tue, 01 May 2018 11:16:59 GMT):
It only builds an image I use in my Kubernetes cluster.

Aswath8687 (Tue, 01 May 2018 19:47:55 GMT):
Has joined the channel.

Valveware (Wed, 02 May 2018 08:01:48 GMT):
I tried the same thing again using the vagrant GitHub package, and I get the same result. I tried it on different computers and they don't have a firewall so I think that can't be it .. ``` vagrant@contrib-jessie:~/testnpm$ monax chains start test_chain --init-dir ~/vagrant/test_chain/test_chain_full_000 vagrant@contrib-jessie:~/testnpm$ monax ls SERVICE ON VERSION keys * 0.17.0 CHAIN ON VERSION test_chain * 0.17.0 vagrant@contrib-jessie:~/testnpm$ monax chains ip test_chain 172.17.0.3 vagrant@contrib-jessie:~/testnpm$ ls node_modules/ package.json vagrant@contrib-jessie:~/testnpm$ ls node_modules/ @monax aws-sign2 commander extsprintf har-validator is-typedarray lodash punycode stealthy-require tweetnacl @nodeguy aws4 core-util-is fj-curry has-ansi isstream mime-db qs stringstream ultron ansi-regex bcrypt-pbkdf cryptiles forever-agent hawk iteray mime-types ramda strip-ansi uuid ansi-styles bluebird dashdash form-data hoek jsbn mz request supports-color verror any-promise boom delayed-stream g-functions http-signature json-schema oauth-sign request-promise thenify ws asn1 caseless ecc-jsbn generate-function is-my-ip-valid json-stringify-safe object-assign request-promise-core thenify-all xtend assert-plus chalk escape-string-regexp generate-object-property is-my-json-valid jsonpointer pinkie sntp tough-cookie asynckit combined-stream extend getpass is-property jsprim pinkie-promise sshpk tunnel-agent vagrant@contrib-jessie:~/testnpm$ node > var burrowFactory = require('@monax/ @monax/legacy-db @monax/legacy-db/ > var burrowFactory = require('@monax/legacy-db'); undefined > var burrow = burrowFactory.createInstance("http://172.17.0.3:1337/rpc"); undefined > burrow.accounts() Accounts { server: undefined, _unsafe: Unsafe { server: undefined, _validator: SinglePolicyValidator { _policy: true } } } > Burrow error: Call of method "toJSON" with parameters 'server' responded with "Method not found: burrow.toJSON". Burrow error: Call of method "toJSON" with parameters 'server' responded with "Method not found: burrow.toJSON". (node:20425) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): TypeError: Cannot convert a Symbol value to a string ``` I really don't understand why it won't let me connect and I am running out of options to try :( . What am I doing wrong?

RobertDiebels (Wed, 02 May 2018 08:27:30 GMT):
Why are you using the node command line instead of a Javascript file?

RobertDiebels (Wed, 02 May 2018 08:28:26 GMT):
I've never done that before and I don't know what the consequences are of doing so.

RobertDiebels (Wed, 02 May 2018 08:28:57 GMT):
I'd advice to create a `index.js` file and use the same code to check for different results.

RobertDiebels (Wed, 02 May 2018 08:30:22 GMT):
Also, it appears you're sending an RPC request to the server with the name 'burrow.toJSON'. This doesn't exist in the API.

RobertDiebels (Wed, 02 May 2018 08:31:42 GMT):
Maybe try calling `burrow.accounts().getAccounts(null, (error, result) => {})`

RobertDiebels (Wed, 02 May 2018 08:31:42 GMT):
Maybe try calling `burrow.accounts().getAccounts(null, (error, result) => { console.info("Error:", error); console.info("Result:", result)});`

Valveware (Wed, 02 May 2018 08:35:25 GMT):
Ive put that code in a js file and it is running as we speak

Valveware (Wed, 02 May 2018 08:35:36 GMT):
:fingers_crossed:

Valveware (Wed, 02 May 2018 08:39:54 GMT):
This is the result: index.js: ``` var burrowFactory = require('@monax/legacy-db'); var burrow = burrowFactory.createInstance("http://172.17.0.3:1337/rpc"); burrow.accounts().getAccounts(null, (error, result) => { console.info("Error:", error); console.info("Result:", result)}); ``` ``` node index.js Burrow error: Call of method "getAccounts" with parameters { filters: [] } responded with "Error: connect ETIMEDOUT 172.17.0.3:1337". Error: { Error: Error: connect ETIMEDOUT 172.17.0.3:1337 at values.next.then (/Users/merlijnversteegen/Documents/Truffle/node test/node_modules/@nodeguy/json-rpc/lib/index.js:16:30) at method: 'getAccounts', params: [ { filters: [] } ], code: -32300, data: { Error: connect ETIMEDOUT 172.17.0.3:1337 at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1173:14) errno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect', address: '172.17.0.3', port: 1337 }, message: 'Error: connect ETIMEDOUT 172.17.0.3:1337' } Result: undefined ```

Valveware (Wed, 02 May 2018 08:40:16 GMT):
So it seems as though it just can't get a connection or something :thinking:

RobertDiebels (Wed, 02 May 2018 08:42:08 GMT):
Would appear so. I don't know your network setup so you'll have to verify that the Burrow server you're connecting to is up at that IP.

Valveware (Wed, 02 May 2018 08:48:35 GMT):
It seems that the command you told me does work in a vagrant setup

Valveware (Wed, 02 May 2018 08:48:42 GMT):
It doesn't work on my host

Valveware (Wed, 02 May 2018 08:49:08 GMT):
So there must be something preventing my host to make that connection to a started chain

Valveware (Wed, 02 May 2018 08:49:34 GMT):
It's just a single full_node chain as a test_chain

Valveware (Wed, 02 May 2018 08:51:36 GMT):
But if I have a multinode setup I have to make the vagrant entities communicate with each other, which probably won't work if the host has that issue :thinking:

RobertDiebels (Wed, 02 May 2018 08:55:39 GMT):
I don't remember telling you about a command :thinking:

Valveware (Wed, 02 May 2018 08:56:30 GMT):
I meant this: ``` burrow.accounts().getAccounts(null, (error, result) => { console.info("Error:", error); console.info("Result:", result)}); ```

RobertDiebels (Wed, 02 May 2018 08:57:51 GMT):
The command works afaik. The client just can't connect to the burrow server.

RobertDiebels (Wed, 02 May 2018 08:59:10 GMT):
Did you try running it without vagrant?

RobertDiebels (Wed, 02 May 2018 08:59:29 GMT):
Using `monax chains`

Valveware (Wed, 02 May 2018 09:00:52 GMT):
the only scenario I got to work right now: startup vagrant, monax chains make test_chain monax chains start ... check the chain ip run index.js with node from inside the vagrant ssh

RobertDiebels (Wed, 02 May 2018 09:01:24 GMT):
Are you on Linux or Windows?

RobertDiebels (Wed, 02 May 2018 09:01:30 GMT):
your host machine

Valveware (Wed, 02 May 2018 09:01:31 GMT):
I am on mac

RobertDiebels (Wed, 02 May 2018 09:01:45 GMT):
Ah.

RobertDiebels (Wed, 02 May 2018 09:02:25 GMT):
Well I don't know a lot about Mac unfortunately. Also don't know if monax supports running on Mac.

RobertDiebels (Wed, 02 May 2018 09:02:54 GMT):
Might be something really specific with Vagrant as well.

Valveware (Wed, 02 May 2018 09:04:19 GMT):
Most of the time it's the same as for linux, and I was told the monax developers all use Mac so 🤷‍♂️

Valveware (Wed, 02 May 2018 09:04:47 GMT):
But I also have access to a windows

Valveware (Wed, 02 May 2018 09:04:56 GMT):
I'll try to see if I can get it to work over there

RobertDiebels (Wed, 02 May 2018 09:05:14 GMT):
Won't work on Windows afaik.

RobertDiebels (Wed, 02 May 2018 09:05:28 GMT):
I asked because you said you were using Vagrant.

RobertDiebels (Wed, 02 May 2018 09:05:48 GMT):
And I was going to suggest not using Vagrant and just use Monax's tooling to spin up the chain.

RobertDiebels (Wed, 02 May 2018 09:06:39 GMT):
If they work on Mac the tooling should work there.

Valveware (Wed, 02 May 2018 09:07:11 GMT):
Yeah I can spin up a chain on Mac and the logging shows it's making blocks

Valveware (Wed, 02 May 2018 09:07:36 GMT):
I just can't connect to it using the js library as I should :/

RobertDiebels (Wed, 02 May 2018 09:09:32 GMT):
Well if it times out the only thing I can think of is that the IP doesn't exist.

Valveware (Wed, 02 May 2018 09:09:59 GMT):
I disabled the firewall and added pass in proto tcp from any to any port 1337 on startup that's about all I could think of

silasdavis (Wed, 02 May 2018 09:16:12 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=TWGyn3btxWzqW3KJi) @RobertDiebels the javascript libraries use the Transactor which effectively works under the assumption you are communicating with a 'local' instance of Burrow (for some suitable definition of local). The sequence number provides replay protection on signed transactions, and the transaction acts a proxy for signing for you and tries to set the sequence number by looking at the local check cache which is fed by the mempool (on develop now there is the ability to transact by address rather than sending the private key, where burrow will then ask its keys connection to sign for a particular address). The heuristic of looking at the most recent sequence number of the account in the check cache only works when a particular input account is only being used with a single node within a single block.

silasdavis (Wed, 02 May 2018 09:16:53 GMT):
This only applies with 'stacking' transactions within the period of a single block (1-2 seconds)

silasdavis (Wed, 02 May 2018 09:17:42 GMT):
You are right to identify that if you have control over the client you can ensure you send a run of transactions with a consecutive sequence of sequence numbers

silasdavis (Wed, 02 May 2018 09:18:49 GMT):
however in the general case you could not expect this to work across multiple clients (approximating the network as non-deterministic) because you wouldn't be able to control the ordering between transactions sent from different clients

silasdavis (Wed, 02 May 2018 09:23:54 GMT):
On some specifics: > - I had a 1-to-many relation for clients and destination addresses. So, a client had multiple addresses to which it would transfer amounts. This seems the wrong way round... It should only matter what the 'from' address is not the 'destination' that's where we check the sequence number > This resulted in Burrow not updating the `PrivAccount.Sequence` fast enough even if I was using `sendAndHold`. This _ought_ not to be the case. `sendAndHold` waits until a transaction has been committed so the next send should query the freshest sequence number

silasdavis (Wed, 02 May 2018 09:24:24 GMT):
are you running against latest develop, there are some changes I made about 2 weeks ago that work around various edge cases regarding sequence numbers

RobertDiebels (Wed, 02 May 2018 09:26:15 GMT):
Hi Silas, thanks for the response. I'll try to reply to your points. Have to read them thoroughly so I understand. Gimme a minute.

silasdavis (Wed, 02 May 2018 09:27:21 GMT):
To be clear: we run burrow with several hundred transactions per second

silasdavis (Wed, 02 May 2018 09:27:33 GMT):
perhaps so I can be clearer to

silasdavis (Wed, 02 May 2018 09:28:03 GMT):
Can you expand a bit on: > Currently I have 1 application generating transactions at a rate of about 0.8 Tx/s. It only sends new transactions with randomized Addresses

RobertDiebels (Wed, 02 May 2018 09:28:19 GMT):
Yes.

silasdavis (Wed, 02 May 2018 09:28:24 GMT):
so you are sending transactions with random input addresses?

RobertDiebels (Wed, 02 May 2018 09:30:00 GMT):
I created a tiny 'client' which uses `@monax/legacy-db` to send transactions towards Burrow servers. See: https://github.com/RobertDiebels/burrow-transacter

RobertDiebels (Wed, 02 May 2018 09:30:34 GMT):
I wrapped it in a Docker container and deployed it to Kubernetes.

RobertDiebels (Wed, 02 May 2018 09:30:48 GMT):
"so you are sending transactions with random input addresses? ". Yes.

RobertDiebels (Wed, 02 May 2018 09:30:48 GMT):
Yes. [ ](https://chat.hyperledger.org/channel/burrow?msg=GNL5ZH8ipsi4Ncawr)

RobertDiebels (Wed, 02 May 2018 09:31:24 GMT):
I provide the client with the original genesis file and load the Addresses from there.

RobertDiebels (Wed, 02 May 2018 09:31:50 GMT):
Then on each transaction I pick a random Address, and a random Server.

RobertDiebels (Wed, 02 May 2018 09:32:32 GMT):
Correction. I used to pick a random server. Now I just use 1 server.

RobertDiebels (Wed, 02 May 2018 09:32:32 GMT):
Correction. I used to pick a random server per transaction. Now I just use 1 server which I pick randomly, and use it for all transactions.

RobertDiebels (Wed, 02 May 2018 09:33:25 GMT):
The Addresses I still pick randomly.

RobertDiebels (Wed, 02 May 2018 10:25:30 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=HGqxJixJHHnZwGAML) " The heuristic of looking at the most recent sequence number of the account in the check cache only works when a particular input account is only being used with a single node within a single block.". If I understand correctly. Both the definition of 'local' and 'single node' mean that if, I have a NodeJS client it should have a unique relation with an account. The client then sends transactions to only one (local) Burrow Server/Node associated with that account so the sequence used to sign the transaction can be pulled from it's cache.

RobertDiebels (Wed, 02 May 2018 10:26:38 GMT):
Which means that you can't use `send()` or `sendAndHold()` to connect to different nodes using the same privateKey parameter.

RobertDiebels (Wed, 02 May 2018 10:29:49 GMT):
That was exactly what I was doing. As I was unaware that the nodes only handled transactions for 1 and only 1 "from"-account. I'll see if I can crank up the transaction speed with this knowledge.

Valveware (Wed, 02 May 2018 10:32:28 GMT):
@silasdavis If you're done helping RobertDriebels, could you help me out on why I can't get a connection to my burrow server, if you have time to do so?

silasdavis (Wed, 02 May 2018 10:36:08 GMT):
@Valveware I have a few mins

silasdavis (Wed, 02 May 2018 10:36:16 GMT):
will just reply a bit further to @RobertDiebels

Valveware (Wed, 02 May 2018 10:37:44 GMT):
Alright , thanks @silasdavis :)

Valveware (Wed, 02 May 2018 10:55:07 GMT):
@silasdavis just to summarize: I am trying to connect to the server e.g. to get a list of accounts. I am not able to do so on my host (Mac). I followed the following steps: ``` monax chains make test_chain monax chains start test_chain --init-dir ~/.monax/chains/test_chain/test_chain_full_000 ``` The chains is running and making blocks, I can see so in the logging I ask for the server ip using ``` monax chains ip test_chain ``` Then I run a javascript file containing the following: ``` var burrowFactory = require('@monax/legacy-db'); var burrow = burrowFactory.createInstance("http://172.17.0.3:1337/rpc"); // 172.17.0.3 being the ip from monax chains ip burrow.accounts().getAccounts(null, (error, result) => { console.info("Error:", error); console.info("Result:", result)}); ``` Which results in ``` Burrow error: Call of method "getAccounts" with parameters { filters: [] } responded with "Error: connect ETIMEDOUT 172.17.0.3:1337". Error: { Error: Error: connect ETIMEDOUT 172.17.0.3:1337 at values.next.then (/Users/merlijnversteegen/Documents/Truffle/node test/node_modules/@nodeguy/json-rpc/lib/index.js:16:30) at method: 'getAccounts', params: [ { filters: [] } ], code: -32300, data: { Error: connect ETIMEDOUT 172.17.0.3:1337 at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1173:14) errno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect', address: '172.17.0.3', port: 1337 }, message: 'Error: connect ETIMEDOUT 172.17.0.3:1337' } Result: undefined ``` When I use monax-vagrant and do vagrant up v0.18.0 It successfully makes a vagrant and when I do the exact same steps inside the vagrant ssh it does get me a resulting list of accounts(0x0 and 1 other account) So the issue is - I think - with the host not being able to connect to the chain it's running. I also do not know how I can test if the host can reach the vagrant's chain.

Valveware (Wed, 02 May 2018 10:55:07 GMT):
@silasdavis just to summarize: I am trying to connect to the server e.g. to get a list of accounts. I am not able to do so on my host (Mac). I followed the following steps: ``` monax chains make test_chain monax chains start test_chain --init-dir ~/.monax/chains/test_chain/test_chain_full_000 ``` The chains is running and making blocks, I can see so in the logging I ask for the server ip using ``` monax chains ip test_chain ``` Then I run a javascript file containing the following: ``` var burrowFactory = require('@monax/legacy-db'); var burrow = burrowFactory.createInstance("http://172.17.0.3:1337/rpc"); // 172.17.0.3 being the ip from monax chains ip burrow.accounts().getAccounts(null, (error, result) => { console.info("Error:", error); console.info("Result:", result)}); ``` Which results in ``` Burrow error: Call of method "getAccounts" with parameters { filters: [] } responded with "Error: connect ETIMEDOUT 172.17.0.3:1337". Error: { Error: Error: connect ETIMEDOUT 172.17.0.3:1337 at values.next.then (/Users/merlijnversteegen/Documents/Truffle/node test/node_modules/@nodeguy/json-rpc/lib/index.js:16:30) at method: 'getAccounts', params: [ { filters: [] } ], code: -32300, data: { Error: connect ETIMEDOUT 172.17.0.3:1337 at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1173:14) errno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect', address: '172.17.0.3', port: 1337 }, message: 'Error: connect ETIMEDOUT 172.17.0.3:1337' } Result: undefined ``` When I use monax-vagrant and do vagrant up v0.18.0 It successfully makes a vagrant and when I do the exact same steps inside the vagrant ssh it does get me a resulting list of accounts(0x0 and 1 other account) So the issue is - I think - with the host not being able to connect to the chain it's running. I also do not know how I can test if the host can reach the vagrant's chain. Maybe it has to do with docker or something, which I am by no means an expert in ...

silasdavis (Wed, 02 May 2018 11:07:06 GMT):
> As I was unaware that the nodes only handled transactions for 1 and only 1 "from"-account. This isn't strictly true - first of all if you wait for the transaction to be closed into a block - as in *AndHold then that transaction is committed so if you query from another node you should see the same sequence number. If you want to get many transaction from the same input account (i.e. private key as it currently is) in the _same block_ then there is no way to order the sequence numbers between different clients, unless you use a consensus network! In which case the advice is just to run a participant node 'local' to your client. This is effectively what a bitcoin or ethereum wallet is.

silasdavis (Wed, 02 May 2018 11:08:37 GMT):
Regarding `signTx` that will only work if you are able to go-wire serialise your transaction locally, which we have no libary in JS to do annoyingly. You can use burrow-client to do this though

silasdavis (Wed, 02 May 2018 11:10:21 GMT):
@Valveware I would like to herd you towards using out develop version...

silasdavis (Wed, 02 May 2018 11:10:56 GMT):
which can be run more easily without doccker

silasdavis (Wed, 02 May 2018 11:10:56 GMT):
which can be run more easily without docker

silasdavis (Wed, 02 May 2018 11:11:25 GMT):
I'm actually looking to push a pre-release version to master today, but I need to update some documentation

silasdavis (Wed, 02 May 2018 11:11:40 GMT):
you should be able to build and run locally on your mac

silasdavis (Wed, 02 May 2018 11:11:47 GMT):
you'd just need go and make

Valveware (Wed, 02 May 2018 11:12:28 GMT):
And I can use burrow develop without using the monax tooling / bosmarmot tooling or should I use one of those?

silasdavis (Wed, 02 May 2018 11:14:40 GMT):
currently you will need bosmarmot `bos`, and/or the latest version of https://www.npmjs.com/package/@monax/legacy-contracts and `monax-keys` (also in bosmarmot)

silasdavis (Wed, 02 May 2018 11:14:57 GMT):
keys is currently being integrated into Burrow

silasdavis (Wed, 02 May 2018 11:15:07 GMT):
ultimately I'd like almost everything to be hosted in that single binary

Valveware (Wed, 02 May 2018 11:15:19 GMT):
Keys is just for generating key pairs?

silasdavis (Wed, 02 May 2018 11:15:25 GMT):
and signing

Valveware (Wed, 02 May 2018 11:16:26 GMT):
Alright then when the prerelease is out I will try to setup a chain using bos

silasdavis (Wed, 02 May 2018 11:16:52 GMT):
`go get -u github.com/monax/bosmarmot/keys/cmd/monax-key`

silasdavis (Wed, 02 May 2018 11:16:54 GMT):
gets you keys

silasdavis (Wed, 02 May 2018 11:17:09 GMT):
if you clone burrow and checkout develop you can try straight away

silasdavis (Wed, 02 May 2018 11:17:28 GMT):
are you familiar with go?

Valveware (Wed, 02 May 2018 11:18:06 GMT):
I have installed it to do some go get -u's and I can read it but that's about it

silasdavis (Wed, 02 May 2018 11:18:25 GMT):
is your GOPATH set?

Valveware (Wed, 02 May 2018 11:18:31 GMT):
yeah

silasdavis (Wed, 02 May 2018 11:19:43 GMT):
for burrow: ``` go get -u github.com/hyperledger/burrow cd $GOPATH/src/github.com/hyperledger/burrow git checkout develop make install_db ```

silasdavis (Wed, 02 May 2018 11:20:10 GMT):
then provided `$GOPATH/bin` is in your `$PATH`

silasdavis (Wed, 02 May 2018 11:20:20 GMT):
`$ burrow` should give you a help message

silasdavis (Wed, 02 May 2018 11:20:35 GMT):
let me know if that works and I'll show you how to spin up a chain

Valveware (Wed, 02 May 2018 11:20:54 GMT):
Should I delete everything I have in the src and bin folders?

Valveware (Wed, 02 May 2018 11:21:04 GMT):
and just go get keys and burrow?

Valveware (Wed, 02 May 2018 11:21:23 GMT):
Or is it safe to do it without deleting it?

silasdavis (Wed, 02 May 2018 11:21:26 GMT):
no you can leave other repos

silasdavis (Wed, 02 May 2018 11:21:30 GMT):
if you have already cloned burrow

silasdavis (Wed, 02 May 2018 11:22:00 GMT):
you may need to just check you have latest develop with `git reset --hard origin/develop` from the burrow repo and develop branch

silasdavis (Wed, 02 May 2018 11:22:22 GMT):
but you shouldn't need that unless you have checked out develop

silasdavis (Wed, 02 May 2018 11:22:25 GMT):
or made local changes

Valveware (Wed, 02 May 2018 11:23:11 GMT):
Alright I'm trying it all now

silasdavis (Wed, 02 May 2018 11:23:22 GMT):
Once `burrow --version` should give you `0.18.1+commit.v0.17.1-158-g70e602d9`

Valveware (Wed, 02 May 2018 11:31:50 GMT):
@silasdavis alright, It works! I did have to add /cmd/burrow to the burrow go get but now it gives the correct version

silasdavis (Wed, 02 May 2018 11:38:41 GMT):
oh... yeah it will complain about no go files but it will have still pulled the repo

silasdavis (Wed, 02 May 2018 11:38:50 GMT):
you built with `make install_db` though righr?

Valveware (Wed, 02 May 2018 11:39:03 GMT):
Yep

Valveware (Wed, 02 May 2018 11:39:21 GMT):
burrow --version 0.18.1+commit.v0.17.1-158-g70e602d9

silasdavis (Wed, 02 May 2018 11:40:30 GMT):
cool, for a quick and dirty single node chain just run: ``` monax-keys server& mkdir chainface cd chainface burrow spec -p1 -f1 | burrow configure -s- -v0 > burrow.toml burrow ```

silasdavis (Wed, 02 May 2018 11:41:58 GMT):
`burrow spec` generates a `GenesisSpec` which is a chain template

silasdavis (Wed, 02 May 2018 11:42:35 GMT):
`burrow configure` uses this template and fills in the gaps where necessary with defaults, and most importantly creates keys in the monax-keys instance where keys/addresses are not supplied

Valveware (Wed, 02 May 2018 11:43:18 GMT):
When executing the burrow spec line it tells me this: ``` Unable to set ValidatorAddress from provided validator-index since no GenesisDoc/GenesisSpec provided. ```

Valveware (Wed, 02 May 2018 11:47:09 GMT):
This should do the same thing right? ``` burrow spec --participant-accounts=1 --full-accounts=1 > genesis-spec.json burrow configure --genesis-spec=genesis-spec.json --validator-index=0 > burrow.toml ```

silasdavis (Wed, 02 May 2018 11:53:33 GMT):
Yes... it would appear i've broken the stdin... I'll fix that

Valveware (Wed, 02 May 2018 11:54:39 GMT):
This is what ```burrow``` returns: ``` Sourcing config from first of: JSON config file at 'burrow.toml' then defaults Sourcing config from JSON config file at 'burrow.toml' could not obtain config: invalid character 'V' looking for beginning of value ``` burrow.toml: ``` ValidatorAddress = "7617F988F0EF2870EB2DD81E43FAF2443C27E508" [GenesisDoc] GenesisTime = 2018-05-02T11:46:34Z ChainName = "BurrowChain_2A0FC2" [GenesisDoc.GlobalPermissions] Roles = [] [GenesisDoc.GlobalPermissions.Base] Perms = 2302 SetBit = 16383 [[GenesisDoc.Accounts]] Address = "7617F988F0EF2870EB2DD81E43FAF2443C27E508" PublicKey = "{\"type\":\"ed25519\",\"data\":\"5E7F7C2A52CD26E74876B4922D095CF1006854E89D01AE3818D4C37250D6BAE4\"}" Amount = 99999999999999 Name = "Full_0" [GenesisDoc.Accounts.Permissions] [GenesisDoc.Accounts.Permissions.Base] Perms = 16383 SetBit = 16383 [[GenesisDoc.Accounts]] Address = "A313C7AA4FBF9F5E144D07B9B255C4AB44E667AA" PublicKey = "{\"type\":\"ed25519\",\"data\":\"1AD16E314E57F26AF1F155ED39DBB28A408116D13AA2B6902952BCF545D2FF7E\"}" Amount = 9999999999 Name = "Participant_0" [GenesisDoc.Accounts.Permissions] [GenesisDoc.Accounts.Permissions.Base] Perms = 2118 SetBit = 2118 [[GenesisDoc.Validators]] Address = "7617F988F0EF2870EB2DD81E43FAF2443C27E508" PublicKey = "{\"type\":\"ed25519\",\"data\":\"5E7F7C2A52CD26E74876B4922D095CF1006854E89D01AE3818D4C37250D6BAE4\"}" Amount = 9999999999 Name = "Full_0" [[GenesisDoc.Validators.UnbondTo]] Address = "7617F988F0EF2870EB2DD81E43FAF2443C27E508" PublicKey = "{\"type\":\"ed25519\",\"data\":\"5E7F7C2A52CD26E74876B4922D095CF1006854E89D01AE3818D4C37250D6BAE4\"}" Amount = 9999999999 [Tendermint] Seeds = "" ListenAddress = "tcp://0.0.0.0:46656" Moniker = "" TendermintRoot = ".burrow" [Keys] URL = "http://localhost:4767" [RPC] [RPC.V0] Disabled = false [RPC.V0.Server] ChainId = "" [RPC.V0.Server.bind] address = "localhost" port = 1337 [RPC.V0.Server.TLS] tls = false cert_path = "" key_path = "" [RPC.V0.Server.CORS] enable = false allow_credentials = false max_age = 0 [RPC.V0.Server.HTTP] json_rpc_endpoint = "/rpc" [RPC.V0.Server.web_socket] websocket_endpoint = "/socketrpc" max_websocket_sessions = 50 read_buffer_size = 4096 write_buffer_size = 4096 [RPC.TM] Disabled = false ListenAddress = "tcp://localhost:46657" [RPC.Profiler] Disabled = true ListenAddress = "tcp://localhost:6060" [Logging] ExcludeTrace = false NonBlocking = false [Logging.RootSink] [Logging.RootSink.Output] OutputType = "stderr" Format = "json" ```

Valveware (Wed, 02 May 2018 11:54:39 GMT):
This is what ``` burrow ``` returns: ``` Sourcing config from first of: JSON config file at 'burrow.toml' then defaults Sourcing config from JSON config file at 'burrow.toml' could not obtain config: invalid character 'V' looking for beginning of value ``` burrow.toml: ``` ValidatorAddress = "7617F988F0EF2870EB2DD81E43FAF2443C27E508" [GenesisDoc] GenesisTime = 2018-05-02T11:46:34Z ChainName = "BurrowChain_2A0FC2" [GenesisDoc.GlobalPermissions] Roles = [] [GenesisDoc.GlobalPermissions.Base] Perms = 2302 SetBit = 16383 [[GenesisDoc.Accounts]] Address = "7617F988F0EF2870EB2DD81E43FAF2443C27E508" PublicKey = "{\"type\":\"ed25519\",\"data\":\"5E7F7C2A52CD26E74876B4922D095CF1006854E89D01AE3818D4C37250D6BAE4\"}" Amount = 99999999999999 Name = "Full_0" [GenesisDoc.Accounts.Permissions] [GenesisDoc.Accounts.Permissions.Base] Perms = 16383 SetBit = 16383 [[GenesisDoc.Accounts]] Address = "A313C7AA4FBF9F5E144D07B9B255C4AB44E667AA" PublicKey = "{\"type\":\"ed25519\",\"data\":\"1AD16E314E57F26AF1F155ED39DBB28A408116D13AA2B6902952BCF545D2FF7E\"}" Amount = 9999999999 Name = "Participant_0" [GenesisDoc.Accounts.Permissions] [GenesisDoc.Accounts.Permissions.Base] Perms = 2118 SetBit = 2118 [[GenesisDoc.Validators]] Address = "7617F988F0EF2870EB2DD81E43FAF2443C27E508" PublicKey = "{\"type\":\"ed25519\",\"data\":\"5E7F7C2A52CD26E74876B4922D095CF1006854E89D01AE3818D4C37250D6BAE4\"}" Amount = 9999999999 Name = "Full_0" [[GenesisDoc.Validators.UnbondTo]] Address = "7617F988F0EF2870EB2DD81E43FAF2443C27E508" PublicKey = "{\"type\":\"ed25519\",\"data\":\"5E7F7C2A52CD26E74876B4922D095CF1006854E89D01AE3818D4C37250D6BAE4\"}" Amount = 9999999999 [Tendermint] Seeds = "" ListenAddress = "tcp://0.0.0.0:46656" Moniker = "" TendermintRoot = ".burrow" [Keys] URL = "http://localhost:4767" [RPC] [RPC.V0] Disabled = false [RPC.V0.Server] ChainId = "" [RPC.V0.Server.bind] address = "localhost" port = 1337 [RPC.V0.Server.TLS] tls = false cert_path = "" key_path = "" [RPC.V0.Server.CORS] enable = false allow_credentials = false max_age = 0 [RPC.V0.Server.HTTP] json_rpc_endpoint = "/rpc" [RPC.V0.Server.web_socket] websocket_endpoint = "/socketrpc" max_websocket_sessions = 50 read_buffer_size = 4096 write_buffer_size = 4096 [RPC.TM] Disabled = false ListenAddress = "tcp://localhost:46657" [RPC.Profiler] Disabled = true ListenAddress = "tcp://localhost:6060" [Logging] ExcludeTrace = false NonBlocking = false [Logging.RootSink] [Logging.RootSink.Output] OutputType = "stderr" Format = "json" ```

silasdavis (Wed, 02 May 2018 11:54:57 GMT):
bear with I think the most recent commit on develop has cludged a couple of things!

Valveware (Wed, 02 May 2018 11:55:51 GMT):
No problem, I am just really happy you're taking the time to go through this process with me :blush:

silasdavis (Wed, 02 May 2018 11:59:25 GMT):
Well good job I am - I can use this to make sure the quick start actually works :0

Valveware (Wed, 02 May 2018 12:00:52 GMT):
Well at least my stupidity can be helpful to others :sweat_smile:

mansoor (Wed, 02 May 2018 12:41:06 GMT):
Has joined the channel.

seanyoung (Wed, 02 May 2018 12:51:50 GMT):
Has joined the channel.

silasdavis (Wed, 02 May 2018 14:54:43 GMT):
Sorry @Valveware I've been pulled on to calls just returning to this

Valveware (Thu, 03 May 2018 05:42:14 GMT):
@silasdavis No problem :)

Valveware (Thu, 03 May 2018 07:26:05 GMT):
@silasdavis Im here for 2.5 more hours and otherwise I am also here tomorrow all day, if you're wondering when I'm available :thumbsup_tone1:

Valveware (Fri, 04 May 2018 09:38:47 GMT):
Hey @silasdavis any update on the pre-release?

silasdavis (Fri, 04 May 2018 13:13:42 GMT):
Hi there @Valveware sorry I was knocked back yesterday with conjunctivitis, I'm just working on it now and I'll ping you when pushed and we can walk through

nathanaw (Sat, 05 May 2018 02:25:38 GMT):
Has joined the channel.

nathanaw (Sat, 05 May 2018 02:26:11 GMT):
Hi friends! I am Nathan Aw from Singapore. This is urgent, I need to do a hyperledger burrow demo to students in Singapore to get them excited about burrow. Any resources will be very useful, please? nathan.mk.aw@gmail.com

uvaraj6 (Mon, 07 May 2018 05:58:27 GMT):
Has joined the channel.

Valveware (Mon, 07 May 2018 06:18:11 GMT):
@silasdavis Great, thanks!

Valveware (Mon, 07 May 2018 11:38:33 GMT):
What can you do when you need to deploy a DApp contract which hits you with "'Error when transacting: Insufficient gas'"?

Valveware (Mon, 07 May 2018 11:42:48 GMT):
One option I can do is to supply the contract with the addresses of the other contracts that it makes in it's constructor so I can deploy them seperately. But I think I am only allowed to give 2 parameters when deploying contracts so I guess I should put them in an array :thinking_face:

Valveware (Mon, 07 May 2018 12:56:29 GMT):
Is there a way to change the gas limit, and a way to check beforehand how much gas a deployment would cost?

compleatang (Mon, 07 May 2018 13:40:29 GMT):
@Valveware if you're hitting insufficient gas, I'd highly recommend looking at your solidity code. At Monax, we have some extremely complex solidity suites of contracts which would never be operational on Ethereum mainnet. Whenever we have never hit insufficient gas unless there is an error in our solidity code. You can search the code for the `MaxGas` setting and adjust it and recompile if you really need to, but burrow's default gas limit is set extremely high.

compleatang (Mon, 07 May 2018 13:41:23 GMT):
IOWs we've never come up against the maxGas when there is not an error in our solidity, despite having extremely deep call stacks and extenuated micro-services style smart contracts suites which spend gas like it's going out of style....

Valveware (Mon, 07 May 2018 13:45:59 GMT):
The max gas is set in the config.js file of legacy-contracts? And it is set to 1000000?

compleatang (Mon, 07 May 2018 13:47:13 GMT):
it's the max Gas setting in burrow that matters.

Valveware (Mon, 07 May 2018 13:47:47 GMT):
Well it must be an error in my code then since I haven't touched that... This is the method that seems to be too expensive to execute: ``` contract ContractService { // creator of the CMC address owner; // Mapping of all contracts' names and their addresses mapping (bytes32=>address) public contracts; // When this modifier is used only the owner can execute that function. modifier onlyOwner () {require(msg.sender == owner); _;} // Constructor constructor() public { owner = msg.sender; contracts["igrow"] = owner; } //Adds a contract to the list function addContract(bytes32 contractName, address contractAddress) /*onlyOwner*/ public { ContractServiceEnabled(contractAddress).setContractServiceAddress(address(this)); contracts[contractName] = contractAddress; } } ```

Valveware (Mon, 07 May 2018 13:48:09 GMT):
the addContract method

compleatang (Mon, 07 May 2018 13:48:44 GMT):
don't work at solidity level so can't help you any further unfortunately.

Valveware (Mon, 07 May 2018 13:49:17 GMT):
Oh that's alright , I'll keep digging

Valveware (Mon, 07 May 2018 14:05:45 GMT):
It actually goes like this if there's someone else who knows something about Solidity. I am now successfully deploying 8 contracts, the first seven are services and repositories, the eight one will be the 'api' which the middleware nodes express server wil use to make calls. This eighth contract uses the above contractservice to keep track of all the services. The services use the same instance to track their repo's etc. Now when I call the api with a name and an address of a contract to add, it calls addContract , with that bytes32 name and an address. This is is the method that seems too expensive to complete for some reason although the things it is doing, setting an address to a bytes32 in a mapping and setting an address on a contract doesn't seem that complicated :/

Valveware (Mon, 07 May 2018 14:21:27 GMT):
I am adding the contracts one by one so it should be small transactions :thinking_face:

robwahl (Mon, 07 May 2018 15:31:42 GMT):
Has joined the channel.

RobertDiebels (Mon, 07 May 2018 16:43:01 GMT):
@compleatang @silasdavis I'm looking into coding an extension for Caliper which would add Hyperledger Burrow to their list of supported projects. have you guys looked into that yet? [ https://github.com/hyperledger/caliper ]

silasdavis (Tue, 08 May 2018 09:40:15 GMT):
@Valveware readme on develop should have sufficient instructions now: https://github.com/hyperledger/burrow/tree/develop we can pick up where we left of. I'm also planning to merge to master today

silasdavis (Tue, 08 May 2018 09:53:14 GMT):
@Valveware I take it you are running with burrow 0.17.1 (i.e. through the monax tool version 0.18.0)?

silasdavis (Tue, 08 May 2018 09:54:05 GMT):
If you are compiling with solidity > 0.4.4 and older Burrow you will hit insufficient gas due to a change (EIP-158 IIRC) that is in latest burrow but not the older version

Valveware (Tue, 08 May 2018 10:48:32 GMT):
@silasdavis , great I will check it out asap! I might wait till it's on master later today, but I'll keep you posted, thanks for the help! :)

Valveware (Tue, 08 May 2018 10:52:00 GMT):
@silasdavis By the way, when I was interacting with the old burrow from monax 0.18 , I ran into some troubles with the legacy-contracts npm library, There seemed to be an issue with the 17.0 standard version, but I was able to fix it by using the 16.8 version instead :thinking_face:

Valveware (Tue, 08 May 2018 11:12:02 GMT):
The error happened in dev_pipe, where it called ``` callback(null, data.CallData.Callee) ```, while it should have been ``` callback(null, data.call_data.callee)```

silasdavis (Tue, 08 May 2018 11:12:25 GMT):
yep there have been a few breaking changes, this ought to have been made clearer, once we release Burrow the latest versions of everything will be compatible

Valveware (Tue, 08 May 2018 11:13:08 GMT):
Sweet :ok_hand: , just wanted to let you know if it wasn't a known error

Valveware (Tue, 08 May 2018 13:58:35 GMT):
Can this docker image be used to setup a cluster on a single machine? https://quay.io/repository/monax/burrow?tab=info

edumonk (Tue, 08 May 2018 14:33:04 GMT):
Has joined the channel.

Valveware (Wed, 09 May 2018 07:40:12 GMT):
How can you get the plain private key from monax-keys? I need them for this: ``` var contracts = require('@monax/legacy-contracts'); var burrowURL = "http://localhost:1337/rpc"; var accountData = require('/some/account/data.json'); var contractManager = contracts.newContractManagerDev(burrowURL, accountData); ``` However it seems monax-keys stores them in an encrypted way at ~/.monax/keys/data

Valveware (Wed, 09 May 2018 09:20:42 GMT):
it stores it like ``` {"Id":"MGQwYTIzODMtZjI3NC00OTI3LThlNGYtMzRlYzIzZTBkZThj","Type":"ed25519,ripemd160","Address":"55DA1FD361566CD3D6BE04A9DC01AA1AF37BBE40","PrivateKey":"rwHIJrGORQh13QwWzc6sOo+qpyEGxjbIL/Lnl2Q/WzJlITGlh1dDLoZrxCCV9mCnHI+Zg016zGPVIhzA9Zss8Q=="} ``` So I am using it like this ``` { "pubKey":"652131A58757432E866BC42095F660A71C8F99834D7ACC63D5221CC0F59B2CF1", "address":"55DA1FD361566CD3D6BE04A9DC01AA1AF37BBE40", "privKey":"rwHIJrGORQh13QwWzc6sOo+qpyEGxjbIL/Lnl2Q/WzJlITGlh1dDLoZrxCCV9mCnHI+Zg016zGPVIhzA9Zss8Q==" } ``` However it expects util.js it expects it to be of this format: ^[0-9a-fA-F]{128}$ which means it has to be the raw public key of 128 characters

Valveware (Wed, 09 May 2018 09:20:42 GMT):
it stores it like ``` { "Id":"MGQwYTIzODMtZjI3NC00OTI3LThlNGYtMzRlYzIzZTBkZThj", "Type":"ed25519,ripemd160","Address":"55DA1FD361566CD3D6BE04A9DC01AA1AF37BBE40", "PrivateKey":"rwHIJrGORQh13QwWzc6sOo+qpyEGxjbIL/Lnl2Q/WzJlITGlh1dDLoZrxCCV9mCnHI+Zg016zGPVIhzA9Zss8Q==" } ``` So I am using it like this ``` { "pubKey":"652131A58757432E866BC42095F660A71C8F99834D7ACC63D5221CC0F59B2CF1", "address":"55DA1FD361566CD3D6BE04A9DC01AA1AF37BBE40", "privKey":"rwHIJrGORQh13QwWzc6sOo+qpyEGxjbIL/Lnl2Q/WzJlITGlh1dDLoZrxCCV9mCnHI+Zg016zGPVIhzA9Zss8Q==" } ``` However it expects util.js it expects it to be of this format: ^[0-9a-fA-F]{128}$ which means it has to be the raw public key of 128 characters

Valveware (Wed, 09 May 2018 09:20:42 GMT):
it stores it like ``` { "Id":"MGQwYTIzODMtZjI3NC00OTI3LThlNGYtMzRlYzIzZTBkZThj", "Type":"ed25519,ripemd160","Address":"55DA1FD361566CD3D6BE04A9DC01AA1AF37BBE40", "PrivateKey":"rwHIJrGORQh13QwWzc6sOo+qpyEGxjbIL/Lnl2Q/WzJlITGlh1dDLoZrxCCV9mCnHI+Zg016zGPVIhzA9Zss8Q==" } ``` So I am using it like this ``` { "pubKey":"652131A58757432E866BC42095F660A71C8F99834D7ACC63D5221CC0F59B2CF1", "address":"55DA1FD361566CD3D6BE04A9DC01AA1AF37BBE40", "privKey":"rwHIJrGORQh13QwWzc6sOo+qpyEGxjbIL/Lnl2Q/WzJlITGlh1dDLoZrxCCV9mCnHI+Zg016zGPVIhzA9Zss8Q==" } ``` However it expects util.js it expects it to be of this format: ^[0-9a-fA-F]{128}$ which means it has to be the raw public key of 128 characters And it happens in the devPipe when it is trying to transact a new contract, it's not happy with the given privKey

Valveware (Wed, 09 May 2018 10:04:03 GMT):
I found the private key for the node running the serve in a hidden folder created with burrow serve

Valveware (Wed, 09 May 2018 11:13:33 GMT):
Now I managed to supply a valid private key, but when I am deploying a contract I run into the following error: ``` Burrow error: Call of method "transactAndHold" with parameters { priv_key: '91821BA9DB370652E3860921A6F8930DD0CA9E78F5532AD3FE9B486D1E68356D8DF 49E0AEAA21F3ECA633B6D5AB29896C2C45A89445C54351FA5B10DC166E172', address: '', data: '', gas_limit: 1000000, fee: 1 } responded with "response error when calling monax-keys at http://localhost:4767/pub: open ~/.monax/keys/data/56E9B4AEBE464B2AB1F6521871A2099FCE8847FD/56E9B4AEBE464B2AB1F6521871A2099FCE8847FD: no such file or directory". { Error: response error when calling monax-keys at http://localhost:4767/pub: open ~/.monax/keys/data/56E9B4AEBE464B2AB1F6521871A2099FCE8847FD/56E9B4AEBE464B2AB1F6521871A2099FCE8847FD: no such file or directory at values.next.then (~/Documents/Truffle/node_test/node_modules/@nodeguy/json-rpc/lib/index.js:16:30) at method: 'transactAndHold', params: [ { priv_key: '91821BA9DB370652E3860921A6F8930DD0CA9E78F5532AD3FE9B486D1E68356D8DF49E0AEAA21F3ECA633B6D5AB29896C2C45A89445C54351FA5B10DC166E172', address: '', data: '', gas_limit: 1000000, fee: 1 } ], code: -32603, message: 'response error when calling monax-keys at http://localhost:4767/pub: open ~/.monax/keys/data/56E9B4AEBE464B2AB1F6521871A2099FCE8847FD/56E9B4AEBE464B2AB1F6521871A2099FCE8847FD: no such file or directory' } (node:15959) UnhandledPromiseRejectionWarning: Error: response error when calling monax-keys at http://localhost:4767/pub: open ~/.monax/keys/data/56E9B4AEBE464B2AB1F6521871A2099FCE8847FD/56E9B4AEBE464B2AB1F6521871A2099FCE8847FD: no such file or directory at values.next.then (~/Documents/Truffle/node_test/node_modules/@nodeguy/json-rpc/lib/index.js:16:30) at ``` The key with address '56E9B4AEBE464B2AB1F6521871A2099FCE8847FD' does not exist on the my system, that address is also not the validator nor the participant of the chain, yet somehow it goes looking for that particular address :thinking:

silasdavis (Wed, 09 May 2018 12:05:21 GMT):
Hi @Valveware, I'm afraid this is a still a bit of a wringle with where we were at with keys, here is how you can generate the accounts.json that the JS libs are after: https://github.com/monax/bosmarmot/blob/master/test/generate-accounts.json.sh

silasdavis (Wed, 09 May 2018 12:09:55 GMT):
as in `monax-keys convert --addr 933A2DE86C7E0F5A58126156D3DFADD0C59D973D`

Valveware (Wed, 09 May 2018 12:10:51 GMT):
I'm trying it as we speak :)

silasdavis (Wed, 09 May 2018 12:11:52 GMT):
I suspect the key you may have found on disk was: `.burrow/config/node_key.json`?

Valveware (Wed, 09 May 2018 12:13:37 GMT):
Yep that was it

Valveware (Wed, 09 May 2018 12:13:43 GMT):
But your new method seems to work!

Valveware (Wed, 09 May 2018 12:14:01 GMT):
I only had to change pub_key and priv_key to pubKey and privKey

Valveware (Wed, 09 May 2018 12:23:27 GMT):
The json it generated had pub_key priv_key and I know it requires pubKey privKey by now :p , I just hope that doesn't mean I'm using a wrong version :sweat_smile:

Valveware (Wed, 09 May 2018 12:41:07 GMT):
Btw if revert is not yet supported does that mean I should not be using assert, require and revert?

RobertDiebels (Wed, 09 May 2018 12:56:51 GMT):
Has left the channel.

mansoor (Wed, 09 May 2018 13:48:45 GMT):
Hello, presently is there any way to interact with burrow using web3 given that legacy-contracts.js is marked as deprecated?

Valveware (Wed, 09 May 2018 13:59:40 GMT):
@mansoor You can still use legacy-contracts.js and legacy-db.js , with v0.18 of burrow you can use the latest versions of both (v0.17)

mansoor (Wed, 09 May 2018 14:02:18 GMT):
Oh cool, thanks!

mansoor (Wed, 09 May 2018 14:14:24 GMT):
On a related note, are there any examples of usage of the JSON-RPC API? I'm having some difficulties bootstrapping my client (All I need from it is the output of GetConsensusState and GetBlock ).

mansoor (Wed, 09 May 2018 14:15:07 GMT):
FYI, Function descriptions here: https://github.com/hyperledger/burrow/blob/master/docs/specs/api.md

rjones (Thu, 10 May 2018 01:15:33 GMT):
Has joined the channel.

rjones (Thu, 10 May 2018 01:16:16 GMT):
@silasdavis please examine https://hub.docker.com/r/ryjones/burrow/ . I made it using the auto-build options for a repo. is that what you wanted? or do you really want to push from the CI system?

rjones (Thu, 10 May 2018 01:17:22 GMT):
it should build a new image on each merge.

JohnH_Traede (Thu, 10 May 2018 04:41:29 GMT):
Has joined the channel.

krisc 4 (Thu, 10 May 2018 04:43:26 GMT):
Has joined the channel.

compleatang (Thu, 10 May 2018 17:39:28 GMT):
Ry, we prefer to push from CI than use dockers auto build system.

sgaddam (Fri, 11 May 2018 05:38:34 GMT):
Has joined the channel.

kevinstr (Tue, 15 May 2018 06:33:35 GMT):
Hello erverybody. My monax instance crashes sometimes. I have 4 nodes running, on 4 seperate VM's. When I perform a "monax ls" after a couple of days not using the blockchain on the vm where the smart contract was deployed and the chain created, it says the blockchain is down.

kevinstr (Tue, 15 May 2018 06:33:44 GMT):
Whatever I do, I can't get it up

kevinstr (Tue, 15 May 2018 06:33:48 GMT):
any solutions?

Valveware (Tue, 15 May 2018 06:46:15 GMT):
Do the VM's ever shut down or go to sleep? Maybe due to energy savings settings?

kevinstr (Tue, 15 May 2018 06:51:22 GMT):
they don't shut down or go to sleep

Valveware (Tue, 15 May 2018 07:04:05 GMT):
Then I can't help you, sorry :/

compleatang (Tue, 15 May 2018 08:27:06 GMT):
Hard to debug in isolation. Maybe start by looking at log usage and whether VMs disk is full...

Valveware (Tue, 15 May 2018 09:16:48 GMT):
Can Solidity v0.4.23 be used with this commit having been merged? https://github.com/hyperledger/burrow/commit/8dd8c0f3161af81b65c7c3fdca5d7a439d1a1483 Before I was experiencing a "RETURNDATASIZE not yet implemented" error, this might have solved it? I was using the new feature where it's possible to use dynamic arrays..

obs0811 (Tue, 15 May 2018 10:07:31 GMT):
Has joined the channel.

sauravverma (Tue, 15 May 2018 10:29:12 GMT):
Has joined the channel.

silasdavis (Tue, 15 May 2018 10:48:51 GMT):
@Valveware that should give us support

silasdavis (Tue, 15 May 2018 10:50:09 GMT):
I am yet to produce a test case, if you are in a position to create one then a PR would be gratefully received, see here for the form: https://github.com/monax/bosmarmot/tree/develop/monax/tests/jobs_fixtures/app05-deploy_query_contracts_and_testing_rendering_solc_int_type

silasdavis (Tue, 15 May 2018 10:50:36 GMT):
Would just need to be some suitable solidity, and an epm.yaml file as used by our `bos` tool (are you using bos?)

silasdavis (Tue, 15 May 2018 10:51:16 GMT):
Alternatively if you are able to test with some real solidity and confirm or reject it as working I can work that into a test case

Valveware (Tue, 15 May 2018 11:12:55 GMT):
I'm looking into it right now, I think bos pkgs works the same as monax pkgs. Although I'be been deploying using the js libraries I think I can figure it out that way

Valveware (Tue, 15 May 2018 12:02:09 GMT):
@silasdavis When executing ``` bos pkgs do --keys="http://localhost:4767" --chain-url="tcp://localhost:46657" --address=6C5D947A9184BA3A376FFABD1AAF24B5AFDA6F8F ``` I get the following error: ``` error deploying contract Driver: error connecting to node (tcp://localhost:46657) to fetch account (6C5D947A9184BA3A376FFABD1AAF24B5AFDA6F8F): Post http://localhost:46657: dial tcp [::1]:46657: connect: connection refused ``` What could cause this? In my Burrow.toml file I do find this: ``` [RPC.TM] Disabled = false ListenAddress = "tcp://localhost:46657" ```

Valveware (Tue, 15 May 2018 12:35:53 GMT):
I managed to solve the issue, just getting an assertion fail atm so checking that out

Valveware (Tue, 15 May 2018 12:40:30 GMT):
Is it not possible to set a string array variable in yaml like this? ``` - name: setCarArrayVariable set: data: [ "Red Car", "Green Car", "Blue Car" ] ```

Valveware (Tue, 15 May 2018 12:46:09 GMT):
It seems to have worked, also an array gets returned however I do not know how I can assert if they are equal :sweat_smile: But it seems to be correct

Valveware (Tue, 15 May 2018 13:02:27 GMT):
I think I managed to make a pull request :)

seanyoung (Tue, 15 May 2018 15:54:09 GMT):
@Valveware Hello

seanyoung (Tue, 15 May 2018 15:54:17 GMT):
Let me know if I can help

Valveware (Tue, 15 May 2018 16:14:38 GMT):
@seanyoung Hello :) I think I made it work, but the reason it failed on CI is because I told it it was ^0.4.23 and I believe it is only capable of doing ^0.4.22? I couldn't figure out how to set an array of strings to a variable in the epm file. So I couldn't get an assert right ``` +- name: assertCarArray + assert: + key: $queryDriverCarArray relation: ne val: "" ```

Valveware (Tue, 15 May 2018 16:14:38 GMT):
@seanyoung Hello :) I think I made it work, but the reason it failed on CI is because I told it it was ^0.4.23 and I believe it is only capable of doing ^0.4.22? I couldn't figure out how to set an array of strings to a variable in the epm file. So I couldn't get an assert right ``` - name: assertCarArray assert: key: $queryDriverCarArray relation: ne val: "" ``` This value I would like to put $setCarArrayVariable, but I tried to define it in a few ways as a variable, but I couldn't figure out the correct syntax for it. The variable should be equal to a string array like this [ 'Red Car', 'Green Car', 'Blue Car'] But the variable remained empty but I could see the method did return the correct array I set it to

danultimate (Tue, 15 May 2018 17:01:11 GMT):
Has joined the channel.

psprings (Tue, 15 May 2018 20:29:00 GMT):
Has joined the channel.

compleatang (Tue, 15 May 2018 22:43:45 GMT):
I think bos has variable assertion on array elements but not the whole array.

compleatang (Tue, 15 May 2018 22:44:00 GMT):
Thanks Valve!

Valveware (Wed, 16 May 2018 06:22:59 GMT):
@compleatang Alright, I'll try to figure out a way to do that assertion in a different way

Valveware (Wed, 16 May 2018 06:24:17 GMT):
Has anyone ever experienced this kind of error? ``` Burrow error: Call of method "transactAndHold" with parameters { priv_key: 'A6837D541CF61F626B0F74CFA36011AE20D47878B9EB0A05943F026528FDCC0AA185F5DE747332FB27CA4E4F2364D7B295345839AA0353165552C16FE359FEA1', address: 'AA60C5E6524030E6838D7999881C3F423251FC52', data: '1888e600000000000000000000000000e370cf4203ab8114cd55b981fb29ca141ea9c504E88AD66C01C15C798F9D6C8628776EF0B71491F1EA4614976396D90F6E82F4465061727469636970616e74205a65726f000000000000000000000000000000000000000000000000000000006c5d947a9184ba3a376ffabd1aaf24b5afda6f8f0000000000000000000000000000000000000000000000000000000000000000', gas_limit: 1000000, fee: 1 } responded with "private key is not of the right length: 0 ". { Error: private key is not of the right length: 0 at values.next.then (/Users/merlijnversteegen/Documents/Contracts/Server/node_modules/@nodeguy/json-rpc/lib/index.js:16:30) at method: 'transactAndHold', params: [ { priv_key: 'A6837D541CF61F626B0F74CFA36011AE20D47878B9EB0A05943F026528FDCC0AA185F5DE747332FB27CA4E4F2364D7B295345839AA0353165552C16FE359FEA1', address: 'AA60C5E6524030E6838D7999881C3F423251FC52', data: '1888e600000000000000000000000000e370cf4203ab8114cd55b981fb29ca141ea9c504E88AD66C01C15C798F9D6C8628776EF0B71491F1EA4614976396D90F6E82F4465061727469636970616e74205a65726f000000000000000000000000000000000000000000000000000000006c5d947a9184ba3a376ffabd1aaf24b5afda6f8f0000000000000000000000000000000000000000000000000000000000000000', gas_limit: 1000000, fee: 1 } ], code: -32602, message: 'private key is not of the right length: 0\n' } ``` Because I can't find where this error gets thrown and what causes it because I should be supplying a private key of the correct length :thinking_face:

Valveware (Wed, 16 May 2018 07:24:29 GMT):
Could this be a new error, that happens only on the develop branch?

Valveware (Wed, 16 May 2018 07:29:13 GMT):
It also happens when I deploy contracts in the same way as I did before, and it happened when calling a non-view function on a contract. I can however call view functions without that error it seems

Valveware (Wed, 16 May 2018 07:29:21 GMT):
(using the same credentials)

Valveware (Wed, 16 May 2018 07:46:19 GMT):
I am able to deploy the contract with the same account address using bos tooling, but the errors happen when doing things using the js libraries

seanyoung (Wed, 16 May 2018 08:41:02 GMT):
@Valveware that's another thing I know very little about, let me see if I can find out

Valveware (Wed, 16 May 2018 08:50:13 GMT):
I am currently trying to debug through the code to try to find exactly where it's going wrong

Valveware (Wed, 16 May 2018 08:50:13 GMT):
I am currently trying to debug through the code to try to find exactly where it's going wrong But so far I can't pinpoint it yet :(

Valveware (Wed, 16 May 2018 12:34:56 GMT):
So I figured out where it goes wrong

Valveware (Wed, 16 May 2018 12:39:17 GMT):
In unsafe.js theres a function Unsafe.prototype.transactAndHold . It makes the parameters and it does give a prove_key, however Burrow expects an inputAccount object, so I gave it one with a privateKey and it seems to work but then I get this error: "error when transacting: call error: REVERT not yet fully implemented"" does this mean I explicitly called revert somewhere in my solidity code?

seanyoung (Wed, 16 May 2018 12:42:15 GMT):
Newer versions of solidity use the revert opcode, which is not implemented yet.

seanyoung (Wed, 16 May 2018 12:51:38 GMT):
Hopefully we'll have an implementation soon, @smblucker is working on it. The checkTx will reject any opcodes without executing (as I understand the code)

smblucker (Wed, 16 May 2018 12:51:38 GMT):
Has joined the channel.

Valveware (Wed, 16 May 2018 13:16:09 GMT):
Oh darn, I thought we were able to use 0.4.22 already :/

Valveware (Wed, 16 May 2018 14:17:46 GMT):
Now I am getting insufficient gas errors on even the simplest contracts :thinking_face:

Valveware (Wed, 16 May 2018 14:22:09 GMT):
Scratch that I ran out of balance of the node I was testing with :sweat_smile:

silasdavis (Wed, 16 May 2018 14:25:24 GMT):
haha nice

silasdavis (Wed, 16 May 2018 14:25:39 GMT):
BTW your PR to bosmarmot just needs a rebase I think

silasdavis (Wed, 16 May 2018 14:25:44 GMT):
for tests to pass

silasdavis (Wed, 16 May 2018 14:25:51 GMT):
regarding JS libs

silasdavis (Wed, 16 May 2018 14:26:42 GMT):
we have change the parameter there, I'm just checking to see what status is with those getting on NPM

silasdavis (Wed, 16 May 2018 14:26:52 GMT):
I'm afraid you're working at the bleeding edge

Valveware (Wed, 16 May 2018 14:27:53 GMT):
Yeah I have been meaning to ask you @silasdavis is there a better version of the js libraries I can download? Since the changes with the inputAccount instead of priv_key? I have managed to get it working somewhat by editing the js libraries myself but I am not sure that's a good idea :|

silasdavis (Wed, 16 May 2018 14:28:23 GMT):
I will get one pushed ASAP if not I'm just consulting my colleague

Valveware (Wed, 16 May 2018 14:29:12 GMT):
Alright, good to hear :slight_smile:

Valveware (Wed, 16 May 2018 14:32:33 GMT):
Once I get my nodjs server to work as an api properly I think I should be close to finishing the proof of concept and then I will write out the steps I took to get a dapp working . I hope that can be put to good use by other people wanting to try out burrow with making a dapp. I can write about angular, nodjs express, testing solidity with truffle and setting up and deploying to burrow

silasdavis (Wed, 16 May 2018 14:33:04 GMT):
We are going to merge the JS libs... once we have done that we'll make sure we have automatic pushing to NPM from master

silasdavis (Wed, 16 May 2018 14:33:23 GMT):
That would be very helpful to the project

Valveware (Wed, 16 May 2018 14:35:33 GMT):
That would hopefully make the js libs simpler

Valveware (Wed, 16 May 2018 14:38:02 GMT):
Great, looking forward to it :blush:

compleatang (Thu, 17 May 2018 13:53:11 GMT):
Valve, indeed that would be very helpful.. ! 😀

Valveware (Thu, 17 May 2018 14:07:22 GMT):
@compleatang For the Bachelor paper that goes with my proof of concept I would like to include some diagrams explaining the architecture of Burrow and I wanted to ask are these still valid diagrams(aside from the Eris namechange)? Since it dates from over a year ago: https://www.altoros.com/blog/hyperledger-incubation-burrow-integrates-permissioned-ethereum-virtual-machine/

ApurvTandon (Fri, 18 May 2018 06:33:01 GMT):
Has joined the channel.

pouladzade (Fri, 18 May 2018 06:56:02 GMT):
Hi guys, I've already updated Snak (https://github.com/pouladzade/snack) for burrow 0.18.0

pouladzade (Fri, 18 May 2018 06:56:06 GMT):
https://www.npmjs.com/package/snak

pouladzade (Fri, 18 May 2018 06:57:27 GMT):
It supports Linux and Darwin for now, hope it will be useful for you too!

silasdavis (Fri, 18 May 2018 21:30:11 GMT):
looks great

silasdavis (Fri, 18 May 2018 21:30:24 GMT):
are you aware of our address-based signing changes? We should get that in there...

silasdavis (Fri, 18 May 2018 21:31:03 GMT):
we are planning to collapse the current JS libs into a single one

silasdavis (Fri, 18 May 2018 21:31:22 GMT):
and also to replace the current RPC with a GRPC interface

silasdavis (Fri, 18 May 2018 21:32:31 GMT):
I'm wondering if that new library could itself be merged into snak

silasdavis (Fri, 18 May 2018 21:33:33 GMT):
I'm also wondering if you would be interested in the possibility of becoming a Burrow maintainer, in particular owning the JS libs...?

silasdavis (Fri, 18 May 2018 21:34:14 GMT):
It wouldn't be a just you thing, but I think given your efforts it would make sense to at least have you in the loop on what we are doing on that side of things

JulesMiller (Mon, 21 May 2018 01:39:49 GMT):
Has joined the channel.

Startoy (Mon, 21 May 2018 05:21:24 GMT):
Hello, can anyone help me. I'm deploying smart contract via monax pkgs. call a function by js lib seems work fine. but if I deployed via js lib I can't call any function except the constant function did I miss something :( ?

Startoy (Mon, 21 May 2018 06:55:47 GMT):
``` `MONAX 9389: { method: 'burrow.transactAndHold', params: { priv_key: 'C344039035A691C71755345C13BF719A92085D7AA4ABD75E1B54C74FA0E88E2151F2A0180B9D 97ED1F73D32D31BBA9E21974C7870DC85D58F063D3EE7FEEC4D8', address: 'DB3C7FF5D229C772C5BA2870A5D26BC1E08E4F4C', data: '0b8c737e00000000000000000000000000000000000000000000000000000000000002e500000000 00000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000 00000000000000000000000000140000000000000000000000000000000000000000000000000000000000000002 0000000000000000000000000000000000000000000000000000000000000013426f6f6b203a2054686520547265 617375726500000000000000000000000000', gas_limit: 1000000, fee: 1 }, id: 'HbOyLpNmb/yoghG2I4gIhU7d4jx9HgTiKBx7MbclVZQ=', jsonrpc: '2.0' }` ```

Startoy (Mon, 21 May 2018 06:56:31 GMT):
stuck here and get no response

Startoy (Mon, 21 May 2018 06:59:36 GMT):
this is code `var myContract; contractManager.newContractFactory(ABI).new((err, contract) => { if (err) { throw error } myContract = contract }) `

Startoy (Mon, 21 May 2018 06:59:36 GMT):
``` this is code `var myContract; contractManager.newContractFactory(ABI).new((err, contract) => { if (err) { throw error } myContract = contract }) ` ```

Startoy (Mon, 21 May 2018 06:59:36 GMT):
this is code ``` `var myContract; contractManager.newContractFactory(ABI).new((err, contract) => { if (err) { throw error } myContract = contract }) ` ```

Startoy (Mon, 21 May 2018 06:59:36 GMT):
this is code ``` `var myContract; contractManager.newContractFactory(ABI).new((err, contract) => { if (err) { throw error } myContract = contract }) ` ``` I left it for a while and got ``` Transaction timed out. ``` I notice that if I use default account. I got timed out but if I use new generate account I got `Private key is not of the right length: 0\n` instead, like Valveware

Startoy (Mon, 21 May 2018 07:44:50 GMT):
I left it for a while and got ``` Transaction timed out. ```

Startoy (Mon, 21 May 2018 07:44:50 GMT):
I left it for a while and got ``` Transaction timed out. ``` I notice that if I use default account. I got timed out but if I use new generate account I got `Private key is not of the right length: 0\n` instead like Valveware

Startoy (Mon, 21 May 2018 07:44:50 GMT):
I left it for a while and got ``` Transaction timed out. ``` I notice that if I use default account. I got timed out but if I use new generate account I got `Private key is not of the right length: 0\n` instead, like Valveware

AnkurDaharwal (Mon, 21 May 2018 08:41:58 GMT):
Has joined the channel.

Startoy (Mon, 21 May 2018 09:46:55 GMT):
Hello, Can anyone help me please. I've deployed contract via `monax pkgs do`. everything works fine, I can call functions using legacy-contract but if I deployed by` contractFactory.new()`. is transactAndHold and in a half minute got `code: -32603, message: 'Transaction timed out.` (all constant/view functions are working fine) did I miss something ?

Startoy (Mon, 21 May 2018 09:46:55 GMT):
``` Hello, Can anyone help me please. I've deployed contract via `monax pkgs do`. everything works fine, I can call functions using legacy-contract but if I deployed by` contractFactory.new()`. is transactAndHold and in a half minute got `code: -32603, message: 'Transaction timed out.` (all constant/view functions are working fine) did I miss something ? ```

Startoy (Mon, 21 May 2018 09:46:55 GMT):
Hello, Can anyone help me please. I've deployed contract via `monax pkgs do`. everything works fine, I can call functions using legacy-contract but if I deployed by `contractFactory.new()`. is transactAndHold and in a half minute got `code: -32603, message: 'Transaction timed out. ` (all constant/view functions are working fine) did I miss something ?

Startoy (Mon, 21 May 2018 09:46:55 GMT):
Hello, Can anyone help me please. I've deployed contract via `monax pkgs do`. everything works fine, I can call functions using legacy-contract but if I deployed by `contractFactory.new()` is transactAndHold and in a half minute got `code: -32603, message: 'Transaction timed out. ` (all constant/view functions are working fine) did I miss something ?

Startoy (Mon, 21 May 2018 09:46:55 GMT):
Hello, Can anyone help me please. I've deployed contract via `monax pkgs do`. everything works fine, I can call functions using legacy-contract but if I deployed by `contractFactory.new()` is transactAndHold and in a half minute got `code: -32603, message: 'Transaction timed out` (all constant/view functions are working fine) did I miss something ?

Startoy (Mon, 21 May 2018 09:46:55 GMT):
Hello, Can anyone help me please. I've deployed contract via `monax pkgs do`. everything works fine, I can call functions using legacy-contract but if I deployed by `contractFactory.new()` is transactAndHold and in a half minute got ``` code: -32603, message: 'Transaction timed out ``` (all constant/view functions are working fine) did I miss something ?

Startoy (Mon, 21 May 2018 09:46:55 GMT):
Hello, Can anyone help me please. I've deployed contract via `monax pkgs do`. everything works fine, I can call functions using legacy-contract but if I deployed by `contractFactory.new()` is transactAndHold and in a half minute got ```code: -32603, message: 'Transaction timed out ``` (all constant/view functions are working fine) did I miss something ?

Startoy (Mon, 21 May 2018 09:46:55 GMT):
Hello, Can anyone help me please. I've deployed contract via `monax pkgs do`. everything works fine, I can call functions using legacy-contract but if I deployed by `contractFactory.new()` is transactAndHold and in half minute got ```code: -32603, message: 'Transaction timed out ``` (all constant/view functions are working fine) did I miss something ?

pouladzade (Mon, 21 May 2018 11:21:31 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=zAPEwrxyfZMLxiz4j) @silasdavis About "address-based signing changes" Do you mean the monax_keys stuff?

pouladzade (Mon, 21 May 2018 11:26:04 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=g8JEXyCAGaTN9eF4u) @silasdavis I would be glad if I can help.

vlas 6 (Tue, 22 May 2018 06:45:42 GMT):
Has joined the channel.

mansoor (Tue, 22 May 2018 13:57:43 GMT):
I've been looking at the API and the documentation is incomplete, especially the getBlock return fields (https://github.com/hyperledger/burrow/blob/master/docs/specs/api.md). There are TODOs there without a type which are making it difficult for me to parse the returned value. Any updates on this? :)

silasdavis (Tue, 22 May 2018 18:59:59 GMT):
@mansoor: See here for the method definition: https://github.com/hyperledger/burrow/blob/develop/rpc/v0/methods.go#L387-L397, which gives you this type: https://github.com/hyperledger/burrow/blob/develop/rpc/result.go#L69-L72

silasdavis (Tue, 22 May 2018 19:00:14 GMT):
probably the easiest thing to do would just dump the returned JSON to debug

silasdavis (Tue, 22 May 2018 19:00:31 GMT):
If you are able to update any missing docs then a PR would be gratefully accepted

PoojaVarshneya (Tue, 22 May 2018 20:46:34 GMT):
Has joined the channel.

shaileshjgd (Wed, 23 May 2018 02:47:36 GMT):
Has joined the channel.

kevinstr (Wed, 23 May 2018 11:30:14 GMT):
Could it be that Burrow is not threaded? For example: when I'm trying to get data from a smart contract on the blockchain via 2 different threads, it just doesn't return any data and sometimes it gives a TransactAndHold error.

mansoor (Thu, 24 May 2018 10:29:14 GMT):
@silasdavis Done. Updated description for getblock. Sent a PR to develop.

compleatang (Thu, 24 May 2018 12:11:59 GMT):
Kevin, burrow has channels (similar to threads in go), but the chain itself isn't threaded. What version of burrow are you using right now? We've updated that pipeline significantly in 0.18 and would encourage you to try that.

silasdavis (Thu, 24 May 2018 14:53:02 GMT):
@Valveware can I introduce you to @KellyCooper who would be very interested in helping you contribute your experience and tutorial that you were offering to write up into the Hyperledger docs and give it some visibility - which hopefully you could reference as part of your thesis

KellyCooper (Thu, 24 May 2018 14:53:03 GMT):
Has joined the channel.

KellyCooper (Thu, 24 May 2018 14:56:02 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=j6Sbn2aPhjbRd4edJ) @valveware feel free to reach out, I'm with the training and education workgroup. We can assist, test, etc. your documentation.

KellyCooper (Thu, 24 May 2018 15:29:07 GMT):
#training-and-education-wg includes volunteers available to edit, test and contribute to tutorials and learning materials. Feel free to post possible collaboration in the wg or @KellyCooper. We have many volunteers for beginning projects and some volunteers for advanced. One way we can support your efforts is as users/consumers to comment on clarity, strengths and gaps in your documentation/materials. Your request(s) will be viewed by the group every Monday and we can track/manage on our end. Thanks, Kelly

GPhysics (Fri, 25 May 2018 05:40:50 GMT):
Has joined the channel.

BALACHUPPALA (Tue, 29 May 2018 06:02:11 GMT):
Has joined the channel.

yasu (Tue, 29 May 2018 08:29:42 GMT):
Has joined the channel.

Rekha (Tue, 29 May 2018 11:30:59 GMT):
@compleatang I have downloaded latest Burrow code from github. When I am trying the command `burrow serve --validator-index=0 ` , I am facing the error: *Error: incorrect usage*. How can I resolve this issue?

silasdavis (Tue, 29 May 2018 12:19:37 GMT):
It is now `burrow start --validator-index=0`

Rekha (Tue, 29 May 2018 12:28:15 GMT):
Ok, Thank you. But I run the above command, I am having following error: *{"caller":"blockchain.go:106","database_key":"426C6F636B636861696E5374617465","log_channel":"Info","message":"Trying to load blockchain state from database","run_id":"715d7d93-633b-11e8-8311-6a67eb7116da","scope":"LoadOrNewBlockchain","time":"2018-05-29T12:25:59.108406537Z"} could not create Burrow kernel: error creating or loading blockchain state: GenesisDoc passed to LoadOrNewBlockchain has hash: 0xD777D10BE6FA80A9DE9A71F59C3EC5297F5362818C6F8CB3F3777AF91762DBD2, which does not match the one found in database: 0x5C343CDCF75260010AB7427E584623007236BBF90C27A7AF2E7742D52B7F4E68*

Rekha (Tue, 29 May 2018 12:28:15 GMT):
Ok, Thank you. But I run the above command, I am having following error: *{"caller":"blockchain.go:106","database_key":"426C6F636B636861696E5374617465","log_channel":"Info","message":"Trying to load blockchain state from database","run_id":"715d7d93-633b-11e8-8311-6a67eb7116da","scope":"LoadOrNewBlockchain","time":"2018-05-29T12:25:59.108406537Z"} could not create Burrow kernel: error creating or loading blockchain state: GenesisDoc passed to LoadOrNewBlockchain has hash: 0xD777D10BE6FA80A9DE9A71F59C3EC5297F5362818C6F8CB3F3777AF91762DBD2, which does not match the one found in database: 0x5C343CDCF75260010AB7427E584623007236BBF90C27A7AF2E7742D52B7F4E68* . I just did `make install_db` after `go get`. How to solve this issue?

grice_32 (Tue, 29 May 2018 16:38:25 GMT):
Has joined the channel.

compleatang (Wed, 30 May 2018 09:40:09 GMT):
@Rekha the error is telling you that the burrow local levelDB that is trying to load `now` is different than what is saved to disk. There are two ways around this. (a) if you do not need the previous data then remove the `.burrow` directory, or (b) if you do, then just change directories and start burrow in a different directory which will write a new `.burrow` directory and database to disk.

tahaf10 (Wed, 30 May 2018 10:33:32 GMT):
Has joined the channel.

jwaup (Wed, 30 May 2018 13:52:48 GMT):
Has joined the channel.

WingAaron (Thu, 31 May 2018 00:16:33 GMT):
Has joined the channel.

compleatang (Thu, 31 May 2018 08:44:29 GMT):
@Valveware thanks for the PR! we'll get it merged today most likely.

compleatang (Thu, 31 May 2018 08:45:26 GMT):
@KellyCooper we'd love to leverage the #training-and-education-wg 's resources to on tutorials and learning materials. How can we get started? Happy to have a quick call soon-ish if that's helpful for everyone.

lev-tatarov (Thu, 31 May 2018 15:22:22 GMT):
Has joined the channel.

lev-tatarov (Thu, 31 May 2018 15:24:23 GMT):
maturity

AspramShadyan (Thu, 31 May 2018 19:26:12 GMT):
Has joined the channel.

AspramShadyan (Thu, 31 May 2018 19:26:23 GMT):
Hi everyone. I have some questions connected to the functionality that Burrow offers. I need to know whether I can implement multisignature transactions using Burrow API.

silasdavis (Thu, 31 May 2018 19:39:25 GMT):
Yes, this is something easily done with the EVM, see: https://github.com/ConsenSys/MultiSigWallet

KellyCooper (Fri, 01 Jun 2018 05:03:24 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=ZMJebhHDXFAnLkGf4) @compleatang Monday @ 10:00 am PST we will have our working group call if you would like to discuss what you're working and on and how we can support your efforts. Or, you and I can talk and I can report out to the group. Would be great to have you on the call.

pathfinder2104 (Fri, 01 Jun 2018 09:56:13 GMT):
Has joined the channel.

AspramShadyan (Fri, 01 Jun 2018 11:44:26 GMT):
Hi everyone again. I need to know if Burrow offers the functionality to make coin transactions in cryptocurrency exchanges? Are there any APIs available?

silasdavis (Fri, 01 Jun 2018 12:55:19 GMT):
@KellyCooper if you happen to have a calendar invite could you send to silas@monax.io - helps avoid timezone screw ups?

KellyCooper (Fri, 01 Jun 2018 13:31:37 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=icYRP9hrcqStNYLrK) @silasdavis I emailed the info and asked Tracy (originator) to send you the Google invite as well. Thanks, Kelly

mselimi (Fri, 01 Jun 2018 15:01:40 GMT):
Has joined the channel.

mselimi (Fri, 01 Jun 2018 15:05:21 GMT):
Hi everyone ! Is there any tutorial (demo) on how to run EVM in Burrow or Sawtooth ? Your help is greatly appreciated. Thanks

Nawinbit (Fri, 01 Jun 2018 17:24:06 GMT):
Has joined the channel.

Nawinbit (Fri, 01 Jun 2018 18:56:52 GMT):
Hi all, i am working on monax platform for past three months. I am using @momax legacy contract module for communicate with monax platform. In that i am getting error(which throwing infinity time and chain got broken) like burrow error: call of method event pool. With parameter{sub_id:xxxx} respond with subscription not active, wherever I am listening the contract events. I am getting this error after completing 50 or 60 transaction.Please provide me the solution. If you need a screenshot of the error console, i will share across you.

vanderheijden86 (Sat, 02 Jun 2018 10:10:59 GMT):
Has joined the channel.

vanderheijden86 (Sat, 02 Jun 2018 10:20:27 GMT):
So you guys use the

DekoyM (Sun, 03 Jun 2018 16:35:06 GMT):
Has joined the channel.

Rekha (Mon, 04 Jun 2018 07:26:59 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=nGotZxLg57stkcGGo) @compleatang Thank you. Now Burrow is configured successfully. I have a doubt like what is the replacement command for `monax pkgs do ....`.

GeorgeMoore (Mon, 04 Jun 2018 12:52:15 GMT):
Has joined the channel.

compleatang (Mon, 04 Jun 2018 13:45:41 GMT):
@Rekha see Monax/bosmarmot for the 7pgraded and repapced tooling for monax pkgs do. If you change to develop branch you'll see instructions.

compleatang (Mon, 04 Jun 2018 13:49:05 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=H2pyYg2rbJHBX9FBE) @mselimi you'll have to ask in the #sawtooth-seth room for sawtooth. For burrow, we only run an evm. See my instructions above for a quick getting started tutorial.

SjirNijssen (Mon, 04 Jun 2018 19:38:45 GMT):
Has joined the channel.

SjirNijssen (Mon, 04 Jun 2018 20:07:26 GMT):
Burrow experts: The Hyperledger T & E WG approved today the following: "•Proposed transaction: Let us select the 15 most essential concepts (is not terms) in Fabric, Sawtooth, Burrow and Iroha, and describe clearly, using illustrating relevant examples, understandable to end users and management, how they relate, overlap and where they are different; look forward to endorsements." On behalf of the WG I submit to you the first two concepts descriptions: A blockchain is an append-only data structure; a blockchain (instance) consists at any moment in time of a number of blocks. A block contains a number of transactions. The contents of a block is encrypted and each block contains a hash of major parts. It contains also a copy of the hash of the previous block and this is the reason for the term chain. A transaction proposal is a proposal by a client application or administrator to the blockchain network community. The network community can decide to make the transaction proposal a valid transaction, or is classified as an invalid transaction. Please let us know which improvements you want to make to these two concept definitions. Thanks

Gaoqi (Mon, 04 Jun 2018 20:46:21 GMT):
Has joined the channel.

baoyangc (Tue, 05 Jun 2018 01:53:49 GMT):
Has joined the channel.

Douw3 (Tue, 05 Jun 2018 14:37:36 GMT):
Has joined the channel.

Douw3 (Tue, 05 Jun 2018 14:40:48 GMT):
Hi All! I'm running into an issue trying to deploy a smart contract. The error message: "'transaction timed out TxHash: C643C5683243298AEE10E282129603116A316CA9'" keeps appearing when I am broadcasting my new contract and I can't figure out where the issue is originating from. The configuration is as such: - network: 'BurrowChain_2A0FC2-E00F59' - version: '0.18.0' - rpc call: { jsonrpc: '2.0', method: 'burrow.transactAndHold', params: { priv_key: 'CC4D1982A72B78CCA1528F63A85A585E5A368532FA914EECB5BF0E82A83726571806B2C0B6E4E34945A43A8E6A105016CE0F7497717D2FA12343F5F21D675910', data: '608060405234801561001057600080fd5b506101fc806100206000396000f300608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063166dec531461006757806375aac69e146100b2578063eb638f12146100fd578063fa94904d14610148575b600080fd5b34801561007357600080fd5b5061009c6004803603810190808035906020019092919080359060200190929190505050610193565b6040518082815260200191505060405180910390f35b3480156100be57600080fd5b506100e760048036038101908080359060200190929190803590602001909291905050506101a0565b6040518082815260200191505060405180910390f35b34801561010957600080fd5b5061013260048036038101908080359060200190929190803590602001909291905050506101b6565b6040518082815260200191505060405180910390f35b34801561015457600080fd5b5061017d60048036038101908080359060200190929190803590602001909291905050506101c3565b6040518082815260200191505060405180910390f35b6000818303905092915050565b600081838115156101ad57fe5b05905092915050565b6000818301905092915050565b60008183029050929150505600a165627a7a72305820db38a58e7620e677bd311a38f35bab51a36254c7e8e9e3e23114ec9e9cf7dc990029', address: '8B05651240631E5724CC380D7D249C1FC63F320B', fee: 1, gas_limit: 1000000 }, id: '0' }

Douw3 (Tue, 05 Jun 2018 14:41:05 GMT):
- response: { error: { code: -32603, message: 'transaction timed out TxHash: C643C5683243298AEE10E282129603116A316CA9' }, id: '0', jsonrpc: '2.0' }

Douw3 (Tue, 05 Jun 2018 15:22:27 GMT):
Fixed it... Note to self: don't provide an address if you're not transacting to a smart contract but trying to deploy one :')

vanderheijden86 (Tue, 05 Jun 2018 17:22:58 GMT):
Hehe lol

vanderheijden86 (Tue, 05 Jun 2018 17:22:58 GMT):
Hehehe

sassafrassas (Tue, 05 Jun 2018 19:47:06 GMT):
Has joined the channel.

compleatang (Tue, 05 Jun 2018 20:13:08 GMT):
Douw, yes indeed. It's a frustrating nuance at first. However code without an address is how burrow knows to create a new contract from the transaction.

compleatang (Wed, 06 Jun 2018 08:23:18 GMT):
@SjirNijssen that's well received. What's the best way to keep up with this effort and see all the topics? Is there a wiki somewhere or google doc?

SjirNijssen (Wed, 06 Jun 2018 14:08:16 GMT):
@compleatang Thank you. The idea is to gradually build up a set of fundamental concepts. It has been sent to Burrow, Iroha, Fabric and Sawtooth. As

SjirNijssen (Wed, 06 Jun 2018 14:11:06 GMT):
@compleatang As soon as all the reactions are in, or coming Friday, the answers will be processed and the next few basic concepts will be added. If you believe you have a better approach, please be sure that is welcome. Hence I would expect that we have in the first colum the name of the concept, then a definition, then how the Borrow concept relates to this, then the Fabric, then Iroha and then Sawtooth.

compleatang (Wed, 06 Jun 2018 17:51:09 GMT):
@SjirNijssen no worries. All that sounds reasonable. Just trying to be helpful without you having to dump in our room.

YoussefAshraf (Wed, 06 Jun 2018 18:21:13 GMT):
Hey everyone!! does burrow not support address casting to smart contracts? when i try to cast an address to a contract and run a function from it it throws me this error: Burrow error: Call of method "transactAndHold" with parameters { priv_key: '4FA9518F2508F4B00D1C0AF3DD2A8FE1B667DA2B251ABA92C111D483117B518A17DB80818065467CC45839B82D5644062F4A1EC369F398E5C4E5B54D1C0555CD', address: 'FC9E0607F3895F2EED0A08E82453F94FD6C1857A', data: '7c94c8ca000000000000000000000000b340ba08e27248381f3194ea4bb1916d15c86c9e', gas_limit: 999999999, fee: 1 } responded with "Error when transacting: Insufficient gas". definitely does not strike you as a gas error so i traced it a bit down the vm.go source and after commenting the original error this new one started showing up Burrow error: Call of method "transactAndHold" with parameters { priv_key: '4FA9518F2508F4B00D1C0AF3DD2A8FE1B667DA2B251ABA92C111D483117B518A17DB80818065467CC45839B82D5644062F4A1EC369F398E5C4E5B54D1C0555CD', address: '2471777FE02A4BC270EBEC42CE07CD32B3F607B9', data: '7c94c8ca000000000000000000000000e036772a20ce7bcc4f4fed4d74b8eb45618de1ee', gas_limit: 999999999, fee: 1 } responded with "Error when transacting: Invalid opcode 4D697373696E67206F70636F64652030783364". i cant really understand whats going on here original sol code : function getX(address addr) returns (uint) { big b = big(addr); return b.x(); } does the burrow evm have missing opcodes? because the same snippet runs perfectly on remix tia guys :D

sidkasat (Thu, 07 Jun 2018 03:41:38 GMT):
Has joined the channel.

silasdavis (Thu, 07 Jun 2018 08:40:15 GMT):
which version of Burrow are you using, you probably need to upgrade to Burrow 0.18.0 and the Bos tool: https://github.com/monax/bosmarmot

silasdavis (Thu, 07 Jun 2018 08:40:24 GMT):
'monax' is now deprecated

Aravindr86 (Thu, 07 Jun 2018 17:50:59 GMT):
Has joined the channel.

abraham (Fri, 08 Jun 2018 03:52:27 GMT):
Has joined the channel.

aKesav (Fri, 08 Jun 2018 07:32:15 GMT):
Has joined the channel.

Aravindr86 (Fri, 08 Jun 2018 13:03:21 GMT):
hi all I am new to Hyperledger. Could someone direct me to any tutorials to do in hyperledger ? I have know etheruem well.

YoussefAshraf (Fri, 08 Jun 2018 13:08:37 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=2ky5RCN4XXSeNkMGh) @silasdavis

YoussefAshraf (Fri, 08 Jun 2018 13:11:25 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=2ky5RCN4XXSeNkMGh) @silasdavis that is a good idea, i was using 0.17 when i updated to 0.18 and bosmarmot i am having an issue with keys do you have any idea how i can use the new keys with legacy-contracts.js? tia :D

compleatang (Fri, 08 Jun 2018 19:36:42 GMT):
Youssef you'll need to upgrade your legacy contracts to the latest version.

compleatang (Fri, 08 Jun 2018 19:37:44 GMT):
Aravindr Hyperledger is a whole range of projects and frameworks each with its own direction and utility. Can you explain a bit more about what you're looking for?

Aravindr86 (Fri, 08 Jun 2018 19:57:50 GMT):
@compleatang Our organisation is trying to find out the capabilities of different versions of Hyperledger. I have already gone through Fabric . I want to set up and run Burrow next. could you direct me to any tutorials that discribes on the overall architecture ,installation and deployment.

enjoythecode (Sat, 09 Jun 2018 07:26:07 GMT):
Has joined the channel.

enjoythecode (Sat, 09 Jun 2018 07:26:40 GMT):
Has left the channel.

kevinstr (Sat, 09 Jun 2018 17:06:08 GMT):
since when is Monax deprecated?

compleatang (Sun, 10 Jun 2018 00:57:55 GMT):
Aravindr, sure, the best place to start is here -> https://github.com/hyperledger/burrow/blob/develop/README.md

compleatang (Sun, 10 Jun 2018 00:58:42 GMT):
For a more tool.focused approach see here -> https://github.com/monax/bosmarmot/blob/develop/README.md

compleatang (Sun, 10 Jun 2018 00:59:50 GMT):
Kevin, since earlier this year when we began working on bos and migrating much of the functionality around keys and chain making into bos itself.

YoussefAshraf (Sun, 10 Jun 2018 07:35:32 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=CogQTcnM95DcofAHq) @compleatang thanx for ur quick reply afaik it hasn't been for over a year, and is actually a bit buggy this version 0.16 https://github.com/monax/legacy-contracts.js i have made some changes to make it work with burrow 0.17 https://github.com/JoeRoumy/legacy-contracts.js but 0.18 is not coming through with me, they keys generated are encrypted i guess and are not usable within the js code tia 😃

patelvasu (Mon, 11 Jun 2018 07:16:51 GMT):
Has joined the channel.

compleatang (Mon, 11 Jun 2018 09:11:36 GMT):

screenshot-www.npmjs.com-2018.06.11-10-11-01.png

compleatang (Mon, 11 Jun 2018 09:13:15 GMT):
FYI, we've moved our current work to https://github.com/monax/bosmarmot that's where the updated code sites. If you make some changes, we'd love PRs back upstream so others can benefit!

compleatang (Mon, 11 Jun 2018 09:13:15 GMT):
FYI, we've moved our current work to https://github.com/monax/bosmarmot that's where the updated code sits. If you make some changes, we'd love PRs back upstream so others can benefit!

compleatang (Mon, 11 Jun 2018 09:15:03 GMT):
in the next release of the library we will ship the ability to not use private keys within the library at all, but rather send an address which burrow has in its keys folder and burrow will sign on behalf of the lbirary. all in all this will be significantly safer. We have not removed the old way of signing, but it is significantly more safe to just pass an address and let burrow handle the keys and signing.

Aravindr86 (Mon, 11 Jun 2018 13:48:26 GMT):
@compleatang Thank you!!

YoussefAshraf (Tue, 12 Jun 2018 13:29:00 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=XSADLwiiHgSGRzQwK) @compleatang okaayy thank you this worked brilliantly

YoussefAshraf (Tue, 12 Jun 2018 13:29:38 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=QvuAiXqN9rFi9SigQ) @compleatang sure:ok_hand:

YoussefAshraf (Tue, 12 Jun 2018 13:31:22 GMT):
Do you have any idea if i want the minimum time between blocks to be larger than one second where i should look? or where i should edit? tia :D

kenty (Tue, 12 Jun 2018 15:45:01 GMT):
Has joined the channel.

stingley (Tue, 12 Jun 2018 15:59:34 GMT):
hi guys, so I built burrow and bos on a new system yesterday (so, monax-keys is gone and im going thru Bosmamot steps) ... and I am having issues right at the end trying to deploy with bos ... interestingly, I get two different errors with different use of flags. In the first case with the chain flag, keys flag, and address flag I get an error 'cannot talk to the keys instance'.... even tho I can run `burrow keys list`. When I try using only the address flag, I cannot talk to the chain and get and INTERNAL_ERROR 32603. I have verified for certain I am using the proper account ( examined the genesis.json as well as running `burrow keys list` ) ... any idea where I went wrong?

stingley (Tue, 12 Jun 2018 15:59:34 GMT):
hi guys, so I built burrow v 0.18.1 and bos v 0.2.0 on a new system yesterday (so, monax-keys is gone and im going thru Bosmamot steps) ... and I am having issues right at the end trying to deploy with bos ... interestingly, I get two different errors with different use of flags. In the first case with the chain flag, keys flag, and address flag I get an error 'cannot talk to the keys instance'.... even tho I can run `burrow keys list`. When I try using only the address flag, I cannot talk to the chain and get and INTERNAL_ERROR 32603. I have verified for certain I am using the proper account ( examined the genesis.json as well as running `burrow keys list` ) ... any idea where I went wrong?

stingley (Tue, 12 Jun 2018 15:59:52 GMT):

bos deploy fail.png

stingley (Tue, 12 Jun 2018 16:00:01 GMT):

bos deploy fail 2.png

basilji (Tue, 12 Jun 2018 17:06:38 GMT):
Has joined the channel.

sigma67 (Tue, 12 Jun 2018 22:53:04 GMT):
Has joined the channel.

GowthamG (Wed, 13 Jun 2018 08:50:48 GMT):
Has joined the channel.

seanyoung (Wed, 13 Jun 2018 08:52:29 GMT):
@stingley the grpc keys service in burrow listens on port 10997, not 4767.

seanyoung (Wed, 13 Jun 2018 08:53:49 GMT):
also, grpc wants the url without the http:// prefix. So it should be "bos --keys="localhost:10997 ... " (which also the default argument for --keys)

aswinuthara (Wed, 13 Jun 2018 08:54:18 GMT):
Has joined the channel.

compleatang (Thu, 14 Jun 2018 10:57:01 GMT):
@stingley if you can't connect can you run with --debug flag, that will help us ferret out what may be happening with the connection. our test runner in bos/tests can give some hints around configuration and flags...

aswinuthara (Thu, 14 Jun 2018 12:31:35 GMT):

Screenshot from 2018-06-14 18-00-27.png

paulananth (Thu, 14 Jun 2018 16:19:49 GMT):
Has joined the channel.

compleatang (Sat, 16 Jun 2018 00:23:27 GMT):
What are your Burrow and Bos versions? Can you please rerun with the debug flag and send across the results?

RenanKruger (Sat, 16 Jun 2018 13:57:32 GMT):
Has joined the channel.

faustovanin (Sat, 16 Jun 2018 14:01:24 GMT):
Has joined the channel.

ricardoshuree (Sat, 16 Jun 2018 14:07:10 GMT):
Has joined the channel.

basilji (Mon, 18 Jun 2018 06:10:12 GMT):

log.txt

basilji (Mon, 18 Jun 2018 06:10:12 GMT):

log.txt

compleatang (Mon, 18 Jun 2018 08:18:51 GMT):
basilji, the burrow version you have is just in the midst of a bunch of instability between it and bos. please rerun against commit f11bca8961d2013b45ce0c55f46dff975a080eff or greater and let us know if the error persists.

basilji (Mon, 18 Jun 2018 11:13:57 GMT):

logs.txt

basilji (Mon, 18 Jun 2018 11:14:20 GMT):
Thanks @compleatang Still I am getting the error burrow version 0.18.1+commit.v0.18.0-98-gf11bca8 bos version 0.2.0+commit.b5f6db7

compleatang (Mon, 18 Jun 2018 16:46:21 GMT):
ok. are you trying from a fresh directory with a fresh burrow.toml and/or genesis.json? if so please file an issue in hyperledger/burrow with a way that we can recreate the issue and we'll take a look. we are not seeing this issue at all and our integrations tests are passing

basilji (Tue, 19 Jun 2018 04:28:32 GMT):
@compleatang Yes I am trying it from a fresh directory with fresh burrow.toml and genesis.json

basilji (Tue, 19 Jun 2018 04:28:32 GMT):
@compleatang Yes I am trying it from a fresh directory with fresh burrow.toml and genesis.json I have raised the issue under hyperledger/burrow repo [Issue in contract deployment #811]

aswinuthara (Wed, 20 Jun 2018 08:28:51 GMT):
Hai all, I'm also facing the same issue, so do we have any other method for contract deployment??

basilji (Wed, 20 Jun 2018 08:35:05 GMT):
Is there any document available for setting up multi node for Burrow

compleatang (Wed, 20 Jun 2018 09:00:01 GMT):
@basilji we've recreated the issue. if you upgrade to bos's develop branch that will fix the problem. cc @aswinuthara

compleatang (Wed, 20 Jun 2018 09:00:59 GMT):
Basilji the best we have available is in the monax repos under the legacy-docs section. Those are old and we don't currently have bandwidth to update them, but we'd love some assistance from the community here :)

basilji (Wed, 20 Jun 2018 10:54:36 GMT):
Thanks @compleatang . Its working fine

basilji (Wed, 20 Jun 2018 12:38:20 GMT):
@compleatang In new 0.18.0 monax/legacy-contracts its mentioned to use require('/some/account/data.json') .Do we need to create data.json manually

basilji (Wed, 20 Jun 2018 12:38:20 GMT):
@compleatang In new 0.18.0 monax/legacy-contracts its mentioned to use require('/some/account/data.json') .Do we need to create data.json manually with the information that is created under .keys/data

compleatang (Wed, 20 Jun 2018 14:57:38 GMT):
you'll need the address only. cc @dennismckinnon who can fill in the details.

Katie_Wei (Wed, 20 Jun 2018 18:40:31 GMT):
Has joined the channel.

Villarreal (Thu, 21 Jun 2018 01:52:39 GMT):
Has joined the channel.

basilji (Thu, 21 Jun 2018 05:15:20 GMT):
@dennismckinnon I am getting below error while I am trying to invoke the contract using monax/legacy-contracts Burrow error: Call of method "transactAndHold" with parameters { inputAccount: { address: undefined, privateKey: 'lFisFkwVnf7nzLPqqfRAyR43sc+UQAJs26135n7tvSPhkfFdA/33YTjWtO51A80BEKw/3dcqEp9r/z4wyZdvIA==' }, address: '642A238E9572A0693150FEC73436125843210C4A', data: '1f7554c8', gasLimit: 1000000, fee: 1 } responded with "go-hex: invalid byte: U+006C 'l'". { Error: go-hex: invalid byte: U+006C 'l' at values.next.then (/home/twinapp/chain_dir_new/node_modules/@nodeguy/json-rpc/lib/index.js:16:30) at method: 'transactAndHold', params: [ { inputAccount: [Object], address: '642A238E9572A0693150FEC73436125843210C4A', data: '1f7554c8', gasLimit: 1000000, fee: 1 } ], code: -32602, message: 'go-hex: invalid byte: U+006C \'l\'' }

basilji (Thu, 21 Jun 2018 05:15:20 GMT):
@dennismckinnon I am getting below error while I am trying to invoke the contract using monax/legacy-contracts Burrow error: Call of method "transactAndHold" with parameters { inputAccount: { address: undefined, privateKey: 'lFisFkwVnf7nzLPqqfRAyR43sc+UQAJs26135n7tvSPhkfFdA/33YTjWtO51A80BEKw/3dcqEp9r/z4wyZdvIA==' }, address: '642A238E9572A0693150FEC73436125843210C4A', data: '1f7554c8', gasLimit: 1000000, fee: 1 } responded with "go-hex: invalid byte: U+006C 'l'". { Error: go-hex: invalid byte: U+006C 'l' at values.next.then (/home/twinapp/chain_dir_new/node_modules/@nodeguy/json-rpc/lib/index.js:16:30) at method: 'transactAndHold', params: [ { inputAccount: [Object], address: '642A238E9572A0693150FEC73436125843210C4A', data: '1f7554c8', gasLimit: 1000000, fee: 1 } ], code: -32602, message: 'go-hex: invalid byte: U+006C \'l\'' } I have taken the privateKey from the .keys/data file

compleatang (Thu, 21 Jun 2018 09:20:45 GMT):
you'll need to change the privateKey from base64 encoding to hex bytes if you want to use it. but you shouldn't need to. you should just use the sign with address.

compleatang (Thu, 21 Jun 2018 09:21:02 GMT):
if you really want to use the private key and the public key then you'll need to transform them.

compleatang (Thu, 21 Jun 2018 09:21:17 GMT):
here's a "simple" one liner to do that: `burrow keys export --addr=$(cat $CHAIN_SOURCE_DIRECTORY/keys/names/server_key) | jq -r '.PrivateKey.Plain' | base64 -d -i | hexdump -v -e '/1 "%02x" ' | awk '{print toupper($0)}'`

compleatang (Thu, 21 Jun 2018 09:22:01 GMT):
you'll need to change the fields after the `jq` command as needed for the address and public key to have the same formatting.

basilji (Thu, 21 Jun 2018 11:26:04 GMT):
Thanks @compleatang

basilji (Fri, 22 Jun 2018 04:51:23 GMT):
I was able to invoke smart contract using monax/legacy-contracts, but when I tried to handle multiple event call back its giving below error Burrow error: Call of method "eventPoll" with parameters { subId: 'F0DCD88320E00DAB21DA4625390B1910D531443B45A9021880FB533B50B9F4A4' } responded with "Subscription not active. ID: F0DCD88320E00DAB21DA4625390B1910D531443B45A9021880FB533B50B9F4A4". (node:1467) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1425): TypeError: Cannot read property 'EventDataLog' of undefined

dklesev (Fri, 22 Jun 2018 12:28:08 GMT):
Has left the channel.

rudimk (Sat, 23 Jun 2018 04:14:37 GMT):
Has joined the channel.

Mahesh1 2 (Sat, 23 Jun 2018 16:56:35 GMT):
Has joined the channel.

dyeghikoo (Mon, 25 Jun 2018 14:10:27 GMT):
Has joined the channel.

GiuseppeLittera (Mon, 25 Jun 2018 20:13:01 GMT):
Has joined the channel.

basilji (Tue, 26 Jun 2018 06:30:55 GMT):
Could anybody help on above issue .

raymondfx (Tue, 26 Jun 2018 09:47:52 GMT):
Has joined the channel.

adamludvik (Wed, 27 Jun 2018 10:15:10 GMT):

IMG_20180627_121136602.jpg

adamludvik (Wed, 27 Jun 2018 10:15:20 GMT):
I am digging the new Burrow sticker

silasdavis (Wed, 27 Jun 2018 18:35:38 GMT):
:)

silasdavis (Wed, 27 Jun 2018 18:35:42 GMT):
oh nice

silasdavis (Wed, 27 Jun 2018 18:35:47 GMT):
I don't even have one

silasdavis (Wed, 27 Jun 2018 18:35:55 GMT):
I do have Sawtooth on my bag still though, I must say it's a godo one

silasdavis (Wed, 27 Jun 2018 18:35:55 GMT):
I do have Sawtooth on my bag still though, I must say it's a good one

snowy13 (Wed, 27 Jun 2018 19:37:43 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=7gNwJDcwJqumJkhxA) @adamludvik Jealous!!!

YoussefAshraf (Wed, 27 Jun 2018 23:13:27 GMT):
hello guys, is it possible to send wei with the TransactAndHold method? if so what param name does burrow expect since "value" did not work ` var param = {inputAccount: inputAccount, address, data, gasLimit: gasLimit, fee, *value:2000*} `

YoussefAshraf (Wed, 27 Jun 2018 23:13:27 GMT):
hello guys, is it possible to send wei with the TransactAndHold method? if so what param name does burrow expect since "value" did not work ` var param = {inputAccount: inputAccount, address, data, gasLimit: gasLimit, fee, *value:2000*}` Tia guys :D

YoussefAshraf (Wed, 27 Jun 2018 23:20:00 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=7gNwJDcwJqumJkhxA) ohh very nicee

jhscheufen (Thu, 28 Jun 2018 11:42:37 GMT):
Has joined the channel.

dyeghikoo (Thu, 28 Jun 2018 13:05:11 GMT):

Clipboard - 28 de junio de 2018 15:05

dyeghikoo (Thu, 28 Jun 2018 13:05:11 GMT):

Clipboard - 28 de junio de 2018 15:05

compleatang (Thu, 28 Jun 2018 13:06:21 GMT):
by adding a validator address to the burrow.toml or the flags. see `burrow start --help` for more information.

compleatang (Thu, 28 Jun 2018 13:20:25 GMT):
All, we've released burrow v0.19.0 with big stability and usability improvement's, better integration capacity with kubernetes, and first implementation of a coherent grpc framework for enhanced integration with external systems. The Monax tools for burrow have also been updated. This should be the final big release where Monax tooling (other than js libraries) are required.

compleatang (Thu, 28 Jun 2018 13:20:29 GMT):
https://github.com/hyperledger/burrow/releases/tag/v0.19.0

compleatang (Thu, 28 Jun 2018 13:22:09 GMT):
@dyeghikoo specifically add `ValidatorAddress = "Xxxx"` to your burrow.toml or use `--validator-address=Xxxxx` on command line.

dennismckinnon (Thu, 28 Jun 2018 13:50:23 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=Xdh7djFtY5QH8zPuS) @basilji this is normally an intermittent error resulting from the hacky event polling system on the burrow side

dennismckinnon (Thu, 28 Jun 2018 13:51:18 GMT):
Luckily the next version of the libs will be switching over to grpc and a better event pipeline so this error should finally be vanquished

jelbazi (Thu, 28 Jun 2018 15:48:52 GMT):
Has joined the channel.

YoussefAshraf (Thu, 28 Jun 2018 20:19:24 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=Ra55AmoDnnZyjtcxm) any help would be greaty appreciated guys :D i am trying to get the smart contract to detect that msg.value has the value that is sent even the sendAndHold method correctly transfers the amount but msg.value appears to be 0 in the fallback method

YoussefAshraf (Thu, 28 Jun 2018 20:19:24 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=Ra55AmoDnnZyjtcxm) any help would be greaty appreciated guys :D i am trying to get the smart contract to detect that msg.value has the value that is sent even the sendAndHold method correctly transfers the amount but the fallback method is never triggered

compleatang (Thu, 28 Jun 2018 22:46:13 GMT):
Youssef that's like three different semi-complex questions rolled into one 😀 Can you unpack a bit more what you are trying to accomplish and what's failing?

ricktobacco (Fri, 29 Jun 2018 06:38:00 GMT):
Has joined the channel.

ricktobacco (Fri, 29 Jun 2018 06:38:02 GMT):
So is it unheard of to run two hyperledger projects together. So if I am interested in Indy, but I want smart contract functionality, can I run them together, or at least have them coordinate in some way if they run on separate networks?

compleatang (Fri, 29 Jun 2018 08:22:54 GMT):
Not unheard of. Quilt is meant to provide some level of bridging but I'm not totally sure it's compatibility with burrow or Indy. In the short run you'd just need to bridge via oracles. This use case pattern we think would be widely used and we'd love contributions that make it easy as possible to connect...

basilji (Fri, 29 Jun 2018 09:07:25 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=jfzEWo7pDMynwFokf) @dennismckinnon Thanks @dennismckinnon . I tried with 0.19.0+commit.v0.18.0-145-g7daf9ec version still we have the issue.

AbidiBassem (Fri, 29 Jun 2018 11:04:36 GMT):
Has joined the channel.

compleatang (Fri, 29 Jun 2018 11:23:54 GMT):
Basiliji is your chain on and making blocks after the call? Is your node layer still able to connect to the blockchain after the call? Every time this error arises that I've seen it is a connectivity issue or a chain instability issue.

basilji (Fri, 29 Jun 2018 11:43:13 GMT):
yes all the time chain is on.

basilji (Fri, 29 Jun 2018 11:43:13 GMT):
yes all the time chain is on. This issue will happen if we call the contract function (which is having event) continuously. For example if we call the function in async manner for 20 iteration , it will work as expected but if exceeds more than that it will fail.

YoussefAshraf (Fri, 29 Jun 2018 19:03:42 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=vDwG26cY3DdN4pb6M) okay so that wasnt very clear, my bad @compleatang i am trying to implement the five types model, and honestly everything is perfect except for one thing; wei i am using the legacy contracts (LCs) and i try to call a payable function on the smart contract (SC) to send it some wei so the contractFactory uses transactAndHold by default but i see no option to add a "value" attribute to that request so msg.value reads 0 in the SC another option i tried was to use the sendAndHold method of the txs object from LCs and aim for the fallback method but the sendAndHold does not trigger the fallback even tho wei was transfered succesfully to the SC so basically the SC has no way to detect that it received

YoussefAshraf (Fri, 29 Jun 2018 19:03:42 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=vDwG26cY3DdN4pb6M) okay so that wasnt very clear, my bad @compleatang i am trying to implement the five types model, and honestly everything is perfect except for one thing; wei i am using the legacy contracts (LCs) and i try to call a payable function on the smart contract (SC) to send it some wei so the contractFactory uses transactAndHold by default but i see no option to add a "value" attribute to that request so msg.value reads 0 in the SC another option i tried was to use the sendAndHold method of the txs object from LCs and aim for the fallback method but the sendAndHold does not trigger the fallback even tho wei was transfered succesfully to the SC so basically the SC has no way to detect that it received any wei or of course know how much was received

YoussefAshraf (Fri, 29 Jun 2018 19:03:42 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=vDwG26cY3DdN4pb6M) okay so that wasnt very clear, my bad @compleatang i am trying to implement the five types model, and honestly everything is perfect except for one thing; wei i am using the legacy contracts (LCs) and i try to call a payable function on the smart contract (SC) to send it some wei so the contractFactory uses transactAndHold by default but i see no option to add a "value" attribute to that request so msg.value reads 0 in the SC another option i tried was to use the sendAndHold method of the txs object from LCs and aim for the fallback method but the sendAndHold does not trigger the fallback even tho wei was transfered succesfully to the SC so basically the SC has no way to detect that it received any wei or of course know how much was received Any thoughts on either of those 2 methods would be great

YoussefAshraf (Fri, 29 Jun 2018 19:03:42 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=vDwG26cY3DdN4pb6M) okay so that wasnt very clear, my bad @compleatang i am trying to implement the five types model, and honestly everything is perfect except for one thing; wei i am using the legacy contracts (LCs) and i try to call a payable function on the smart contract (SC) to send it some wei so the contractFactory uses transactAndHold by default but i see no option to add a "value" attribute to that request so msg.value reads 0 in the SC another option i tried was to use the sendAndHold method of the txs object from LCs and aim for the fallback method but the sendAndHold does not trigger the fallback even tho wei was transfered succesfully to the SC so basically the SC has no way to detect that it received any wei or of course know how much was received Any thoughts on either of those 2 methods would be great, thank you :D

boatnoy (Sat, 30 Jun 2018 19:13:34 GMT):
Has joined the channel.

vagnerasilva (Sun, 01 Jul 2018 13:03:28 GMT):
Has joined the channel.

FarhadNadi (Sun, 01 Jul 2018 16:50:46 GMT):
Has joined the channel.

YoussefAshraf (Sun, 01 Jul 2018 18:43:53 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=qDJr5HSTJhCEoPWRa) any ideas guys? :sweat_smile:

silasdavis (Mon, 02 Jul 2018 11:27:47 GMT):
@YoussefAshraf so this has been a long-standing omission of Transactor. We basically have it hard-wired to always transfer 0 value. For historical reasons it was kept this way. We have done a load of ugprade work to implement a GRPC-based RPC layer and I have just pushed a change that allows you to set the value to transfer: https://github.com/hyperledger/burrow/pull/826

silasdavis (Mon, 02 Jul 2018 11:28:22 GMT):
However on the RPC that current legacy-contracts uses I have maintained the same behaviour and not exposed the value parameter for backward compatibility

silasdavis (Mon, 02 Jul 2018 11:29:37 GMT):
We are working on a refactored, unified, GRPC-based version of legacy-contract.js and legacy-db.js (we will name burrow.js) that uses GRPC and should be able to expose value for you

silasdavis (Mon, 02 Jul 2018 11:31:24 GMT):
The change to the GRPC library will be on develop soon (next hour or so I expect) so it would be possible for you to start calling this by using GRPC yourself - though this will require effort to set up JS libs against our protobuf definition. Alternatively you can wait for our next JS release against GRPC - which I think should be able to include this. I think we are pretty close to this maybe 1 week away from a develop release.

silasdavis (Mon, 02 Jul 2018 11:31:51 GMT):
if you can live with non-payable contracts for a little while then this is coming

silasdavis (Mon, 02 Jul 2018 11:32:57 GMT):
You an also formulate CallTxs with the Go client libraries/bos which has always allowed you to set the value (actually it exposes `amount` where `amount = value + fee` - whereas I have exposed `value` on the transactor RPC from that PR)

jelbazi (Mon, 02 Jul 2018 12:47:06 GMT):
Hi all, I've been trying to work my way through setting up a burrow chain. I come across all kinds of weird errors and/or lack of direction though. Also there seem to be multiple (partial) pieces of information and implementations (eris db, burrow, bosmarmot, snak, monax) that make it pretty complicated coming in without knowledge about the project. So I have a few questions: - Is there any documentation/tutorial on setting up and running a blockchain with hyperledger burrow, while not needing to change parts of the (GO) source code? - Would you say burrow is production ready yet (as in, a workable BC solution to run a global business, using smart contracts, on top off)? - Is there any company already running a business on top of (a forked version of) burrow? (Maybe a question for another place, but maybe someone knows more about this) - What are the main differences between Fabric and Burrow (apart from being able to use the EVM with burrow)? Thanks!

YoussefAshraf (Mon, 02 Jul 2018 13:23:28 GMT):
@silasdavis Oh, so it was omitted, that makes sense now first of all thank you for this amazing reply, i have no problem setting up js i have fiddled with it before and am sort of familiar with it i will give it a try and report back when all is well, again thank you for that effort :smile:

YoussefAshraf (Mon, 02 Jul 2018 13:30:00 GMT):
@jelbazi i am not an expert however i will try to answer you afaik and of course if am wrong sbdy correct me - you very much can run a chain without changing the source code, check the official bosmarmot github page, and maybe this will help you a bit even tho its outdate https://github.com/monax/legacy-docs - my personal opinion is that it is near ready, the devs are doing a great job so within a couple of weeks maybe it would be - no idea at all - this is a huge question for casually asking, needs some googling ;)

YoussefAshraf (Mon, 02 Jul 2018 13:30:00 GMT):
@jelbazi i am not an expert however i will try to answer you afaik and of course if am wrong sbdy correct me - you very much can run a chain without changing the source code, check the official bosmarmot github page, and maybe this will help you a bit even tho its outdated https://github.com/monax/legacy-docs - my personal opinion is that it is near ready, the devs are doing a great job so within a couple of weeks maybe it would be - no idea at all - this is a huge question for casually asking, needs some googling ;)

silasdavis (Mon, 02 Jul 2018 13:45:30 GMT):
@jelbazi eris-db was the name of the same codebase as Burrow before it joined hyperledger. There is no fork of Burrow, just hyperledger/burrow. Bosmarmot is a single repo containing all of the Monax-built tooling. We are reforming that to provide a better jumpstart but that should be your starting place. > - Is there any documentation/tutorial on setting up and running a blockchain with hyperledger burrow, while not needing to change parts of the (GO) source code? The Bosmarmot README there that talks you through running a single-node chain and deploying some contract: https://github.com/monax/bosmarmot. I'm not sure where you have needed to modify Burrow source code in order to run - that should not be the case. > - Would you say burrow is production ready yet (as in, a workable BC solution to run a global business, using smart contracts, on top off)? This is somewhat subjective question which depends on your standards for production ready. For example, I do not think TSB's online banking is production ready but it is still deployed by a global business... We are running it as the backbone for our Agreements Network: https://agreements.network/ (currently in beta testing). It has been used over multiple years for many different projects, most of which were proof of concepts (btw I believe Burrow is the oldest project in Hyperledger and probably the oldest permissioned ledger - citation needed, but it was essentially started later 2014 I believe ;) though developer hours is a better proxy for maturity). I know of a number of companies who are building their production systems out on Burrow, but all are pre-release. Burrow has plenty of work to do, and Tendermint is pre-1.0.0, but I am not really aware of a blockchain project I would call 'production hardened' - 'production readiness' is a function of your capacity for risk, the downside of various types of failure, and your ability to recover from disaster. For Monax I am putting equal effort into fixing things we know are broken and providing robust 1st and 2nd line disaster recovery mechanisms for running systems (things like state rollback via governance primitives) - Is there any company already running a business on top of (a forked version of) burrow? We are: https://agreements.network/ :) And it's not a fork. I know of at least two companies that are running off partially forked Burrow, but I'm afraid I'm not allowed to say who they are > What are the main differences between Fabric and Burrow (apart from being able to use the EVM with burrow)? This is a good question and I should really put something on the wiki. I usually answer with reference to Sawtooth Lake and Fabric: - Burrow is a single Go process heavily tied to Tendermint consensus (though we do have some experiments outside of that...) whereas STL and Fabric are multi-process microservice architectures with some form of pluggable consensus (STL) or endorsement (Fabric) - Burrow uses a full Byzantine Fault Tolerant (BFT) consensus mechanism (Tendermint), but Fabric and STL do not offer one yet - Burrow runs EVM smart contracts (and extensions through SNatives) whereas STL and Fabric run may different types of code through chaincode (Fabric) and transaction families (STL) - Burrow has a native token but STL and Fabric do not (you could implement one with contracts though) My one-liner would be 'Burrow is the redis of blockchain' - it doesn't support pluggable flexibility but as a result has fewer moving parts and aims to be fast and light (for a blockchain anyway). This is something of an aspiration/statement of intent as much as an authorative statement of where we are now...

silasdavis (Mon, 02 Jul 2018 13:45:30 GMT):
@jelbazi eris-db was the name of the same codebase as Burrow before it joined hyperledger. There is no fork of Burrow, just hyperledger/burrow. Bosmarmot is a single repo containing all of the Monax-built tooling. We are reforming that to provide a better jumpstart but that should be your starting place. > - Is there any documentation/tutorial on setting up and running a blockchain with hyperledger burrow, while not needing to change parts of the (GO) source code? The Bosmarmot README there that talks you through running a single-node chain and deploying some contract: https://github.com/monax/bosmarmot. I'm not sure where you have needed to modify Burrow source code in order to run - that should not be the case. > - Would you say burrow is production ready yet (as in, a workable BC solution to run a global business, using smart contracts, on top off)? This is somewhat subjective question which depends on your standards for production ready. For example, I do not think TSB's online banking is production ready but it is still deployed by a global business... We are running it as the backbone for our Agreements Network: https://agreements.network/ (currently in beta testing). It has been used over multiple years for many different projects, most of which were proof of concepts (btw I believe Burrow is the oldest project in Hyperledger and probably the oldest permissioned ledger - citation needed, but it was essentially started later 2014 I believe ;) though developer hours is a better proxy for maturity). I know of a number of companies who are building their production systems out on Burrow, but all are pre-release. Burrow has plenty of work to do, and Tendermint is pre-1.0.0, but I am not really aware of a blockchain project I would call 'production hardened' - 'production readiness' is a function of your capacity for risk, the downside of various types of failure, and your ability to recover from disaster. For Monax I am putting equal effort into fixing things we know are broken and providing robust 1st and 2nd line disaster recovery mechanisms for running systems (things like state rollback via governance primitives) - Is there any company already running a business on top of (a forked version of) burrow? We are: https://agreements.network/ :) And it's not a fork. I know of at least two companies that are running off partially forked Burrow, but I'm afraid I'm not allowed to say who they are > What are the main differences between Fabric and Burrow (apart from being able to use the EVM with burrow)? This is a good question and I should really put something on the wiki. I usually answer with reference to Sawtooth Lake and Fabric: - Burrow is a single Go process heavily tied to Tendermint consensus (though we do have some experiments outside of that...) whereas STL and Fabric are multi-process microservice architectures with some form of pluggable consensus (STL) or endorsement (Fabric) - Burrow uses a full Byzantine Fault Tolerant (BFT) consensus mechanism (Tendermint), but Fabric and STL do not offer one yet - Burrow runs EVM smart contracts (and extensions through SNatives) whereas STL and Fabric run may different types of code through chaincode (Fabric) and transaction families (STL) - Burrow has a native token but STL and Fabric do not (you could implement one with contracts though) My one-liner would be 'Burrow is the redis of blockchain' - it doesn't support pluggable flexibility but as a result has fewer moving parts and aims to be fast and light (for a blockchain anyway). This is something of an aspiration/statement of intent as much as an authorative statement of where we are now...

silasdavis (Mon, 02 Jul 2018 13:45:30 GMT):
@jelbazi eris-db was the name of the same codebase as Burrow before it joined hyperledger. There is no fork of Burrow, just hyperledger/burrow. Bosmarmot is a single repo containing all of the Monax-built tooling. We are reforming that to provide a better jumpstart but that should be your starting place. > - Is there any documentation/tutorial on setting up and running a blockchain with hyperledger burrow, while not needing to change parts of the (GO) source code? The Bosmarmot README there that talks you through running a single-node chain and deploying some contract: https://github.com/monax/bosmarmot. I'm not sure where you have needed to modify Burrow source code in order to run - that should not be the case. > - Would you say burrow is production ready yet (as in, a workable BC solution to run a global business, using smart contracts, on top off)? This is somewhat subjective question which depends on your standards for production ready. For example, I do not think TSB's online banking is production ready but it is still deployed by a global business... We are running it as the backbone for our Agreements Network: https://agreements.network/ (currently in beta testing). It has been used over multiple years for many different projects, most of which were proof of concepts (btw I believe Burrow is the oldest project in Hyperledger and probably the oldest permissioned ledger - citation needed, but it was essentially started later 2014 I believe ;) though developer hours is a better proxy for maturity). I know of a number of companies who are building their production systems out on Burrow, but all are pre-release. Burrow has plenty of work to do, and Tendermint is pre-1.0.0, but I am not really aware of a blockchain project I would call 'production hardened' - 'production readiness' is a function of your capacity for risk, the downside of various types of failure, and your ability to recover from disaster. For Monax I am putting equal effort into fixing things we know are broken and providing robust 1st and 2nd line disaster recovery mechanisms for running systems (things like state rollback via governance primitives) - Is there any company already running a business on top of (a forked version of) burrow? We are: https://agreements.network/ :) And it's not a fork. I know of at least two companies that are running off partially forked Burrow, but I'm afraid I'm not allowed to say who they are > What are the main differences between Fabric and Burrow (apart from being able to use the EVM with burrow)? This is a good question and I should really put something on the wiki. I usually answer with reference to Sawtooth Lake and Fabric: - Burrow is a single Go process heavily tied to Tendermint consensus (though we do have some experiments outside of that...) whereas STL and Fabric are multi-process microservice architectures with some form of pluggable consensus (STL) or endorsement (Fabric) - Burrow uses a full Byzantine Fault Tolerant (BFT) consensus mechanism (Tendermint), but Fabric and STL do not offer one yet - Burrow runs EVM smart contracts (and extensions through SNatives) whereas STL and Fabric run may different types of code through chaincode (Fabric) and transaction families (STL) - Burrow has a native token but STL and Fabric do not (you could implement one with contracts though) My one-liner would be 'Burrow is the redis of blockchain' - it doesn't support pluggable flexibility but as a result has fewer moving parts and aims to be fast and light (for a blockchain anyway). This is something of an aspiration/statement of intent as much as an authorative statement of where we are now...

jelbazi (Tue, 03 Jul 2018 12:16:06 GMT):
node

jelbazi (Tue, 03 Jul 2018 12:16:06 GMT):
Thank you for your quick and detailed response!

jelbazi (Tue, 03 Jul 2018 12:28:14 GMT):
I have a single-node burrow chain running now. The previous attempt was probably an error on my part (through which I got the idea I had to change some source material). Production ready is indeed somewhat subjective. For me, it specifically means running a permissioned blockchain network with SC's that handle logic (and transactions) of tokens/value/assets for ultimately millions of users(not nodes), while abiding by GDPR rules. Still not enough details for a thorough evaluation probably. But the burrow chain is part of the product core in this sense.

Benoit.R (Tue, 03 Jul 2018 20:14:15 GMT):
Hello, regarding single node, is there any Docker configuration for burrow ? I saw the Dockerfile in burrow repo but I'm looking for the yml

toniyasundaram (Wed, 04 Jul 2018 03:18:17 GMT):
Has joined the channel.

Benoit.R (Wed, 04 Jul 2018 15:38:20 GMT):

jelbazi (Wed, 04 Jul 2018 17:58:51 GMT):
@Benoit.R I did not use a Docker config. Just went through the readme step by step.

Benoit.R (Wed, 04 Jul 2018 20:13:10 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=xr7CwKdEutHKPMoat) @jelbazi Sorry I was not asking you especially ;) I have been able to run a node too but I wanted to start two more validators in order to check how they synchronise and communicate (with a persistent peer)

Benoit.R (Wed, 04 Jul 2018 20:13:10 GMT):
@jelbazi Sorry I was not asking you especially ;) I have been able to run a node too but I wanted to start two more validators in order to check how they synchronise and communicate (with a persistent peer)

BabuPallam (Wed, 04 Jul 2018 22:15:13 GMT):
Has joined the channel.

dyeghikoo (Thu, 05 Jul 2018 08:46:21 GMT):

Clipboard - July 5, 2018 10:46 AM

seetharamangr (Thu, 05 Jul 2018 10:26:24 GMT):
Has joined the channel.

dyeghikoo (Thu, 05 Jul 2018 11:42:31 GMT):
Is there any information about permissions? How can I make a participant without permissions?

dyeghikoo (Thu, 05 Jul 2018 12:31:09 GMT):

Clipboard - July 5, 2018 2:30 PM

dyeghikoo (Thu, 05 Jul 2018 12:31:09 GMT):

Clipboard - July 5, 2018 2:30 PM

dyeghikoo (Thu, 05 Jul 2018 12:31:09 GMT):

Clipboard - July 5, 2018 2:30 PM

jelbazi (Thu, 05 Jul 2018 14:54:51 GMT):
For the last hour I've been trying to deploy a contract with 2 dependencies (BasicToken.sol which imports SafeMath.sol & ERC20Basic.sol --> https://github.com/OpenZeppelin/openzeppelin-solidity/tree/master/contracts/token/ERC20). I am using this (see below) epm.yaml (based on --> https://github.com/monax/bosmarmot/blob/develop/tests/jobs_fixtures/app27-multiple_imports_and_multiple_constructor_different_factory_types/epm.yaml): jobs: - name: deployBasicToken deploy: contract: BasicToken.sol instance: BasicToken - name: deployERC20Basic deploy: contract: BasicToken.sol instance: ERC20Basic - name: deploySafeMath deploy: contract: BasicToken.sol instance: SafeMath

jelbazi (Thu, 05 Jul 2018 14:56:01 GMT):
After deploying only the ABI for BasicToken shows up. The others are empty arrays. (ERC20Basic I can understand, it is implemented by BasicToken)

jelbazi (Thu, 05 Jul 2018 14:56:42 GMT):
(BTW, the pasted yaml above format shifts to the left, but the format in the file is correct)

jelbazi (Thu, 05 Jul 2018 14:58:37 GMT):
Or could it be that it's because SafeMath is a library?

mickaelcanu (Thu, 05 Jul 2018 15:54:27 GMT):
Has joined the channel.

mickaelcanu (Thu, 05 Jul 2018 15:54:32 GMT):
Hi

mickaelcanu (Thu, 05 Jul 2018 15:54:54 GMT):
I installed and serve burrow from AMS EC2

mickaelcanu (Thu, 05 Jul 2018 15:54:54 GMT):
https://aws.amazon.com/marketplace/library/ref=bill_eml_2

mickaelcanu (Thu, 05 Jul 2018 15:55:01 GMT):
What is the next step ?

mickaelcanu (Thu, 05 Jul 2018 15:55:21 GMT):
How to access to blockchain, read, write

mickaelcanu (Thu, 05 Jul 2018 15:55:24 GMT):
need tuto please

Thaddeus (Thu, 05 Jul 2018 18:01:32 GMT):
Has joined the channel.

compleatang (Fri, 06 Jul 2018 12:50:51 GMT):
@mickaelcanu see the readme in this repo to get yourself started -> https://github.com/monax/bosmarmot

compleatang (Fri, 06 Jul 2018 12:51:19 GMT):
@jelbazi did you get it figured out?

compleatang (Fri, 06 Jul 2018 12:54:26 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=Pr8KPyKr8NvPeLrhz) @Benoit.R At Monax we use Docker and Kubernetes exclusively and have open sourced much of our work. Dockerfiles are available here -> https://quay.io/monax/db (tagged images will get pushed to docker hub under hyperledger/burrow but we still need a bit of work to route that in the CI system). You can find helm charts for running burrow nodes in kubernetes here -> https://github.com/kubernetes/charts those latter charts need a bit of updating in the official helm charts but I haven't had time to PR to them. the most recent editions of the helm charts are available here -> https://github.com/agreements-network/charts in that repo you'll want to see src/burrow chart. YOu can install those charts to kubernetes by referencing the helm repo -> https://charts.agreements.network

compleatang (Fri, 06 Jul 2018 13:00:37 GMT):
@basilji I suspect you're encountering a challenge with some of the system design considerations we've had to take into account in burrow. Namely when working asyncronously the chain will have a hard time certifying some of the transactions if they are not sent syncronously. This is because of the necessity to add the nonce of a particular account into the signed bytes that are needed by the chain. This is meant as a feature rather than a bug and is necessary to guard against replay attacks and other attacks. Functionally what happens sometimes with load tests based on asyncronously referencing a single account is that these nonces get out of order which the chain won't like. Our advice here would be to perform load testing across a range of sending accounts perhaps 20-50. we're working on some updates on both the chain side and javascript side to address some of this, the remainder of it (the hacky websockets coding) will be fixed when we finish the migration to GRPC and release burrow.js

compleatang (Fri, 06 Jul 2018 13:01:30 GMT):
If anyone wants to test burrow.js which is greatly improved but still needs namereg and a few other additions, you can find it (for now) here -> https://github.com/monax/bosmarmot/tree/burrow.js/burrow.js

compleatang (Fri, 06 Jul 2018 13:02:20 GMT):
There's currently no docs and its fast moving but if you're familiar enough with js and interested to get increased stability feel free to dig in. But as I said, YMMV and its completely self-service for now.

jelbazi (Fri, 06 Jul 2018 13:17:27 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=bFo2D7uziE6aDHhyf) @compleatang Nope, not yet sadly. Am using these as examples --> https://github.com/monax/monax/tree/master/tests/jobs_fixtures Still getting empty ABI's (apart from the BasicToken.sol).

jelbazi (Fri, 06 Jul 2018 13:20:17 GMT):
With this input: Output I get: *****Executing Job***** Job Name => defaultAddr *****Executing Job***** Job Name => deploySafeMath Saving ABI => /root/burrowchain/contracts/testdependencies/abi/SafeMath Deploying Contract name => SafeMath addr => A588E2FE042A6D00385CE4194911936C0C4A017A *****Executing Job***** Job Name => deployBasicToken Saving ABI => /root/burrowchain/contracts/testdependencies/abi/SafeMath Deploying Contract name => SafeMath addr => 5C8CDB9A313CB0C0AAE3A1C2F580BB18F9404F6A Saving ABI => /root/burrowchain/contracts/testdependencies/abi/BasicToken Deploying Contract name => BasicToken addr => 609D902F892613DCD60E1F7B666462E061B8B4A3

jelbazi (Fri, 06 Jul 2018 13:20:17 GMT):
With this input: jobs: - name: deploySafeMath deploy: contract: SafeMath.sol - name: deployBasicToken deploy: contract: BasicToken.sol instance: all libraries: SafeMath:$deploySafeMath Output I get: *****Executing Job***** Job Name => defaultAddr *****Executing Job***** Job Name => deploySafeMath Saving ABI => /root/burrowchain/contracts/testdependencies/abi/SafeMath Deploying Contract name => SafeMath addr => A588E2FE042A6D00385CE4194911936C0C4A017A *****Executing Job***** Job Name => deployBasicToken Saving ABI => /root/burrowchain/contracts/testdependencies/abi/SafeMath Deploying Contract name => SafeMath addr => 5C8CDB9A313CB0C0AAE3A1C2F580BB18F9404F6A Saving ABI => /root/burrowchain/contracts/testdependencies/abi/BasicToken Deploying Contract name => BasicToken addr => 609D902F892613DCD60E1F7B666462E061B8B4A3

jelbazi (Fri, 06 Jul 2018 13:20:17 GMT):
With this input: jobs: - name: deploySafeMath deploy: contract: SafeMath.sol - name: deployBasicToken deploy: contract: BasicToken.sol instance: all libraries: SafeMath:$deploySafeMath I get this output: *****Executing Job***** Job Name => defaultAddr *****Executing Job***** Job Name => deploySafeMath Saving ABI => /root/burrowchain/contracts/testdependencies/abi/SafeMath Deploying Contract name => SafeMath addr => A588E2FE042A6D00385CE4194911936C0C4A017A *****Executing Job***** Job Name => deployBasicToken Saving ABI => /root/burrowchain/contracts/testdependencies/abi/SafeMath Deploying Contract name => SafeMath addr => 5C8CDB9A313CB0C0AAE3A1C2F580BB18F9404F6A Saving ABI => /root/burrowchain/contracts/testdependencies/abi/BasicToken Deploying Contract name => BasicToken addr => 609D902F892613DCD60E1F7B666462E061B8B4A3

jelbazi (Fri, 06 Jul 2018 13:20:17 GMT):
With this input: jobs: - name: deploySafeMath deploy: contract: SafeMath.sol - name: deployBasicToken deploy: contract: BasicToken.sol instance: all libraries: SafeMath:$deploySafeMath I get this output: *****Executing Job***** Job Name => defaultAddr *****Executing Job***** Job Name => deploySafeMath Saving ABI => /root/burrowchain/contracts/testdependencies/abi/SafeMath Deploying Contract name => SafeMath addr => A588E2FE042A6D00385CE4194911936C0C4A017A *****Executing Job***** Job Name => deployBasicToken Saving ABI => /root/burrowchain/contracts/testdependencies/abi/SafeMath Deploying Contract name => SafeMath addr => 5C8CDB9A313CB0C0AAE3A1C2F580BB18F9404F6A Saving ABI => /root/burrowchain/contracts/testdependencies/abi/BasicToken Deploying Contract name => BasicToken addr => 609D902F892613DCD60E1F7B666462E061B8B4A3

jelbazi (Fri, 06 Jul 2018 13:22:10 GMT):
(Using the aforementioned contracts + library in the openzeppelin repo)

EricPetruzzelli (Sat, 07 Jul 2018 12:00:07 GMT):
Has joined the channel.

vmag (Sun, 08 Jul 2018 17:10:09 GMT):
Has joined the channel.

dyeghikoo (Mon, 09 Jul 2018 08:48:17 GMT):
it is possible to connect metamask with burrow? Im using metamask trying to connect to 127.0.0.1:1337 with burrow running but it doesnt work

ShuaishuaiJing (Mon, 09 Jul 2018 09:21:54 GMT):
Has joined the channel.

dyeghikoo (Mon, 09 Jul 2018 10:58:38 GMT):

error.PNG

dyeghikoo (Mon, 09 Jul 2018 10:58:38 GMT):

error.PNG

dyeghikoo (Mon, 09 Jul 2018 10:58:38 GMT):

error.PNG

dyeghikoo (Mon, 09 Jul 2018 10:58:38 GMT):

error.PNG

dyeghikoo (Mon, 09 Jul 2018 10:58:38 GMT):

error.PNG

dyeghikoo (Mon, 09 Jul 2018 10:58:38 GMT):

error.PNG

dyeghikoo (Mon, 09 Jul 2018 10:58:38 GMT):

error.PNG

dyeghikoo (Mon, 09 Jul 2018 10:59:30 GMT):

index.PNG

dyeghikoo (Mon, 09 Jul 2018 10:59:30 GMT):

index.PNG

dyeghikoo (Mon, 09 Jul 2018 11:00:29 GMT):

data.PNG

dyeghikoo (Mon, 09 Jul 2018 11:00:29 GMT):

data.PNG

dyeghikoo (Mon, 09 Jul 2018 11:00:29 GMT):

data.PNG

ds2xor (Tue, 10 Jul 2018 02:37:38 GMT):
Has joined the channel.

ds2xor (Tue, 10 Jul 2018 02:38:56 GMT):
anybody?

ds2xor (Tue, 10 Jul 2018 02:39:23 GMT):
when will the readme be updated? or some plan of it?

dyeghikoo (Tue, 10 Jul 2018 17:44:05 GMT):
I let you an example of application with node. Using the example from github: var contracts = require('@monax/legacy-contracts'); var burrowURL = "http://localhost:1337/rpc"; var accountData = require('./some/account/data.json'); var burrowModule = require("@monax/legacy-db"); var burrow = burrowModule.createInstance("http://localhost:1337/rpc"); var pipe = new contracts.pipes.DevPipe(burrow, accountData); var contractManager = contracts.newContractManager(pipe); //var contractManager = contracts.newContractManagerDev(burrowURL, accountData); pipe.addAccount(accountData); var myAbi = [ { "constant": true, "inputs": [ { "name": "a", "type": "int256" }, { "name": "b", "type": "int256" } ], "name": "add", "outputs": [ { "name": "sum", "type": "int256" } ], "payable": false, "stateMutability": "view", "type": "function" } ] var myCompiledCode = "608060405234801561001057600080fd5b5060a18061001f6000396000f300608060405260043610603e5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663a5f3c23b81146043575b600080fd5b348015604e57600080fd5b50605e6004803590602001356071565b6040805191825251602090910181900390f35b01905600a165627a7a723058209a5381868f4f44d1e5eed455065d85edc820ca572a40ad9cfa213d5edf0aa2610029"; var myContractFactory = contractManager.newContractFactory(myAbi); var myNewContract; myContractFactory.new({data: myCompiledCode}, function(error, contract){ if (error) { throw error; } myNewContract = contract; try{ myNewContract.add( 34, 22, (err, resp) => { console.log(resp.toNumber()) }) } catch (error) { console.log(error); } });

dyeghikoo (Tue, 10 Jul 2018 17:47:26 GMT):

Clipboard - July 10, 2018 7:45 PM

jelbazi (Thu, 12 Jul 2018 11:55:56 GMT):
Is the 'signbyaddress' option already implemented? I am getting transaction time outs trying to call a contract function.

dannychen (Sat, 14 Jul 2018 07:23:51 GMT):
Has joined the channel.

Diego-Blocknitive (Mon, 16 Jul 2018 15:23:25 GMT):
Has joined the channel.

FlavioSS (Wed, 18 Jul 2018 10:52:23 GMT):
Has joined the channel.

bleriot.zhang (Thu, 19 Jul 2018 02:48:37 GMT):
Has joined the channel.

david-kim-tpe (Thu, 19 Jul 2018 07:10:44 GMT):
Has joined the channel.

jinlee (Thu, 19 Jul 2018 08:07:19 GMT):
Has joined the channel.

PizzaPolice12 (Thu, 19 Jul 2018 21:23:18 GMT):
Has joined the channel.

PizzaPolice12 (Thu, 19 Jul 2018 21:24:01 GMT):
Do we need to purchase ether in order to facilitate transactions on Burrow to cover gas costs?

PizzaPolice12 (Thu, 19 Jul 2018 21:24:32 GMT):
I thought the Burrow EVM is maintained privately among private nodes designated in an org?

pandagopal (Fri, 20 Jul 2018 05:13:19 GMT):
Has joined the channel.

GulshanKrish (Fri, 20 Jul 2018 18:28:42 GMT):
Has joined the channel.

GulshanKrish (Fri, 20 Jul 2018 18:28:47 GMT):
Hello, does anyone have a proper documentation on hyperledger burrow. The information provided on the hyperledger burrow official page is not that explanatory for me. Any ideas?

BulentEgrilmez (Fri, 20 Jul 2018 19:59:42 GMT):
Has joined the channel.

rjones (Fri, 20 Jul 2018 22:57:58 GMT):
Has left the channel.

compleatang (Sat, 21 Jul 2018 12:02:04 GMT):
@PizzaPolice12 no ether is not required. that only operates on the public blockchain network. burrow is a framework for setting up one's own networks. it has a native token which you can use, and we currently set gas cost at 0 because it is not something that is usually used by burrow users.

compleatang (Sat, 21 Jul 2018 12:02:26 GMT):
@GulshanKrish try here for the most up to date docs -> https://github.com/monax/bosmarmot

JaswanthReddyV (Sun, 22 Jul 2018 10:42:44 GMT):
Has joined the channel.

GulshanKrish (Sun, 22 Jul 2018 20:43:17 GMT):
@compleatang Thank you. It was all technical. It would be good if i get to know the basics of burrow, how it works and how its used?

snowy13 (Mon, 23 Jul 2018 10:30:03 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=TYriFY6uWZMSZiAm3) @ricktobacco Were using Fabric for supply chain data and Burrow for financial transactions. We prefer the later's deterministic behavior for certain use cases, plus solidity is kind of elegant for tokens, despite its flaws.

tbenzies (Mon, 23 Jul 2018 20:21:04 GMT):
Has joined the channel.

tbenzies (Mon, 23 Jul 2018 20:21:08 GMT):
Reminder to register for the final Hackfest of the year in Montreal (October 3-4) http://hyperledger.org/event/hyperledger-hackfest-october-2018

compleatang (Tue, 24 Jul 2018 15:38:24 GMT):
@all Burrow v0.20.0 is out. And it's a very important release. We've also released a pre-release version of the brand new burrow.js here -> https://www.npmjs.com/package/@monax/burrow the big ticket items are now validator set changes are back in and also everything is using the shiny new GRPC interface. It also "feels" even faster thanks to optimizations on our end and upgrades on Tendermint's end. Current tendermint version for the release is 0.24.4

compleatang (Tue, 24 Jul 2018 15:39:38 GMT):
Please note that there's a breaking change in the hashing algorithm for addresses. Tendermint changed on their end and we followed. This will mean that any keys used for testing, deployments, or operations from previous versions of burrow will **NO LONGER WORK**.... please keep this in mind in your upgrade path.

compleatang (Tue, 24 Jul 2018 15:40:01 GMT):
We hope that this will be one of the final breaking changes to the keys/addresses interface pre 1.0

Dan (Tue, 24 Jul 2018 18:27:15 GMT):
@knkski @adamludvik @dplumb ^

knkski (Tue, 24 Jul 2018 18:27:15 GMT):
Has joined the channel.

Varun2887 (Wed, 25 Jul 2018 05:32:57 GMT):
Has left the channel.

paulransfield (Wed, 25 Jul 2018 18:39:43 GMT):
fyi @compleatang just joined the hyperledger #training-and-education-wg ... be keen to work on team developing tutorials linking burrow to agreement network :)

compleatang (Wed, 25 Jul 2018 22:36:27 GMT):
Hi Paul! Great news.

naviat (Thu, 26 Jul 2018 08:56:33 GMT):
Has joined the channel.

Luker501 (Thu, 26 Jul 2018 17:31:21 GMT):
Hi marmots! I've been trying to get up and running again with Burrow after a few months away. I have been following the tutorial here (https://github.com/monax/bosmarmot). All good until I get to "bos --keys="localhost:10997" \ --chain-url="tcp://localhost:46657" \ --address=0A40DC874BC932B78AC390EAD1C1BF33469597AB" . I note that you have to change the --address field, which I have done. Then I run into the error: rpc error: code = Unavailable desc = all SubConns are in TransientFailure, latest connection error: connection error: desc = "transport: Error while dialing dial tcp: address tcp://localhost:46657: too many colons in address" So I check the localhost addresses in my burrow.toml and compare them to your burrow.toml file. Firstly I note that the address localhost:46657 is in your file at the [RPC.TM] section but it is not in my file at the [RPC.TM] section so I change my --chain-url (I think your tutorial should include a reminder for the user to do this). But then more importantly, I note that your burrow.toml file includes a URL in the [Keys] section, but my burrow.toml file does not have a URL in the [Keys] section, instead it has the following properties: (i) GRPCServiceEnabled; (ii) AllowBadFilePermissions; (iii) RemoteAddress; (iv) KeysDirectory.... Any ideas why this is the case, and if it is the source of my original error?

Vishal3152 (Fri, 27 Jul 2018 04:29:34 GMT):
Has joined the channel.

compleatang (Fri, 27 Jul 2018 09:02:33 GMT):
Hi @Luker501 that needs to get updated. Are you working against Burrow v0.20.0 ? If so then just remove the `--keys` and `--chain-url` flags completely. We've now migrated everything to use the GRPC endpoint. If you had a chance, we'd love a PR on that README so others can benefit. We're just a bit underwater with a bunch of things at Monax.

compleatang (Fri, 27 Jul 2018 09:03:30 GMT):
For 98% of uses the `--keys` flag will now not be needed and the `--chain-url` flag should be defaulted to `--chain-url=localhost:10997`

Luker501 (Fri, 27 Jul 2018 12:08:45 GMT):
@compleatang thanks for the info. Yeah I am using the latest Burrow version... I'll go through everything again on Monday, hopefully things will work! If I can see obvious issues with the docs I'll make PRs then. Cheers

compleatang (Fri, 27 Jul 2018 16:52:01 GMT):
:+1_tone2:

merq (Fri, 27 Jul 2018 21:15:37 GMT):
Has joined the channel.

PMoura (Fri, 27 Jul 2018 22:48:56 GMT):
Has joined the channel.

ThiagoAzevedo (Sat, 28 Jul 2018 15:37:30 GMT):
Has joined the channel.

silasdavis (Sun, 29 Jul 2018 11:00:06 GMT):
@paulransfield a great target for this would be our new RPC layer based on GRPC which I think will allow people to do some interesting things if they new about it and how to use it. For some context see: https://github.com/hyperledger/burrow/issues/817. My time is pretty tight at the moment but I'd love to see progress here and can find some time to help - just need to make sure my effort gets directed where it can have the biggest multiplier

Luker501 (Sun, 29 Jul 2018 13:06:10 GMT):
Just read through your agreements network paper. Looks good. I'm not sure how/if you can make some aspects of an instantiated contract not fully readable by everyone on your network though (i.e. in the style of something like Fabric) - having some aspects of a contract private between the signers is desirable for legal documents right?

paulransfield (Sun, 29 Jul 2018 18:39:29 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=DpctnXapkP8QS5JWm) @silasdavis Hi @silasdavis ... thanks for the reply ... what is your preferred timeframe ... do you have a preferred branded template to use ... can you point me at an exemplar so I can see the existing style ... and i'd be keen to help, but 7 working days from now may be the fastest I can progress an idea into learnable material ...

paulransfield (Sun, 29 Jul 2018 18:39:29 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=DpctnXapkP8QS5JWm) @silasdavis Hi @silasdavis ... thanks for the reply ... what is your preferred timeframe ... do you have a preferred branded template to use ... can you point me at an exemplar so I can see the existing style ... and i'd be keen to help, but 7 working days from now may be the fastest I can progress an idea into learnable material ... i'll spend a few hours just looking into https://grpc.io/docs/ ...

paulransfield (Mon, 30 Jul 2018 01:54:58 GMT):

Clipboard - July 30, 2018 1:55 PM

paulransfield (Mon, 30 Jul 2018 01:59:00 GMT):
Hi @silasdavis ... just brought a couple of Udemy courses on gRPC (circa 4 hours) and Protocol Buffers (circa 4 hours) ... US$15 each ... Protocol Buffers a pre-requisite for GRPC ... it'll take me a couple of days to complete both courses ... but then i"m in a better place to help ... so far I've enjoyed listening to the tutor (he has 14,000 learners enrolled across 14 courses) ... here's the url for each course: - Protocol Buffers - https://www.udemy.com/share/100isU/ - gRPC - https://www.udemy.com/share/100n7i/

paulransfield (Mon, 30 Jul 2018 01:59:00 GMT):
Hi @silasdavis ... just brought a couple of Udemy courses on gRPC (circa 4 hours) and Protocol Buffers (circa 4 hours) ... US$15 each ... Protocol Buffers a pre-requisite for GRPC ... it'll take me a couple of days to complete both courses ... but then i"m in a better place to help ... so far I've enjoyed listening to the tutor (he has 14,000 learners enrolled across 14 courses) ... here's the url for each course: - Protocol Buffers - https://www.udemy.com/share/100isU/ - gRPC - https://www.udemy.com/share/100n7i/ i now see that gRPC is a necessary toolset within my own tech skillset

sathishNS (Mon, 30 Jul 2018 11:44:07 GMT):
Has joined the channel.

homilly (Mon, 30 Jul 2018 12:44:23 GMT):
Has joined the channel.

Thaddeus (Mon, 30 Jul 2018 18:17:08 GMT):
@silasdavis thanks for this resources. I have been looking for something like this

Luker501 (Tue, 31 Jul 2018 10:46:44 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=RiEzCxrD3vZv6PMmZ) Ok I've sorted this out and corrected the github readme... Now does anyone know of a tutorial that shows how to interact with the chain without using a yaml file? I.e. by broadcasting transactions only or using the API gateway? I cannot find one but this seems to be the next step forward. Even a previous tutorial on an older version could help me get started.

compleatang (Tue, 31 Jul 2018 15:25:52 GMT):
@Luker501 if you look in our (Monax's) legacy-docs repo you'll see some more tutorials for doing that. You'll likely want to use javascript as it's quite hefty to go to bare metal. Also because now we're on GRPC it's not something you can easily formulate and then add via curl.

compleatang (Tue, 31 Jul 2018 15:29:06 GMT):
As to your question on the AN, it's really about what you put on chain. I don't personally believe a bag of spaghetti in terms of tons of state channels is operationally viable for a large public network on the one hand. On the other hand, most of the commercially viable information can be kept off chain. As an example, if I want to have a sale of widgets contract then the fact that i'm ordering widgets isn't really commercially important information. the commercially important information typically is how many widgets i'm ordering and at what price. the latter two (if I'm contemplating submitting invoices and payments via traditional systems -- something the AN is explicitly designed for) can be kept in encrypted parameters off chain, referenced by the API when it needs to trigger an invoice to be sent or a payment to be made.

compleatang (Tue, 31 Jul 2018 15:29:39 GMT):
The workflow that is kept on chain will just be the legally significant event that, e.g., an invoice was sent or the payment was received.

compleatang (Tue, 31 Jul 2018 15:30:36 GMT):
There is exposure on chain to the fact that I'm ordering widgets (while we can obfuscate what the individual process steps are doing, pattern matching is likely to be relatively easy) and *when* I'm ordering widgets. But there is only so much one can do to get the on chain benefits.

angieology (Tue, 31 Jul 2018 17:51:06 GMT):
Has joined the channel.

Luker501 (Wed, 01 Aug 2018 11:45:03 GMT):
Thanks for the info! Ok I understand your logic regarding AN.

Luker501 (Wed, 01 Aug 2018 11:46:28 GMT):
Regarding burrow, I've been playing around with it a bit more. Looks like you cannot deploy a contract with abstract functions thought? :( I've logged this as an issue here: https://github.com/hyperledger/burrow/issues/846). In the mean time I'm going to have to think how I can get around this issue for my dapp.

Luker501 (Wed, 01 Aug 2018 11:50:37 GMT):
Ah no worries, didn't know you cannot deploy an abstract contract... I will continue my bug searching then...

paulransfield (Wed, 01 Aug 2018 17:42:17 GMT):

Clipboard - August 2, 2018 5:42 AM

paulransfield (Wed, 01 Aug 2018 17:42:21 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=G6cTwDvmymdijS3Xo) Hi @silasdavis ... Stephane Mareek's Protocol Buffers Udemy course was very well constructed, delivered and informative ... i'm now starting his gRPC course ...

paulransfield (Wed, 01 Aug 2018 17:57:01 GMT):

Clipboard - August 2, 2018 5:56 AM

paulransfield (Wed, 01 Aug 2018 17:58:10 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=G6cTwDvmymdijS3Xo) Hi @silasdavis ... Stephane Mareek's Protocol Buffers Udemy course was very well constructed, delivered and informative ... i'm now starting his gRPC course ...

mmartinez.blocknitive (Thu, 02 Aug 2018 11:24:31 GMT):
Has joined the channel.

mmartinez.blocknitive (Thu, 02 Aug 2018 11:24:39 GMT):
Hi there!

mmartinez.blocknitive (Thu, 02 Aug 2018 11:25:28 GMT):
I have a problem following bosmarmot getting started at https://github.com/monax/bosmarmot.

mmartinez.blocknitive (Thu, 02 Aug 2018 11:26:48 GMT):
When I try to test and deploy the smart contract (I have an emp.yaml and a .sol in the same dir), I got an error at executing job that says: unexpected end of JSON input Error compiling contracts: Language error: unexpected end of JSON input

mmartinez.blocknitive (Thu, 02 Aug 2018 11:26:48 GMT):
When I try to test and deploy the smart contract (I have an emp.yaml and a .sol in the same dir), I got an error at executing job that says: invalid character 'E' looking for beginning of value Error compiling contracts: Language error: invalid character 'E' looking for beginning of value

mmartinez.blocknitive (Thu, 02 Aug 2018 11:26:55 GMT):
any ideas?

mmartinez.blocknitive (Thu, 02 Aug 2018 11:29:56 GMT):
I just executed: bos --address=C00EBA326E7E0E72C9E4A03AD0555D1496939601

kryp70 (Thu, 02 Aug 2018 12:48:48 GMT):
Has joined the channel.

Luker501 (Mon, 06 Aug 2018 08:51:51 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=YcmZWRTQCDFEJQNdf) @mmartinez.blocknitive is that definitely the address at the top of your burrow.toml file?

mmartinez.blocknitive (Mon, 06 Aug 2018 08:55:28 GMT):
yes @Luker501

mmartinez.blocknitive (Mon, 06 Aug 2018 08:55:28 GMT):
yes @Luker501 . Thanks for your reply. Here is my burrow.toml https://pastebin.com/vNp6hEBf and my gensis-spec-json: https://pastebin.com/B0AjMwn5

Luker501 (Mon, 06 Aug 2018 08:57:54 GMT):
send me your toml file and epm file and I'll check it on mine

mmartinez.blocknitive (Mon, 06 Aug 2018 08:59:40 GMT):
My smart contract: https://pastebin.com/mDbKSKSK and my epm.yaml : https://pastebin.com/ZDppzRdC (both of them in the same folder)

mmartinez.blocknitive (Mon, 06 Aug 2018 09:02:30 GMT):
I am using last versions of burrow and bosmarmot (0.20.1 and 0.4.0)

Luker501 (Mon, 06 Aug 2018 09:15:19 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=a27dSRcenfosjqoLx) @mmartinez.blocknitive Hmmm I haven't got a hang of the burrow configure command yet so I can't seem to load your files. I would suggest raising it as an issue in github in the bosmarmot location. Otherwise it might get lost herer

mmartinez.blocknitive (Mon, 06 Aug 2018 09:19:24 GMT):
@Luker501 thx for ur help. i will do that! You mean burrow github with bosmarmot label or bosmarmot?? Idk if bosmarmot repo is active at all...

mmartinez.blocknitive (Mon, 06 Aug 2018 09:35:11 GMT):
https://github.com/hyperledger/burrow/issues/848

Luker501 (Mon, 06 Aug 2018 09:38:40 GMT):
ok fair enough

GulshanKrish (Mon, 06 Aug 2018 17:01:14 GMT):
What does Hyperledger burrow adds to Ethereum smart contracts?

compleatang (Mon, 06 Aug 2018 21:34:03 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=32FzfTBkQXk4NnuoT) @mmartinez.blocknitive What version/branch of bos and burrow are you using? This is likely a version incongruity

compleatang (Mon, 06 Aug 2018 21:35:42 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=Qw58zgRcXqmfD6Dfi) @GulshanKrish Burrow runs an EVM that is very close to the evm running on the ethereum public network. Burrow is useful for managing your own blockchain networks that require an EVM.

frontad (Tue, 07 Aug 2018 09:53:36 GMT):
Has joined the channel.

frontad (Tue, 07 Aug 2018 10:39:16 GMT):
Hello, I am learning the use of burrow. Where can I find detailed tutorials? The official documentation is too simple.

ThangDC (Tue, 07 Aug 2018 14:31:25 GMT):
@compleatang I think there are something shoule be clarified that? Newcomers should know what they are useful to contribue to the burrow? So the link or the banner of this chat should show that

ThangDC (Tue, 07 Aug 2018 14:31:40 GMT):
pls correct me if Im wrong ;)

compleatang (Wed, 08 Aug 2018 02:53:59 GMT):
Have you looked at https://github.com/monax/bosmarmot

mmartinez.blocknitive (Wed, 08 Aug 2018 08:49:58 GMT):
hey there! one question, Burrow 0.20 doest work with RPC? It has only GRPC? Why if I access to localhost:10997 I cant see its API? I am trying to connect with Burrow server via nodejs

yura_litvish (Wed, 08 Aug 2018 12:36:47 GMT):
Has joined the channel.

paulransfield (Thu, 09 Aug 2018 05:35:36 GMT):
fyi @silasdavis ... https://www.nytimes.com/2018/08/07/opinion/stem-girls-math-practice.html?action=click&module=Trending&pgtype=Article®ion=Footer&contentCollection=Trending

paulransfield (Thu, 09 Aug 2018 05:37:47 GMT):
fyi @silasdavis ...this reply from the hyperledger training working group ... @paulransfield You can definitely let people in the burrow channel that the Hyperledger MOOC on edX has over 104k total enrollments to date, in less than 10 months since it went live. By the way, we are working on a second version of the MOOC, most likely launching at the end of October, and it would be really good if we could add a chapter on Burrow. If there is anybody interested in assisting with that, I would be happy to connect with then and discuss about it. We will be adding new chapters on Indy and Composer, and one on Burrow would be a great addition

paulransfield (Thu, 09 Aug 2018 05:43:24 GMT):
I completed this mooc in December ... they used a short video interview of the tech leads to introduce a given toolset ... if they repeated this approach, which has its pros n cons, then it's not much more than being videoed with an existing pitch deck

uhaider (Thu, 09 Aug 2018 07:56:45 GMT):
Has joined the channel.

mmartinez.blocknitive (Thu, 09 Aug 2018 10:50:07 GMT):
ps

silasdavis (Thu, 09 Aug 2018 13:31:42 GMT):
@mmartinez.blocknitive we have updated the docs for burrow.js: https://github.com/monax/bosmarmot/tree/develop/burrow.js

silasdavis (Thu, 09 Aug 2018 13:31:59 GMT):
This communicates with Burrow over GRPC

silasdavis (Thu, 09 Aug 2018 13:32:31 GMT):
could you take a read of that, if you have any feedback that would be useful, PRs for corrections/improvements to that document even better

silasdavis (Thu, 09 Aug 2018 13:32:54 GMT):
@frontad hopefully some of that is useful to you too

disrupt101 (Thu, 09 Aug 2018 14:30:41 GMT):
Has joined the channel.

mmartinez.blocknitive (Fri, 10 Aug 2018 07:28:07 GMT):
Great! Thanks @silasdavis for your reply and updating the doc!

mmartinez.blocknitive (Fri, 10 Aug 2018 07:28:42 GMT):
I have another question, is it possible to create a network of nodes with Burrow? I can't see any insight on the repo!

mmartinez.blocknitive (Fri, 10 Aug 2018 07:58:47 GMT):
I am trying to set up at least 3 nodes on a burrow network and see how they works in a permissioned way! I tried to see the permissioned stuff above accounts on Burrow 0.19 and does not work (account with no permissions could deploy and call functions of a smart contact using legacy-contracts-js). How is the permissioned stuff over accounts and nodes going on?

compleatang (Fri, 10 Aug 2018 10:08:18 GMT):
Yes certainly possible. Just distribute the config, genesis and keys to wherever the three nodes are running. If you're doing it all on a single machine make sure to watch the port conflicts.

mmartinez.blocknitive (Fri, 10 Aug 2018 10:09:17 GMT):
Is there any stuff related to peers? which config do you mean? a toml?

compleatang (Fri, 10 Aug 2018 10:09:29 GMT):
As to permissions each account, when created gets the global default permissions for your chain which are human readable in the genesis spec and machine readable in the gensis.jaon

compleatang (Fri, 10 Aug 2018 10:09:50 GMT):
My default global permissions allow for the deployment of contracts.

compleatang (Fri, 10 Aug 2018 10:10:46 GMT):
Not sure what you mean by anything with peers? And by config I mean the burrow.toml

compleatang (Fri, 10 Aug 2018 10:11:06 GMT):
Within the burrow.toml there are fields for peers.

mmartinez.blocknitive (Fri, 10 Aug 2018 10:11:21 GMT):
How I say to one node that it has 2 nodes? Ah, ok, on burrow.toml ok

mmartinez.blocknitive (Fri, 10 Aug 2018 10:11:31 GMT):
Is there any doc about this?

compleatang (Fri, 10 Aug 2018 10:11:59 GMT):
Pull requests welcome 😀

mmartinez.blocknitive (Fri, 10 Aug 2018 10:12:39 GMT):
hahaha ok. First of all i will try to read minds :D

compleatang (Fri, 10 Aug 2018 10:12:49 GMT):
There are some overviews at https://github.com/monax/bosmarmot

mmartinez.blocknitive (Fri, 10 Aug 2018 10:13:22 GMT):
okey, thanks a lot @compleatang

compleatang (Fri, 10 Aug 2018 10:14:14 GMT):
Np. We're happy to help here and we know the docs could improve. Just under water with our own Monax stuff.

mmartinez.blocknitive (Fri, 10 Aug 2018 10:23:29 GMT):
@compleatang what port is used for the network? tendermint or tm?

mmartinez.blocknitive (Fri, 10 Aug 2018 10:23:29 GMT):
@compleatang which port is used for the network? tendermint or tm?

jaredvacanti (Mon, 13 Aug 2018 05:00:06 GMT):
Has joined the channel.

ds2xor (Mon, 13 Aug 2018 06:27:05 GMT):
error validating Burrow package file at epm.yaml: Address: must be valid 20 byte hex-encoded string like 'PrivateAccount{1453F97E6A4CAD70A286827D607342D1D7808AD4}'; Package: (Jobs: (0: (account: (address: did not validate any requirements: must be a variable placeholder like $marmotVariable, must be valid 20 byte hex-encoded string like 'PrivateAccount{1453F97E6A4CAD70A286827D607342D1D7808AD4}'.).).).).

ds2xor (Mon, 13 Aug 2018 06:27:28 GMT):
I got such error when I try 'bos --address==B3E755E4D0C489BCE03B56ADDA09A493A6A98E52'

ds2xor (Mon, 13 Aug 2018 06:28:08 GMT):
[[GenesisDoc.Validators]] Address = "B3E755E4D0C489BCE03B56ADDA09A493A6A98E52" PublicKey = "{\"CurveType\":\"ed25519\",\"PublicKey\":\"E2A25F4604E129CC0F8526D0240C17E6CEBC44753D513F45E8270D4B5F31923B\"}" Amount = 9999999999 Name = "Full_0" [[GenesisDoc.Validators.UnbondTo]] Address = "B3E755E4D0C489BCE03B56ADDA09A493A6A98E52" PublicKey = "{\"CurveType\":\"ed25519\",\"PublicKey\":\"E2A25F4604E129CC0F8526D0240C17E6CEBC44753D513F45E8270D4B5F31923B\"}"

ds2xor (Mon, 13 Aug 2018 06:30:03 GMT):
above is the config in my toml file, how can I figure out this problem?

ds2xor (Mon, 13 Aug 2018 06:31:24 GMT):
I have check all the things that I can, but still get this problem. I use app06 directory as my test, anyone can give some help? thx.

mmartinez.blocknitive (Mon, 13 Aug 2018 06:49:05 GMT):
@ds2xor check versions of burrow, bos and solc. How did you install solc?

ds2xor (Mon, 13 Aug 2018 06:53:25 GMT):
╰─$ bos version 2 ↵ 0.4.0+commit.7cb63a1e

ds2xor (Mon, 13 Aug 2018 06:53:36 GMT):
╰─$ burrow -v 0.20.1+commit.v0.18.0-204-g5ec7ab83

ds2xor (Mon, 13 Aug 2018 06:53:45 GMT):
╰─$ solc --version 127 ↵ solc, the solidity compiler commandline interface Version: 0.4.24+commit.e67f0147.Darwin.appleclang

ds2xor (Mon, 13 Aug 2018 06:54:53 GMT):
can't remember the exact solc install time, maybe use the brew

ds2xor (Mon, 13 Aug 2018 06:55:11 GMT):
I am working on mac, does this matter?

mmartinez.blocknitive (Mon, 13 Aug 2018 06:55:33 GMT):
Idk... it seems okay..

mmartinez.blocknitive (Mon, 13 Aug 2018 06:55:51 GMT):
How did you start burrow? upload your genesis-spec.json and burrow.toml to pastebin and show me please

ds2xor (Mon, 13 Aug 2018 06:56:06 GMT):
ok,

ds2xor (Mon, 13 Aug 2018 06:58:37 GMT):
https://pastebin.com/4KMEzgpm, the genesis-spec.json file

ds2xor (Mon, 13 Aug 2018 06:59:57 GMT):
https://pastebin.com/BnsrkyS2 the burrow.toml file

ds2xor (Mon, 13 Aug 2018 07:00:19 GMT):
burrow start --validator-index=0

ds2xor (Mon, 13 Aug 2018 07:01:38 GMT):
I use the commands in the bosmarmot readme to start the burrow

mmartinez.blocknitive (Mon, 13 Aug 2018 07:04:10 GMT):
seems fine... check burrow server is running

ds2xor (Mon, 13 Aug 2018 07:05:30 GMT):
how to check it? 'ps -a' can see it

mmartinez.blocknitive (Mon, 13 Aug 2018 07:07:14 GMT):
'ps aux | grep burrow'

mmartinez.blocknitive (Mon, 13 Aug 2018 07:07:36 GMT):
and cat your burrow.log

mmartinez.blocknitive (Mon, 13 Aug 2018 07:07:44 GMT):
'cat burrow.log | tail -5'

ds2xor (Mon, 13 Aug 2018 07:08:39 GMT):
i've search the error string in source files, located at job_manager.go

ds2xor (Mon, 13 Aug 2018 07:08:42 GMT):
err = do.Validate() if err != nil { return fmt.Errorf("error validating Burrow package file at %s: %v", do.YAMLPath, err)

ds2xor (Mon, 13 Aug 2018 07:08:56 GMT):
seems like format check error

ds2xor (Mon, 13 Aug 2018 07:10:32 GMT):
imbeder 99539 0.1 0.8 558503228 138940 s000 SN 4:24下午 15:53.39 burrow start --validator-index=0

ds2xor (Mon, 13 Aug 2018 07:10:46 GMT):
ps aux | grep burrow is above result

mmartinez.blocknitive (Mon, 13 Aug 2018 07:12:22 GMT):
and the burrow.log? Bos works for me following the getting started, I recommend you to close everything, reset your computer and restart the process

ds2xor (Mon, 13 Aug 2018 07:13:24 GMT):
the file is too big, i will delete it and start up burrow again.

mmartinez.blocknitive (Mon, 13 Aug 2018 07:13:44 GMT):
'cat burrow.log | tail -5'

ds2xor (Mon, 13 Aug 2018 07:17:00 GMT):
{"caller":"mempool.go:419","component":"Tendermint","height":75531,"log_channel":"Info","message":"Recheck txs","module":"mempool","numtxs":0,"run_id":"9f48ef50-9ec8-11e8-805e-76f5aa62bc9d","scope":"tendermint.NewNode","time":"2018-08-13T07:16:40.992973798Z"} {"caller":"indexer_service.go:62","component":"Tendermint","height":75531,"log_channel":"Info","message":"Indexed block","module":"txindex","run_id":"9f48ef50-9ec8-11e8-805e-76f5aa62bc9d","scope":"tendermint.NewNode","time":"2018-08-13T07:16:40.993541304Z"} {"caller":"switch.go:240","channel":32,"component":"Tendermint","log_channel":"Trace","message":"Broadcast","module":"p2p","msgBytes":"C96A6FA808989C091801","run_id":"9f48ef50-9ec8-11e8-805e-76f5aa62bc9d","scope":"tendermint.NewNode","time":"2018-08-13T07:16:40.99364493Z"} {"caller":"ticker.go:100","component":"Tendermint","log_channel":"Trace","message":"Received tick","module":"consensus","new_ti":{"duration":996226047,"height":75532,"round":0,"step":1},"old_ti":{"duration":3000000000,"height":75531,"round":0,"step":3},"run_id":"9f48ef50-9ec8-11e8-805e-76f5aa62bc9d","scope":"tendermint.NewNode","time":"2018-08-13T07:16:40.99373395Z"} {"caller":"ticker.go:122","component":"Tendermint","dur":"996.226047ms","height":75532,"log_channel":"Trace","message":"Scheduled timeout","module":"consensus","round":0,"run_id":"9f48ef50-9ec8-11e8-805e-76f5aa62bc9d","scope":"tendermint.NewNode","step":"RoundStepNewHeight","time":"2018-08-13T07:16:40.993831985Z"}

ds2xor (Mon, 13 Aug 2018 07:17:41 GMT):
I have restarted burrow and try the same command 'bos --address==B3E755E4D0C489BCE03B56ADDA09A493A6A98E52'

ds2xor (Mon, 13 Aug 2018 07:18:16 GMT):
still get the same error, and the above log is the log after i got the error

mmartinez.blocknitive (Mon, 13 Aug 2018 07:20:04 GMT):
no idea @ds2xor it seems everyhing okay...

mmartinez.blocknitive (Mon, 13 Aug 2018 07:20:26 GMT):
try to solc your smart contract first

ds2xor (Mon, 13 Aug 2018 07:25:58 GMT):
all right, i will try it.

ds2xor (Mon, 13 Aug 2018 07:26:02 GMT):
thank you

compleatang (Mon, 13 Aug 2018 09:00:39 GMT):
@ds2xor can you pastebin or gist the yaml file you are giving to bos please? this is likely a formatting error in the yaml.

compleatang (Mon, 13 Aug 2018 09:01:52 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=k7Nyyz823ySYcck8c) @mmartinez.blocknitive default ports are: peer: 26656 GRPC: 10997 info (old TM RPC): 26658

mmartinez.blocknitive (Mon, 13 Aug 2018 09:38:47 GMT):
thanks @compleatang

ds2xor (Mon, 13 Aug 2018 11:12:23 GMT):
@compleatang https://pastebin.com/yw26W6cU here is my yaml file

ds2xor (Mon, 13 Aug 2018 11:12:39 GMT):
just the file in the officail test app06

ds2xor (Mon, 13 Aug 2018 13:50:30 GMT):
I have tried again, and now it works. Try to review how did i fix it..

ds2xor (Mon, 13 Aug 2018 13:50:42 GMT):
seems like the only reason is 'bos --address==B3E755E4D0C489BCE03B56ADDA09A493A6A98E52'

ds2xor (Mon, 13 Aug 2018 13:50:56 GMT):
i use '==' but '='

ds2xor (Mon, 13 Aug 2018 13:51:18 GMT):
i did not change anything except this. sorry for the mistake

silasdavis (Mon, 13 Aug 2018 14:44:32 GMT):
ah that error message is not that helpful though

compleatang (Mon, 13 Aug 2018 14:57:02 GMT):
glad it's fixed.

ds2xor (Tue, 14 Aug 2018 02:22:10 GMT):
I found that burrow use mow.cli as the command package and bos use cobra, is there some tech reason for the choice or just no why?

paulransfield (Tue, 14 Aug 2018 03:55:22 GMT):
just wondering ... is anyone using Hyperledger Indy with Hyperledger Burrow?

mmartinez.blocknitive (Tue, 14 Aug 2018 06:38:57 GMT):
Hey, I would like to try the following scenario: there are 3 individuals (A,B and C). A send a tx to transfer amount to B but C cannot see that tx. Could i make this? I should deal with accounts or nodes? And another thing, Is it possible to set that an account cannot call smart contract functions?

ds2xor (Tue, 14 Aug 2018 14:21:32 GMT):
I found burrow use Apache license, and bosmarmot's burrow.js use GPL3.0 or later, but didn't find bos license, when will you update the license? will burrow.js use Apache license too?

compleatang (Wed, 15 Aug 2018 08:57:48 GMT):
@ds2xor bos is licensed Apache and is currently being merged into burrow itself as the `burrow deploy` command. That will harmonize some of the package use and licenses.

compleatang (Wed, 15 Aug 2018 08:58:38 GMT):
Burrow.js will remain GPL3.0 for now because we have dependencies on packages that are currently incompatible with Apache. We'd like to make it Apache but have more work to do to duplicate some of the effort of our dependencies before we can finalize the transition to Apache.

compleatang (Wed, 15 Aug 2018 08:59:49 GMT):
@mmartinez.blocknitive yes, you can modify an account's permissions for an example of how to do this see this test fixture -> https://github.com/monax/bosmarmot/tree/develop/tests/jobs_fixtures/app03-basic_and_advanced_permission_txs_and_queries

compleatang (Wed, 15 Aug 2018 09:01:42 GMT):
as to "hiding" transactions, burrow does not allow such a feature unlike Sawtooth or Fabric. If it is on chain then all the validators can see the transaction. If this selective viewing of transactions is vital to your use case then I'd recommend that you utilize Sawtooth or Fabric in EVM mode rather than Burrow. In the alternative you could use a level 2 scaling and privacy solution in the vein of the state channel solutions that are getting developed.

compleatang (Tue, 21 Aug 2018 15:56:24 GMT):
All, please note that burrow v0.21.0 is out. This is basically a hotfix release after some non-deterministic issues were found in v0.20.0 from one of our upstream libraries (tendermint's serialization library) we *highly* encourage everyone to upgrade ASAP. https://github.com/hyperledger/burrow/releases/tag/v0.21.0

compleatang (Tue, 21 Aug 2018 15:56:34 GMT):
Bonus is that we now are distributing statically compiled binaries as well.

bdjidi (Tue, 21 Aug 2018 22:47:30 GMT):
Has joined the channel.

jon_s (Wed, 22 Aug 2018 06:19:57 GMT):
Has joined the channel.

raheelz (Wed, 22 Aug 2018 20:24:25 GMT):
Has joined the channel.

chainsaw (Thu, 23 Aug 2018 17:39:52 GMT):
Has joined the channel.

grsind19 (Thu, 23 Aug 2018 20:18:57 GMT):
Has joined the channel.

InfoMiner (Fri, 24 Aug 2018 19:41:00 GMT):
Has joined the channel.

sccburrow (Mon, 27 Aug 2018 12:32:23 GMT):
Has joined the channel.

sccburrow (Mon, 27 Aug 2018 12:50:54 GMT):
Hello, I am currently trying to deploy a contract on hyperledger burrow (simple storage), I can start burrow, but when I try to deploy the contract with burrow deploy --address=[first burrow.toml address] it says exec: "solc": executable file not found in $PATH, but I have executed this in the direcotry where deploy.yaml and storage.sol is.

sccburrow (Mon, 27 Aug 2018 12:51:45 GMT):
So does anybody know what I am doing wrong?

sccburrow (Tue, 28 Aug 2018 08:04:49 GMT):
OS: Ubuntu 18.04 64 bit :)

compleatang (Tue, 28 Aug 2018 08:57:37 GMT):
if you're trying to compile a contract you'll need the solc binary on your machine. does `which solc` return a path?

sccburrow (Tue, 28 Aug 2018 09:07:06 GMT):
thanks for the response no it does not return anything, how can I fix this?

compleatang (Tue, 28 Aug 2018 09:15:58 GMT):
you'll need to install the solidity compiler -> https://solidity.readthedocs.io/en/v0.4.24/installing-solidity.html

compleatang (Tue, 28 Aug 2018 09:16:03 GMT):
then you'll be good to go.

compleatang (Tue, 28 Aug 2018 09:16:35 GMT):
for Ubuntu easiest way is: ``` sudo add-apt-repository ppa:ethereum/ethereum sudo apt-get update sudo apt-get install solc ```

sccburrow (Tue, 28 Aug 2018 09:19:12 GMT):
Thanks, I think it would be helpful if this would be mentioned in the Installation / Getting Started of the readme of https://github.com/hyperledger/burrow

compleatang (Tue, 28 Aug 2018 09:26:14 GMT):
Indeed it would be. We welcome pull requests!

sccburrow (Tue, 28 Aug 2018 09:31:54 GMT):
Great it worked, okay I will try. :) When I execute make build I only get /bin/borrow but not /bin/burrow-client, do you also know what I am doing wrong here?

compleatang (Tue, 28 Aug 2018 10:20:10 GMT):
you aren't doing anything wrong. burrow-client has been removed and the key functionality has been combined into the burrow binary.

puneet (Tue, 28 Aug 2018 10:42:58 GMT):
Has joined the channel.

puneet (Tue, 28 Aug 2018 11:15:40 GMT):
is burrow interoperable with other blockchain(s) particularly with ethereum ? and can we use truffle migrations deployment on burrow evm ?

sccburrow (Tue, 28 Aug 2018 11:43:45 GMT):
Is there a tutorial how I can test a smart contract deployed on burrow with javascript tests (like truffle)?

compleatang (Tue, 28 Aug 2018 15:05:37 GMT):
@puneet interoperable can mean any number of things. can you more precisely define your question?

compleatang (Tue, 28 Aug 2018 15:07:00 GMT):
@sccburrow check out burrow.js and it's tests -> https://github.com/monax/bosmarmot/tree/develop/burrow.js/test

compleatang (Tue, 28 Aug 2018 15:07:17 GMT):
and the test runner here -> https://github.com/monax/bosmarmot/blob/develop/tests/burrow.js.sh

sccburrow (Wed, 29 Aug 2018 07:57:50 GMT):
okk cool, one last question (hopefully): how can I make a test call from a certain address in an yaml test file, a normal function call looks like this: - name: [variable to save result in] query-contract: destination: [instance to send the call] function: [functionName] but how do I specify to send a call from a certain address ? (in truffle javascript tests you would write {from: xxx} as a function argument)

sccburrow (Wed, 29 Aug 2018 07:57:50 GMT):
okk cool, one last question (hopefully): how can I make a test call from a certain address in an yaml test file, a normal function call looks like this: - name: [variable to save result in] query-contract: destination: [instance to send the call] function: [functionName] but how do I specify to send a call from a certain address ? (in truffle javascript tests you would write {from: xxx} as a function argument)

sccburrow (Wed, 29 Aug 2018 07:57:50 GMT):
okk cool, one last question (hopefully): how can I make a test call from a certain address in an yaml test file, a normal function call looks like this: - name: [variable to save result in] query-contract: destination: [instance to send the call] function: [functionName] but how do I specify to send a call from a certain address ? (in truffle javascript tests you would write {from: [address]} as an additional function argument)

sccburrow (Wed, 29 Aug 2018 07:57:50 GMT):
okk cool, one last question (hopefully): how can I make a test call from a certain address in a yaml test file, a normal function call looks like this: - name: [variable to save result in] query-contract: destination: [instance to send the call] function: [functionName] but how do I specify to send a call from a certain address ? (in truffle javascript tests you would write {from: [address]} as an additional function argument)

puneet (Wed, 29 Aug 2018 08:31:29 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=mgbgqYQF3aMAjGFxF) @compleatang Thanks for reply! , I mean that we can push the tx merkle tree of multiple blocks regularly to the main chain to provide proof of asset in private chain so anybody can audit ? I'm looking to have an edge to use burrow alternative to closed private chains.

compleatang (Wed, 29 Aug 2018 10:07:22 GMT):
@puneet yes, you can pass in the appHash into Eth. That's dead simple and the block headers of each block give you the appHash (which is the root of the state merkle tree of the burrow chain); we also have the root of the block's merkle tree in the header as well. We don't currently have a function where a burrow node can do this directly. Currently you'd need a few functions in a middleware, but we are currently thinking through how to more easily help our users that want to interact. We'd love an issue which outlines exactly what you'd like to see from the burrow binary in terms of a user story here -> https://github.com/hyperledger/burrow/issues

compleatang (Wed, 29 Aug 2018 10:09:54 GMT):
@sccburrow yes that's possible, just pass in `account: [address]` in between name and query-contract (although query-contract's are simulated calls and are not signed). for the full reference see here -> https://godoc.org/github.com/hyperledger/burrow/deploy/def#Job

compleatang (Wed, 29 Aug 2018 10:14:30 GMT):
@all Is anyone in the community willing to help get burrow working with truffle? We've been looking into this and @dennismckinnon from our team has a bit of time to start it, but we'd love some assistance from the community. From our early explorations it looks fairly doable.

puneet (Wed, 29 Aug 2018 10:14:45 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=Mj99HfgRykvfeRuSg) @compleatang any examples that are made with burrow ? like for other projects in hyperledger umbrella there are different samples.

compleatang (Wed, 29 Aug 2018 10:18:15 GMT):
samples of sinking a block header into eth? not that i'm aware of. it's a matter of pulling block_info grabbing the hash you want and sending it to eth. not really complicated.

puneet (Wed, 29 Aug 2018 10:20:09 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=HsxHssDnQuscFNKbr) @compleatang not related to this particular issue , kind of getting started, I have looked into a sample storage.sol deploy but not sufficient . :)

puneet (Wed, 29 Aug 2018 10:23:24 GMT):
so in future burrow will be having a sidechain mechanism as a pluggable ?, are we guys following that road-map? just curious ... where can I look into roadmap ?

compleatang (Wed, 29 Aug 2018 10:24:23 GMT):
we're asking the community what they'd like to see from burrow as it relates to working with eth mainchain yes.

compleatang (Wed, 29 Aug 2018 10:24:36 GMT):
roadmap is on wiki.hyperledger.org

puneet (Wed, 29 Aug 2018 10:25:15 GMT):
@compleatang thanks for your response , best of luck!!

compleatang (Wed, 29 Aug 2018 10:27:54 GMT):
Puneet here's a small example: ``` # start burrow chain burrow spec -f1 | burrow configure -s- > burrow.toml burrow start -v0 # pull app hash from block header curl "localhost:26658/block?height=2" | jq -r .result.Block.header.app_hash > header.txt # send to eth ```

puneet (Wed, 29 Aug 2018 10:29:32 GMT):
can we also pass this using rpc ?

compleatang (Wed, 29 Aug 2018 10:32:38 GMT):
yes. that was just meant to be a simple example. anything that can call http and parse json will do it.

puneet (Wed, 29 Aug 2018 10:32:49 GMT):
afaik in Public permissioned networks Burrow can be a best pick. can you tell me any info how/where burrow is used in https://agreements.network/ ?

compleatang (Wed, 29 Aug 2018 10:32:54 GMT):
you don't even need the GRPC layer to do the above.

compleatang (Wed, 29 Aug 2018 10:33:28 GMT):
burrow is the blockchain client for the agreements.network.

compleatang (Wed, 29 Aug 2018 10:34:08 GMT):
when the mainnet launches we'll be leveraging burrow's permission layer to provide advanced governance around new smart contracts added to the chain and ensuring that network level terms of service are agreed to by validators.

compleatang (Wed, 29 Aug 2018 10:34:53 GMT):
otherwise the permission layer will be turned either off (for `sudo` like permissions used on consortia chains, testnets, and local development chains) or to fully public (for all other permissions).

puneet (Wed, 29 Aug 2018 10:35:48 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=6AvnLKkTA3fGM9XxW) @compleatang It seems like I need to learn more about burrow now :sweat_smile:

compleatang (Wed, 29 Aug 2018 10:36:28 GMT):
hope you do! we are a bit slim on documentation because we're a small team, but always happy to answer questions when we can. and always looking for help on documentation and examples!!!!

puneet (Wed, 29 Aug 2018 10:38:09 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=d9ERGKzhpbiqjMXLq) @compleatang your responses on time proves a lot ! thank you so much mate!! , I'll be looking forward for any contribution in future!

compleatang (Wed, 29 Aug 2018 10:38:34 GMT):
:+1_tone2:

puneet (Wed, 29 Aug 2018 10:43:30 GMT):
I'm working on an example where a public permissioned chain with known validators but without trust ,Issue is I don't want to use fabric or sawtooth it's best suitable for private chain use cases , I want to have an future path for my project to have an "public permissioned " network with interoperable functionality so we can move the assets going forward. would burrow be a good pick ?

puneet (Wed, 29 Aug 2018 10:43:30 GMT):
I'm working on an example where a public permissioned chain with known validators but without trust ,Issue is I don't want to use fabric or sawtooth it's best suitable for private chain use cases , future path for my project to have an "public permissioned " network with interoperable functionality so we can move the assets going forward. would burrow be a good pick ?

puneet (Wed, 29 Aug 2018 10:43:30 GMT):
I'm working on an example where a public permissioned chain with known validators but without trust ,Issue is I don't want to use fabric or sawtooth it's best suitable for private chain use cases , future path for my project to have a "public permissioned " network with interoperable functionality so we can move the assets going forward. would burrow be a good pick ?

compleatang (Wed, 29 Aug 2018 11:33:19 GMT):
That aligns with many of our requirements for the Agreements Network... So I'd say yes 😀

SjirNijssen (Wed, 29 Aug 2018 13:45:47 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=wGM7tdPji2gGZdu56) @compleatang Where can I find more info about the Agreement Network. Thx

tomislav (Wed, 29 Aug 2018 14:07:53 GMT):
Has left the channel.

compleatang (Wed, 29 Aug 2018 14:14:22 GMT):
https://agreements.network

JSchlimmer (Wed, 29 Aug 2018 15:39:08 GMT):
Has joined the channel.

JSchlimmer (Wed, 29 Aug 2018 15:39:16 GMT):
Hello All, I'm new to Hyperledger chat but have a question pertaining to Hyperledger Burrow. Our resource needs the ability to accept / interpret / and disburse per a smart contract. I see many blogs and sites regarding Creating" smart contracts but very little on what technology is needed to accept and interpret. I came across Hyperledger Burrow. Is this the add on / platform that is needed to accomplish my desired results? Thanks. #burrow

silasdavis (Wed, 29 Aug 2018 16:56:56 GMT):
@JSchlimmer it sounds like you might be talking our language, but it's a little difficult to understand what level of abstraction you are coming from with: > Our resource needs the ability to accept / interpret / and disburse per a smart contract Are you thinking in terms of a legal agreement represented in code (i.e. a smart contract), or making a payment where execution is implemented in code. > technology is needed to accept and interpret. Again do you mean systems to do something based on the state of a smart contract? To give some framework: a smart contract on Burrow is a piece of code - some logical rules (not necessarily a 'contract' of any kind - though it could be used to implement various elements of contract-ness). Certain authorised key-holders can prod that piece of code and have it change its values ('knight to E5', 'perform a 1 to 10 share split', whatever). We can consume the new state of the contract by querying it or by listening for events. If you ignore the way the state is maintain (via consensus on blockchain network) you can think of it as being like any kind of centralised data store - a google sheet, facebook, a cloud accounting package.

JSchlimmer (Wed, 29 Aug 2018 16:58:01 GMT):
yes. based on the legal agreement within a smart contract,

silasdavis (Wed, 29 Aug 2018 16:58:01 GMT):
@here we have made another step towards a slightly better documentation situation for our new tooling, here is an example app based on our latest stuff: https://github.com/monax/bosmarmot/tree/develop/example/basic-app

silasdavis (Wed, 29 Aug 2018 16:58:17 GMT):
feedback welcome

silasdavis (Wed, 29 Aug 2018 16:58:47 GMT):
We also recently added documentation on burrow.js: https://github.com/monax/bosmarmot/tree/develop/burrow.js

silasdavis (Wed, 29 Aug 2018 16:59:30 GMT):
@JSchlimmer it sounds like you might be interested in what I work on for my day job - it used Burrow at its core - https://agreements.network/

silasdavis (Wed, 29 Aug 2018 16:59:30 GMT):
@JSchlimmer it sounds like you might be interested in what I work on for my day job - it use Burrow at its core - https://agreements.network/

silasdavis (Wed, 29 Aug 2018 17:00:49 GMT):
That is concerned with implementing legal agreements - a large part of which is code that runs _on top_ of Burrow rather than being _part of_ Burrow

JSchlimmer (Wed, 29 Aug 2018 17:00:57 GMT):
The part that has me confused is what is software or Dapp is needed to interpret a created smart contract. Example: Part A gets under contract with party B to sell their house. Party A needs to place funds in escrow. Escrow agent recieves smart contract and funds. How do we read the smart contract? lol does that help explain?

JSchlimmer (Wed, 29 Aug 2018 17:01:27 GMT):
i'm watching your video now.

silasdavis (Wed, 29 Aug 2018 17:02:45 GMT):
yes great - so given that this is the sort of problem we are solving with the Agreements Network I can describe a bit about that, but if you'd like to know more specifically about that you might want to go to our telegram group: https://t.me/Agreements_Network. This channel is focused on general purpose use of Burrow (which I maintain).

silasdavis (Wed, 29 Aug 2018 17:04:14 GMT):
The way a legal producer would model the scenario you describe would be produce a bundle, we call an archetype, of legal prose and an a process model (a workflow that sufficiently describes the parts of the agreement that are potentially executable - not all law is, most probably isn't)

silasdavis (Wed, 29 Aug 2018 17:05:05 GMT):
this process model which is written in a language called BPMN (Business Process Modelling Notation) - it's a computerised flow chart.

JSchlimmer (Wed, 29 Aug 2018 17:05:43 GMT):
heading there now. Am I wrong in saying that the agreement network is the tool needed to interpret executed smart contracts? Sorry, I'm just trying to simplify this for my brain.

silasdavis (Wed, 29 Aug 2018 17:06:14 GMT):
Can you define what you mean by interpret?

silasdavis (Wed, 29 Aug 2018 17:06:32 GMT):
As in - like a human lawyer?

silasdavis (Wed, 29 Aug 2018 17:07:04 GMT):
Or as in a machine that understands a fulfilment event that says 'escrow funds received'?

JSchlimmer (Wed, 29 Aug 2018 17:07:29 GMT):
I prefer option 2. specifically when the smart contracts defines who gets paid what and when.

JSchlimmer (Wed, 29 Aug 2018 17:08:04 GMT):
we need to be able to understand that, have it populate into our system for disbursements

silasdavis (Wed, 29 Aug 2018 17:08:43 GMT):
okay good, when we hit certain points in the process (and we can verify that parties that need to agree to move the process along have agreed via digital signatures) the system can emit events to listening system - legal backoffice, banking, whatever

JSchlimmer (Wed, 29 Aug 2018 17:08:54 GMT):
Let me preface, all my focus here is on the sale of real estate.

silasdavis (Wed, 29 Aug 2018 17:08:54 GMT):
and they can take some action based on that

silasdavis (Wed, 29 Aug 2018 17:10:05 GMT):
so the agreements network provide an interface - the integration (which is what I think I would describe as your 'interpret') would need to be built into whatever system downstream needs to respond

silasdavis (Wed, 29 Aug 2018 17:10:38 GMT):
but the idea of a stream of 'legal events' is probably what you should have in mind

silasdavis (Wed, 29 Aug 2018 17:10:49 GMT):
these can be consumed over our API

silasdavis (Wed, 29 Aug 2018 17:11:02 GMT):
(this will be open source - anyone will be able to run it)

silasdavis (Wed, 29 Aug 2018 17:11:02 GMT):
(this will be open source - anyone will be able to run it against their node)

oxae (Wed, 29 Aug 2018 19:34:34 GMT):
Has joined the channel.

oxae (Wed, 29 Aug 2018 19:35:10 GMT):
hello there i've successfully setup burrows even run the smart contracts and all that

oxae (Wed, 29 Aug 2018 19:36:05 GMT):
i was wondering where could i find documentation on how to interact with the node, things like sending transactions, reading the blockchain data

oxae (Wed, 29 Aug 2018 19:36:14 GMT):
i understand this to be to role of a client

oxae (Wed, 29 Aug 2018 19:36:40 GMT):
is every interaction with the chain supposed to be done with the yaml file

compleatang (Wed, 29 Aug 2018 22:18:00 GMT):
Typically that is done with middleware. You can check out the documentation for burrow.js which is a middleware library for node based applications here -> https://github.com/monax/bosmarmot in the burrow.js directory. Also there you can see a small example application which will do simple reading and contract calls

kylekim (Thu, 30 Aug 2018 03:19:28 GMT):
Has joined the channel.

sccburrow (Thu, 30 Aug 2018 07:27:09 GMT):
When I try to deploy my contract from a specific address I get the eror expected a map, got 'string' This is my deploy.yaml: jobs: -name: setOwnerAddress set: val: "[a valid address]" - name: deployContract account: $setOwnerAddress deploy: contract: myContract.sol how can I defina a mapstructure?

sccburrow (Thu, 30 Aug 2018 07:27:09 GMT):
When I try to deploy my contract from a specific address I get the eror expected a map, got 'string' This is my deploy.yaml: jobs: -name: setOwnerAddress set: val: "[a valid address]" - name: deployContract account: $setOwnerAddress deploy: contract: myContract.sol how can I define a mapstructure?

sccburrow (Thu, 30 Aug 2018 07:27:09 GMT):
When I try to deploy my contract from a specific address I get the error: expected a map, got 'string' This is my deploy.yaml: jobs: -name: setOwnerAddress set: val: "[a valid address]" - name: deployContract account: $setOwnerAddress deploy: contract: myContract.sol how can I define a mapstructure?

mmartinez.blocknitive (Thu, 30 Aug 2018 07:33:46 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=mhbmDKRzpNRTTgcZL) @compleatang Hey! As I was trying to interact with burrow server using burrow.js and I faced some problems I think that make burrow working with truffle is needed! In addition, I checked out SNAK in the past and I think is an awesome idea. So, I am willing to participate in the project with your team. I am a full-stack developer and blockchain passionate. Pm me if you think I can help you in this duty!

compleatang (Thu, 30 Aug 2018 08:24:50 GMT):
cc @dennismckinnon

compleatang (Thu, 30 Aug 2018 08:25:20 GMT):
@mmartinez.blocknitive what problems did you face? truffle would still use burrow.js under the hood....

sccburrow (Thu, 30 Aug 2018 09:10:07 GMT):
Hello is there a possibility to select for example the second address in the burrow.toml (the pendant to the truffle javascript test accounts[2])?

sccburrow (Thu, 30 Aug 2018 09:10:07 GMT):
Hello is there a possibility to select for example the third address from the burrow.toml inside the deploy.yaml test/deploy file (the pendant to the truffle javascript test accounts[2])?

compleatang (Thu, 30 Aug 2018 12:05:05 GMT):
@sccburrow you can do this manually currently, but are you looking for something more automated that would run something like `burrow deploy -f deploy.yaml --validator-index 3` and then burrow would use the third key in the index (we currently have this functionality on start for example). Or are you looking for something more specific in the yaml itself? This would likely be an addition as currently we require reading from the genesis.json or burrow.toml and giving `burrow deploy` the actual address. We, e.g., in our CI system often do something like this: ``` addr=$(cat genesis.json | jq '.Accounts[] | select(.Name == "Validator_$index") | .Address') ```

compleatang (Thu, 30 Aug 2018 12:05:05 GMT):
@sccburrow you can do this manually currently, but are you looking for something more automated that would run something like `burrow deploy -f deploy.yaml --validator-index 3` and then burrow would use the third key in the index (we currently have this functionality on start for example). Or are you looking for something more specific in the yaml itself? This would likely be an addition as currently we require reading from the genesis.json or burrow.toml and giving `burrow deploy` the actual address. We, e.g., in our CI system often do something like this: ``` addr=$(cat genesis.json | jq '.Accounts[] | select(.Name == "Validator_$index") | .Address') burrow deploy -a $addr -f whatever.yaml ```

sccburrow (Thu, 30 Aug 2018 12:45:32 GMT):
I am looking for something inside the deploy.yaml file something like (so I can jump inside the contract from one account/address to another): jobs: name: changeToAddress account: address: validator-index 3 OR Participant_3

sccburrow (Thu, 30 Aug 2018 12:45:32 GMT):
I am looking for something inside the deploy.yaml file something like (so I can jump inside the contract from one account/address to another): jobs: name: changeToAddress account: address: validator-index 3 OR Participant_3

sccburrow (Thu, 30 Aug 2018 12:45:32 GMT):
I am looking for something inside the deploy.yaml file something like (so I can jump inside the contract from one account/address to another): jobs: name: changeToAddress account: address: validator-index 3 OR Participant_3

theomarshanti (Thu, 30 Aug 2018 15:05:41 GMT):
Has joined the channel.

theomarshanti (Thu, 30 Aug 2018 15:13:19 GMT):
Hello all - I have a very introductory question. I am approaching HyperLedger as an Ethereum Developer, but find the documentation too confusing to understand alone. Can someone please explain to me what Burrow is - separate from a "Blockchain client" - by comparing it to Ethereum? Per instance: I can use Geth (the Go-Ethereum client) to create a private Blockchain with as many Nodes as I wish. Can I do the same with Burrow? How about with any other HyperLedger projects such as Composer? With Ethereum, I can house each geth Node of the Blockchain in multiple places (Terminal, Raspberry Pi, EC2); can I do the same with the nodes of my private Burrow blockchain? Additionally, I can deploy Solidity Smart Contracts onto my Private Ethereum Blockchain; can I do this with a Burrow Blockchain? I apologize if my questions are either too basic or radically misinterpret Burrow. All help is appreciated.

theomarshanti (Thu, 30 Aug 2018 15:13:19 GMT):
Hello all - I have a very introductory question. I am approaching HyperLedger as an Ethereum Developer, but find the documentation too confusing to understand alone. Can someone please explain to me what Burrow is - separate from a "Blockchain client" - by comparing it to Ethereum? Per instance: I can use Geth (the Go-Ethereum client) to create a private Blockchain with as many Nodes as I wish. Can I do the same with Burrow? How about with any other HyperLedger projects such as Composer? My understanding is that Burrow is unique in it's Smart Contract capabilities (but the rest of this behavior seems common to all Blockchains) Can any of the nodes I create "mine"/validate transactions/create blocks? With Ethereum, I can house each geth Node of the Blockchain in multiple places (Terminal, Raspberry Pi, EC2); can I do the same with the nodes of my private Burrow blockchain? Additionally, I can deploy Solidity Smart Contracts onto my Private Ethereum Blockchain and interact with them from my nodes that are connected to the Blockchain instance. Can I do this with a Burrow Blockchain? I apologize if my questions are either too basic or radically misinterpret Burrow. All help is appreciated.

mmartinez.blocknitive (Thu, 30 Aug 2018 16:25:43 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=QT57afzGos3vinz2w) @compleatang haha not exactly burrow.js The problems were related to documentation, legacy-contracts.js, GRPC, and versioning stuff

gregmarlin (Thu, 30 Aug 2018 20:09:47 GMT):
Has joined the channel.

compleatang (Thu, 30 Aug 2018 20:43:58 GMT):

compleatang (Thu, 30 Aug 2018 20:46:50 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=JwbnS5EqJh4q4BBBA) @sccburrow We can change the account per job already but we don't currently have an ability to reference per named account. Feel free to file an issue in the repo outlining the user story you'd like to see and we'll look into it. In general it should be dead simple.

compleatang (Thu, 30 Aug 2018 22:29:48 GMT):
@theomarshanti Hopefully all your answers are below: Can you set up a network with as many nodes as you want? Yes and no, currently there's an upper bound on Tendermint POS of 100 nodes, but below that yes. Can nodes validate? Yes, if you give them permissions to do so. Can burrow nodes run in different places? Yes, however for the same validator key that can only be running on one location currently. Tendermint is working on multi-sig for validators but currently one validator node: one key: one binary instance (running wherever you wish). One thing I'll point out that is a difference in GEth and Burrow is that Burrow has an inbuilt permission layer which makes this much easier if you don't want the whole network to be behind a VPN. Can Solidity be deploy? Yes, at Monax we deploy roughly 50k lines of Solidity a day to various burrow based networks. The network works the exact same as any GEth based network in this regard. In general burrow is quite similar to GEth from the perspective of an application builder that's focusing on the solidity part. It's different from a network operator that is seeking to setup their network because we have Tendermint based proof of stake rather than POW and we have a permission layer which allows for you to, say, set only particular accounts that can deploy smart contracts, set other accounts that can validate but not send transactions, and whatever else you need to define for your network to operate smoothly.

puneet (Fri, 31 Aug 2018 07:01:35 GMT):
I came to know about the burrow integration with fabric , can anybody tell me that what are the advantages that burrow can give to fabric in response to standalone fabric project ?

puneet (Fri, 31 Aug 2018 07:03:31 GMT):
https://github.com/hyperledger/fabric-chaincode-evm

compleatang (Fri, 31 Aug 2018 08:41:42 GMT):
Puneet, an EVM is the answer.

puneet (Fri, 31 Aug 2018 08:48:42 GMT):
I'm going through the docs of agreements.network, I have a question where the data of user profile and passwords are store in the network ? is that stored centrally? or the user also need to generate private key(s) like the validators does to participate in network .

puneet (Fri, 31 Aug 2018 08:48:42 GMT):
@compleatang I'm going through the docs of agreements.network, I have a question where the data of user profile and passwords are store in the network ? is that stored centrally? or the user also need to generate private key(s) like the validators does to participate in network .

silasdavis (Fri, 31 Aug 2018 09:41:17 GMT):
We (Monax) run our own API service that sits on top of the current Agreements Network testnets. This deployment has its own set of keys to operate on the network and authenticates _its_ users against a central database (postrgres), it then sends transactions on behalf of those users as a delegate. Some important things to note: - You can interact with the raw smart contract interface by signing and sending your own transactions - The API service and associated services will be release as open source in the next month or so as part of the Node Distribution - this will allow you to run the same front end server 'at the edge' whatever that means for you - in a kubernetes cluster like us, or on your laptop, whereby the API server would have access to your private keys - Each user is (or will be) represented by a user proxy contract that, that relays transactions on behalf of that users - effectively this is like a 'hot wallet'. Using this indirection we can layer various forms of authentication access control on the user proxy - it could only relay transactions for a specific key, it might need a threshold number of keys, the keys it authorised may belong to a web front end or may only reside on a secure HSM - The T3 test network is currently running with 11/12 validators, the quorum of which belong to us (in the test network stages) the other validators are being run by our network cofounders. As we spin this network out (the testnet series is building towards a production release) we will relinquish quorum (i.e. have less than 2/3 voting power) on the network To be clear: there is no expectation that _we_ control your keys, but the architecture is multi-layered and there is scope for users who want to interact using a traditional service account model can do so. This lives in layers above the core decentralised network, and the Monax-flavoured gateway is just one - and ultimately will not be given any special status on the network.

silasdavis (Fri, 31 Aug 2018 09:41:17 GMT):
We (Monax) run our own API service that sits on top of the current Agreements Network testnets. This deployment has its own set of keys to operate on the network and authenticates _its_ users against a central database (postrgres), it then sends transactions on behalf of those users as a delegate. Some important things to note: - You can interact with the raw smart contract interface by signing and sending your own transactions - The API service and associated services will be release as open source in the next month or so as part of the Node Distribution - this will allow you to run the same front end server 'at the edge' whatever that means for you - in a kubernetes cluster like us, or on your laptop, whereby the API server would have access to your private keys - Each user is (or will be) represented by a user proxy contract that, that relays transactions on behalf of that users - effectively this is like a 'hot wallet'. Using this indirection we can layer various forms of authentication/access control on the user proxy - it could only relay transactions for a specific key, it might need a threshold number of keys, the keys it authorised may belong to a web front end or may only reside on a secure HSM - The T3 test network is currently running with 11/12 validators, the quorum of which belong to us (in the test network stages) the other validators are being run by our network cofounders. As we spin this network out (the testnet series is building towards a production release) we will relinquish quorum (i.e. have less than 2/3 voting power) on the network To be clear: there is no expectation that _we_ control your keys, but the architecture is multi-layered and there is scope for users who want to interact using a traditional service account model can do so. This lives in layers above the core decentralised network, and the Monax-flavoured gateway is just one - and ultimately will not be given any special status on the network.

silasdavis (Fri, 31 Aug 2018 09:41:17 GMT):
We (Monax) run our own API service that sits on top of the current Agreements Network testnets. This deployment has its own set of keys to operate on the network and authenticates _its_ users against a central database (postrgres), it then sends transactions on behalf of those users as a delegate. Some important things to note: - You can interact with the raw smart contract interface by signing and sending your own transactions - The API service and associated services will be release as open source in the next month or so as part of the Node Distribution - this will allow you to run the same front end server 'at the edge' whatever that means for you - in a kubernetes cluster like us, or on your laptop, whereby the API server would have access to your private keys - Each user is (or will be) represented by a user proxy contract that, that relays transactions on behalf of that users - effectively this is like a 'hot wallet'. Using this indirection we can layer various forms of authentication/access control on the user proxy - it could only relay transactions for a specific key, it might need a threshold number of keys, the keys it authorised may belong to a web front end or may only reside on a secure HSM - The T3 test network is currently running with 11/12 validators, the quorum of which belong to us (in the test network stages) the other validators are being run by our network cofounders. As we spin this network out (the testnet series is building towards a production release) we will relinquish quorum (i.e. have less than 2/3 voting power) on the network To be clear: there is no expectation that _we_ control your keys, but the architecture is multi-layered and there is scope for users who want to interact using a traditional service account model to do so. This lives in layers above the core decentralised network, and the Monax-flavoured gateway is just one - and ultimately will not be given any special status on the network.

silasdavis (Fri, 31 Aug 2018 09:41:17 GMT):
We (Monax) run our own API service that sits on top of the current Agreements Network testnets. This deployment has its own set of keys to operate on the network and authenticates _its_ users against a central database (postrgres), it then sends transactions on behalf of those users as a delegate. Some important things to note: - You can interact with the raw smart contract interface by signing and sending your own transactions - The API service and associated services will be release as open source in the next month or so as part of the Node Distribution - this will allow you to run the same front end server 'at the edge' whatever that means for you - in a kubernetes cluster like us, or on your laptop, whereby the API server would have access to your private keys - Each user is (or will be) represented by a user proxy contract that, that relays transactions on behalf of that users - effectively this is like a 'hot wallet'. Using this indirection we can layer various forms of authentication/access control on the user proxy - it could only relay transactions for a specific key, it might need a threshold number of keys, the keys it authorised may belong to a web front end or may only reside on a secure HSM - The T3 test network is currently running with 11/12 validators, the quorum of which belong to us (in the test network stages) the other validators are being run by our network cofounders. As we spin this network out (the testnet series is building towards a production release) we will relinquish quorum (i.e. have less than 2/3 voting power) on the network To be clear: there is no expectation that _we_ control your keys, but the architecture is multi-layered and there is scope for users who want to interact using a traditional service account model to do so. This lives in layers above the core decentralised network, and the Monax-flavoured gateway is just one of what will hopefully be many - and ultimately will not be given any special status on the network.

silasdavis (Fri, 31 Aug 2018 09:42:04 GMT):
If you have any more questions about the Agreements Network as distinct from Burrow check out the telegram group on the AN page

puneet (Fri, 31 Aug 2018 09:56:41 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=4hXeFGQbCSYNwT4Dn) @silasdavis thanks! the delegation of calls are done via Vent ? via burrow.js ?

puneet (Fri, 31 Aug 2018 11:43:31 GMT):
is this repo https://github.com/pouladzade/snak works with current version of burrow ?

puneet (Fri, 31 Aug 2018 11:46:52 GMT):
is this abandoned https://github.com/pouladzade/snak ?

puneet (Fri, 31 Aug 2018 12:02:21 GMT):
can we use Web3 Compatibility of ethermint in burrow ? Afaik both runs on top of tendermint.

compleatang (Fri, 31 Aug 2018 13:09:58 GMT):
We're working on a web3 provider so folks can use truffle and such but it'll take some time to finalize that. Burrow does not implement web3 because that's a dumpster fire of handrolled code. But that can be abstracted for users. And we'll start working on a prototype along with truffle folks shortly.

compleatang (Fri, 31 Aug 2018 13:10:29 GMT):
https://twitter.com/trufflesuite/status/1034836958369865729?s=19

sureshtedla (Fri, 31 Aug 2018 17:28:27 GMT):
Has joined the channel.

Luker501 (Fri, 31 Aug 2018 21:50:05 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=vCzLHB4MkSZXsErD8) @compleatang Hi, what exactly do you mean by web3 being a dumpster fire of handrolled code? Is that a comment on its organisation or security issues, or anything else?

compleatang (Sat, 01 Sep 2018 08:17:07 GMT):
It's a custom json rpc framework which means that implementers need to handroll a bunch of code that's custom rather than using something like gRPC and protobuf which is much more deeply tested across a huge range of production systems and is maintained according to deep engineering principles.

puneet (Sat, 01 Sep 2018 08:55:17 GMT):
is the state data stored same as ethereum (merkle-patricia-tree in leveldb) ?

puneet (Sat, 01 Sep 2018 08:55:17 GMT):
is the state data stored same as ethereum (merkle-patricia-tree in leveldb) or tendermint IAVL+ Tree ?

puneet (Sat, 01 Sep 2018 09:00:48 GMT):
I want to visualise the state data !

compleatang (Sat, 01 Sep 2018 11:17:39 GMT):
It's stored in as IAVL in LevelDB.

silasdavis (Sat, 01 Sep 2018 12:10:58 GMT):
@Luker501 haha @compleatang is being a little poetic with 'dumpster fire' - it's at least based on JSON-RPC - but it's perhaps not how you would build an RPC for an EVM all things being equal, it also isn't very modular. We still might try and support a proxy for it against our GRPC interfaces. I'd agree with with Case though - GRPC has a huge amount of testing and generality behind it, and perhaps more importantly forces you to define you domain model aside from you implementation/RPC layer (to some extent). It's also has some efficiency (binary format) and robustness (strongly typed schema) advantages over a typical JSON-RPC implementation - though of course the quality of the implementation matters. I would imagine geth's web3 layer is pretty solid these days really, but using GRPC means we can get solid clients for _free_ across a range of services including our ETL layer, and at the same time we define our public interfaces even when used in code.

silasdavis (Sat, 01 Sep 2018 12:14:09 GMT):
@puneet the data model is more-or-less the same. We have permissions and roles associated with accounts that are serialised and stored in the IAVL tree. When you say visualise do you mean in your mind or literally? For a mental model we have an account tree of `Address -> Account (public key (maybe), balance, code, permissions, roles)` and a storage key `Address -> Word256 Key -> Word256 Value`

Luker501 (Sat, 01 Sep 2018 15:44:03 GMT):
Thanks both. Good info!

sccburrow (Mon, 03 Sep 2018 09:37:15 GMT):
Hello I tried to send some tokens to the contract and I got the fowllowing erromessage: Job Name => sendToken defAddr => 1D9329964F26841367C48CE07A9D4B7E11ED128CrawErr => rpc error: code = Unknown desc = error returned by Tendermint in BroadcastTxSync ABCI log: CheckTx: Could not execute transaction: TxEnvelope{Signatures: 1, Tx: Tx{TxHash: FC582C37A431D711EEEA57F6DC8BDEA794127966; Payload: CallTx{TxInput{1D9329964F26841367C48CE07A9D4B7E11ED128C, Amount: 800, Sequence:99} -> AFA28A6E48C3A1D97092FE25CC2E839BA874C7AB: 98EA5FCA}}}, error: Error 24: Insufficient funds There has been an error talking to your Burrow chain using account 1D9329964F26841367C48CE07A9D4B7E11ED128C. rpc error: code = Unknown desc = error returned by Tendermint in BroadcastTxSync ABCI log: CheckTx: Could not execute transaction: TxEnvelope{Signatures: 1, Tx: Tx{TxHash: FC582C37A431D711EEEA57F6DC8BDEA794127966; Payload: CallTx{TxInput{1D9329964F26841367C48CE07A9D4B7E11ED128C, Amount: 800, Sequence:99} -> AFA28A6E48C3A1D97092FE25CC2E839BA874C7AB: 98EA5FCA}}}, error: Error 24: Insufficient funds As you can see I tried to send 800 to the contract from the address 1D9329964F26841367C48CE07A9D4B7E11ED128C, it says Insufficient funds, but the address has enough funds to proceed this transaction. Here is the entry in the burrow.toml of the address: [[GenesisDoc.Accounts]] Address = "1D9329964F26841367C48CE07A9D4B7E11ED128C" PublicKey = "{\"CurveType\":\"ed25519\",\"PublicKey\":\"E70E8F700A02FE1065339CF84A7D134B873EA37BA06194D6F6977C0335FC1B0A\"}" Amount = 9999999999 Name = "Participant_1" [GenesisDoc.Accounts.Permissions] [GenesisDoc.Accounts.Permissions.Base] Perms = 2118 SetBit = 2118 The test itself in the deploy.yaml is: - name: sendToken call: destination: $deploysmartGrid function: depositEther amount: 800 Can anybody help me?

sccburrow (Mon, 03 Sep 2018 09:37:15 GMT):
Hello I tried to send some tokens to the contract and I got the following erromessage: Job Name => sendToken defAddr => 1D9329964F26841367C48CE07A9D4B7E11ED128CrawErr => rpc error: code = Unknown desc = error returned by Tendermint in BroadcastTxSync ABCI log: CheckTx: Could not execute transaction: TxEnvelope{Signatures: 1, Tx: Tx{TxHash: FC582C37A431D711EEEA57F6DC8BDEA794127966; Payload: CallTx{TxInput{1D9329964F26841367C48CE07A9D4B7E11ED128C, Amount: 800, Sequence:99} -> AFA28A6E48C3A1D97092FE25CC2E839BA874C7AB: 98EA5FCA}}}, error: Error 24: Insufficient funds There has been an error talking to your Burrow chain using account 1D9329964F26841367C48CE07A9D4B7E11ED128C. rpc error: code = Unknown desc = error returned by Tendermint in BroadcastTxSync ABCI log: CheckTx: Could not execute transaction: TxEnvelope{Signatures: 1, Tx: Tx{TxHash: FC582C37A431D711EEEA57F6DC8BDEA794127966; Payload: CallTx{TxInput{1D9329964F26841367C48CE07A9D4B7E11ED128C, Amount: 800, Sequence:99} -> AFA28A6E48C3A1D97092FE25CC2E839BA874C7AB: 98EA5FCA}}}, error: Error 24: Insufficient funds As you can see I tried to send 800 to the contract from the address 1D9329964F26841367C48CE07A9D4B7E11ED128C, it says Insufficient funds, but the address has enough funds to proceed this transaction. Here is the entry in the burrow.toml of the address: [[GenesisDoc.Accounts]] Address = "1D9329964F26841367C48CE07A9D4B7E11ED128C" PublicKey = "{\"CurveType\":\"ed25519\",\"PublicKey\":\"E70E8F700A02FE1065339CF84A7D134B873EA37BA06194D6F6977C0335FC1B0A\"}" Amount = 9999999999 Name = "Participant_1" [GenesisDoc.Accounts.Permissions] [GenesisDoc.Accounts.Permissions.Base] Perms = 2118 SetBit = 2118 The test itself in the deploy.yaml is: - name: sendToken call: destination: $deploysmartGrid function: depositEther amount: 800 Can anybody help me?

easeev (Mon, 03 Sep 2018 12:32:18 GMT):
Has joined the channel.

puneet (Tue, 04 Sep 2018 05:48:46 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=fnWH9xvqTxwtSFPYB) @silasdavis thanks for the response appreciated :) , can we view the storage data key value pairs ? I have done quite research about this but haven't found any concrete solution to literally view data. we can explore leveldb's data but question is there any solution to view the IAVL structured data?

puneet (Tue, 04 Sep 2018 05:51:55 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=Ypy3doyjD6svFNMuw) @sccburrow have you tried with small amount ?

sccburrow (Tue, 04 Sep 2018 05:59:44 GMT):
Yeah I thought 800 is quiet small, but I tried it once again with amount 1 with the same result

puneet (Tue, 04 Sep 2018 06:01:30 GMT):
can you post a pastebin link for the deploy.yaml ?

puneet (Tue, 04 Sep 2018 06:01:30 GMT):
can you post a link for the deploy.yaml ?

sccburrow (Tue, 04 Sep 2018 06:02:04 GMT):
of course

sccburrow (Tue, 04 Sep 2018 06:03:27 GMT):
https://pastebin.com/r48zRGMz

sccburrow (Tue, 04 Sep 2018 06:04:26 GMT):
everything works til the job sendToken

puneet (Tue, 04 Sep 2018 06:06:53 GMT):
witdraw working>

puneet (Tue, 04 Sep 2018 06:06:53 GMT):
withdrawToken working>

puneet (Tue, 04 Sep 2018 06:06:55 GMT):
?

sccburrow (Tue, 04 Sep 2018 06:07:23 GMT):
no because the test stops when i try to deposit something

sccburrow (Tue, 04 Sep 2018 06:08:00 GMT):
(and I think when the deposit not works the withdraw has to fail, because the contract would have no funds)

puneet (Tue, 04 Sep 2018 06:08:52 GMT):
i think, but not sure try with the option data not with amount ?

puneet (Tue, 04 Sep 2018 06:08:52 GMT):
i think, but not sure try with the option val not with amount ?

puneet (Tue, 04 Sep 2018 06:09:52 GMT):
- name: sendToken call: destination: $deploysmartGrid function: depositEther val: 800

sccburrow (Tue, 04 Sep 2018 06:13:46 GMT):
okkay I will try but in the docs there is clearly amount specified (https://godoc.org/github.com/hyperledger/burrow/deploy/def#Call)

puneet (Tue, 04 Sep 2018 06:14:16 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=wBiZ8DoBo8GxNZ4S8) @sccburrow i'm finding this only, thanks for sharing

puneet (Tue, 04 Sep 2018 06:14:16 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=wBiZ8DoBo8GxNZ4S8) @sccburrow i'm searching this only, thanks for sharing

puneet (Tue, 04 Sep 2018 06:15:52 GMT):
try with gas and fees (no use to burrow) but give it a short.

sccburrow (Tue, 04 Sep 2018 06:17:23 GMT):
okay and how much should I try?

puneet (Tue, 04 Sep 2018 06:19:01 GMT):
give the value 0 or anything , we need to mention fees /gas arguments imo ?

sccburrow (Tue, 04 Sep 2018 06:19:21 GMT):
same error with fee 1000 and gas 5

sccburrow (Tue, 04 Sep 2018 06:20:48 GMT):
Job Name => sendToken rawErr => rpc error: code = Unknown desc = exception during transaction execution: Call error: Error 4: Insufficient gasdefAddr => 1D9329964F26841367C48CE07A9D4B7E11ED128C There has been an error talking to your Burrow chain using account 1D9329964F26841367C48CE07A9D4B7E11ED128C. rpc error: code = Unknown desc = exception during transaction execution: Call error: Error 4: Insufficient gas

sccburrow (Tue, 04 Sep 2018 06:21:18 GMT):
now the error is not insufficient amount, bud insufficient gas with gas and fee 0

puneet (Tue, 04 Sep 2018 06:21:36 GMT):
try gas 21000

sccburrow (Tue, 04 Sep 2018 06:22:55 GMT):
great thanks it worked :)))))

puneet (Tue, 04 Sep 2018 06:22:58 GMT):
yay

sccburrow (Tue, 04 Sep 2018 06:25:00 GMT):
but I fdo not think that this is logical, all other calls worked without fee and gas mentioned, but when you want to send an amount you have to mention them do you have a logical explanation for this?

puneet (Tue, 04 Sep 2018 06:26:15 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=AaFnuN7T7RRq98xqA) @sccburrow umm gas is of no use in the burrow , same think happens with the jp morgan's quorum .

puneet (Tue, 04 Sep 2018 06:26:15 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=AaFnuN7T7RRq98xqA) @sccburrow umm gas is of no use in the burrow , same think happens with the jp morgan's quorum , i do not have any explanation about this maybe experts can help.

puneet (Tue, 04 Sep 2018 07:14:49 GMT):

Burrow Blockchain Arch-SampleGraphic.jpg

mmartinez.blocknitive (Tue, 04 Sep 2018 08:05:21 GMT):
Hey, one question, is Burrow compatible with any of the Hyperledger Tools such as Caliper, Explorer...?

compleatang (Tue, 04 Sep 2018 09:46:46 GMT):
@mmartinez.blocknitive you'd need to check with those projects. most of them support fabric.

gregdhill (Tue, 04 Sep 2018 09:47:14 GMT):
Has joined the channel.

compleatang (Tue, 04 Sep 2018 09:48:09 GMT):
@sccburrow and @puneet it's a factor of defaults we give to burrow deploy. if you give it an amount then the assumption is that you will also give a fee and/or gas.

puneet (Wed, 05 Sep 2018 11:08:36 GMT):
how to install burrow into $GOPATH/bin with make install_db ?

puneet (Wed, 05 Sep 2018 11:08:53 GMT):
*** No rule to make target 'install_db'. Stop.

compleatang (Wed, 05 Sep 2018 12:31:24 GMT):
https://github.com/hyperledger/burrow/blob/develop/Makefile#L132

compleatang (Wed, 05 Sep 2018 12:35:03 GMT):
tl'dr `make install_burrow`

compleatang (Wed, 05 Sep 2018 12:35:11 GMT):
thanks for the note. i've updated the docs.

wanglijun (Wed, 05 Sep 2018 20:59:52 GMT):
Has joined the channel.

wanglijun (Wed, 05 Sep 2018 21:00:08 GMT):
go get github.com/hyperledger/burrow cd github.com/hyperledger/burrow make build

wanglijun (Wed, 05 Sep 2018 21:01:04 GMT):
When I run 'make build' in windows, I got 'make' is not recognized as an internal or external command. What do I need?

ThangDC (Thu, 06 Sep 2018 01:51:13 GMT):
@wanglijun you can check ENVIRONMENT VARIABLES, the path for that command should be there

wanglijun (Thu, 06 Sep 2018 15:50:02 GMT):
@ThangDC What software should I install to run 'make build' in windows? I think I don't have that. Thanks.

ThangDC (Thu, 06 Sep 2018 16:01:33 GMT):
I have never tried in Windows before for burrow but I think you can try to download and install make tool from gnu Make http://gnuwin32.sourceforge.net/packages/make.htm or gnuMCU build tools https://gnu-mcu-eclipse.github.io/windows-build-tools/install/

ThangDC (Thu, 06 Sep 2018 16:01:33 GMT):
@wanglijun I have never tried in Windows before for burrow but I think you can try to download and install make tool from gnu Make http://gnuwin32.sourceforge.net/packages/make.htm or gnuMCU build tools https://gnu-mcu-eclipse.github.io/windows-build-tools/install/

ThangDC (Thu, 06 Sep 2018 16:37:21 GMT):
Hope that help!:)

mighty-pirate (Thu, 06 Sep 2018 17:53:16 GMT):
Has joined the channel.

puneet (Fri, 07 Sep 2018 07:31:20 GMT):
How Hyperledger Supporting this project? IMO documentation of this project is needed urgently. only thing that is stopping in adoption right now!

puneet (Fri, 07 Sep 2018 07:32:56 GMT):
@compleatang @silasdavis let me know If i can help in anyways , graphics/documentation or in nodejs SDK etc

puneet (Fri, 07 Sep 2018 09:42:34 GMT):
Running example of usage in setting and getting a name from bosmarmot readme file but when running it is stopping the node itself. Error from node : (node:10214) DeprecationWarning: grpc.load: Use the @grpc/proto-loader module with grpc.loadPackageDefinition instead .payload.TxInput#0 is not a field: undefined (node:10214) UnhandledPromiseRejectionWarning: Error: 2 UNKNOWN: Stream removed

puneet (Fri, 07 Sep 2018 09:43:48 GMT):
Running example of usage in setting and getting a name from bosmarmot readme file but when running it is stopping the node itself. *Error from node :* (node:10214) DeprecationWarning: grpc.load: Use the @grpc/proto-loader module with grpc.loadPackageDefinition instead .payload.TxInput#0 is not a field: undefined (node:10214) UnhandledPromiseRejectionWarning: Error: 2 UNKNOWN: Stream removed *Error from Burrow Node:* {"log_channel":"Trace","message":"GRPC unary call","method":"/rpcquery.Query/GetName","run_id":"be9d8a8b-b281-11e8-8df9-5a1dbffc7d4a","scope":"NewKernel()","time":"2018-09-07T09:39:30.714403823Z"} panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0xb6d2b6]

puneet (Fri, 07 Sep 2018 09:43:48 GMT):
Running example of usage in setting and getting a name from bosmarmot readme file but when running it is stopping the node itself. *Error from nodeJS :* (node:10214) DeprecationWarning: grpc.load: Use the @grpc/proto-loader module with grpc.loadPackageDefinition instead .payload.TxInput#0 is not a field: undefined (node:10214) UnhandledPromiseRejectionWarning: Error: 2 UNKNOWN: Stream removed *Error from Burrow Node:* {"log_channel":"Trace","message":"GRPC unary call","method":"/rpcquery.Query/GetName","run_id":"be9d8a8b-b281-11e8-8df9-5a1dbffc7d4a","scope":"NewKernel()","time":"2018-09-07T09:39:30.714403823Z"} panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0xb6d2b6]

puneet (Fri, 07 Sep 2018 09:43:48 GMT):
Running example of usage in setting and getting a name from bosmarmot readme file but when running it is stopping the Burrow node itself. *Error from nodeJS :* (node:10214) DeprecationWarning: grpc.load: Use the @grpc/proto-loader module with grpc.loadPackageDefinition instead .payload.TxInput#0 is not a field: undefined (node:10214) UnhandledPromiseRejectionWarning: Error: 2 UNKNOWN: Stream removed *Error from Burrow Node:* {"log_channel":"Trace","message":"GRPC unary call","method":"/rpcquery.Query/GetName","run_id":"be9d8a8b-b281-11e8-8df9-5a1dbffc7d4a","scope":"NewKernel()","time":"2018-09-07T09:39:30.714403823Z"} panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0xb6d2b6]

puneet (Fri, 07 Sep 2018 09:43:48 GMT):
Running example of usage in setting and getting a name from bosmarmot readme file but when running it is stopping the Burrow node itself. *Error from nodeJS :* (node:10214) DeprecationWarning: grpc.load: Use the @grpc/proto-loader module with grpc.loadPackageDefinition instead .payload.TxInput#0 is not a field: undefined (node:10214) UnhandledPromiseRejectionWarning: Error: 2 UNKNOWN: Stream removed *Error from Burrow Node:* {"log_channel":"Trace","message":"GRPC unary call","method":"/rpcquery.Query/GetName","run_id":"be9d8a8b-b281-11e8-8df9-5a1dbffc7d4a","scope":"NewKernel()","time":"2018-09-07T09:39:30.714403823Z"} panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0xb6d2b6] CODE : https://pastebin.com/GQWCq6Vf

compleatang (Fri, 07 Sep 2018 14:19:13 GMT):
We'd love documentation assistance. Especially around graphics and getting started tutorials!

compleatang (Fri, 07 Sep 2018 14:20:44 GMT):
cc @dennismckinnon

dennismckinnon (Fri, 07 Sep 2018 14:48:56 GMT):
hello @puneet I believe the error you are getting is due to you having an incorrect payload

dennismckinnon (Fri, 07 Sep 2018 14:49:19 GMT):
in particular the "Input" field is not just the buffer of the address

dennismckinnon (Fri, 07 Sep 2018 14:49:56 GMT):
its a TxInput object as described here https://github.com/monax/bosmarmot/blob/develop/burrow.js/protobuf/payload.proto#L33-L41

dennismckinnon (Fri, 07 Sep 2018 14:50:19 GMT):
I wonder though is there a reason you are using the low-level grpc interface for this task?

dennismckinnon (Fri, 07 Sep 2018 14:51:20 GMT):
You could also use burrow.namereg.set/get as described here https://github.com/monax/bosmarmot/tree/develop/burrow.js#namereg

dennismckinnon (Fri, 07 Sep 2018 14:52:21 GMT):
Help in documentation would be greatly appreciated... I admit that the README i put together is somewhat lacking though technically complete it doesn't make for a good introduction point

puneet (Sat, 08 Sep 2018 05:47:26 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=wEeiQD99tuN4Ar3br) @dennismckinnon My concern is the low-level grpc interface code that is available in README file needs updation , I will be pushing some updates on README files and will be helping in getting started guide on the example basic-app made by @silasdavis .

Thaddeus (Sat, 08 Sep 2018 17:30:54 GMT):
Has left the channel.

dennismckinnon (Sat, 08 Sep 2018 22:28:16 GMT):
@puneet how so? I just wrote that. though its awkward it should be accurate. it Admittedly references the protobuf files for descriptions of all the objects.

soccerhaotian (Sun, 09 Sep 2018 02:16:32 GMT):
Has joined the channel.

puneet (Sun, 09 Sep 2018 10:57:26 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=58oSoj4edXjCe9S6a) @dennismckinnon I mean , can you tell me what I'm doing wrong ? how to run that example that you wrote :) I want to just run your code https://pastebin.com/GQWCq6Vf

puneet (Sun, 09 Sep 2018 10:57:26 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=58oSoj4edXjCe9S6a) @dennismckinnon I mean , can you tell me what I'm doing wrong ? how to run that example that you wrote :) https://pastebin.com/GQWCq6Vf

lisuo (Mon, 10 Sep 2018 05:57:58 GMT):
Has joined the channel.

dennismckinnon (Mon, 10 Sep 2018 13:38:08 GMT):
your payload needs to be an object of the form ``` var setPayload = { Input: { Address: Buffer.from(account,'hex'), Amount: 50000 }, Name:"HELLO", Data:"WORLD", Fee:5000 } ```

dennismckinnon (Mon, 10 Sep 2018 13:39:07 GMT):
see here where I do it for wrapping the low level interface https://github.com/monax/bosmarmot/blob/develop/burrow.js/lib/namereg.js

dennismckinnon (Mon, 10 Sep 2018 13:39:38 GMT):
you can access this function as burrow.namreg.set()

dennismckinnon (Mon, 10 Sep 2018 13:40:00 GMT):
so you don't have to construct the payload yourself.

dennismckinnon (Mon, 10 Sep 2018 13:40:17 GMT):
@puneet ^

puneet (Tue, 11 Sep 2018 08:25:30 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=ExhFE65Hfzbommopu) @dennismckinnon should we update the code here https://github.com/monax/bosmarmot/blob/develop/burrow.js/README.md ? here it look like this : var setPayload = { Input: Buffer.from(account, 'hex'), Name: "DOUG", Data: "Marmot", Fee: 5000 }

puneet (Tue, 11 Sep 2018 08:25:30 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=ExhFE65Hfzbommopu) @dennismckinnon should we update the code here https://github.com/monax/bosmarmot/blob/develop/burrow.js/README.md ? here it is looking like this : var setPayload = { Input: Buffer.from(account, 'hex'), Name: "DOUG", Data: "Marmot", Fee: 5000 }

dennismckinnon (Tue, 11 Sep 2018 15:44:46 GMT):
oh yes

dennismckinnon (Tue, 11 Sep 2018 15:44:54 GMT):
so sorry thats a good catch

kid101 (Tue, 11 Sep 2018 19:51:08 GMT):
Has joined the channel.

puneet (Wed, 12 Sep 2018 06:11:23 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=uXRr3HcN3LtzyEQ4k) @dennismckinnon this is what I'm trying to convey :sweat_smile: no issues, I have made the pull request :thumbsup:

puneet (Wed, 12 Sep 2018 06:11:23 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=uXRr3HcN3LtzyEQ4k) @dennismckinnon this is what I'm trying to convey :sweat_smile: no issues, I have made the pull request :thumbsup: https://github.com/monax/bosmarmot/pull/135

dennismckinnon (Wed, 12 Sep 2018 19:42:33 GMT):
thanks! much appreciated

arindammondal91 (Sat, 15 Sep 2018 09:09:26 GMT):
Has joined the channel.

anil.kandi (Mon, 17 Sep 2018 18:53:05 GMT):
Has joined the channel.

adamludvik (Tue, 18 Sep 2018 15:09:47 GMT):
Has left the channel.

gmkprabhu1983 (Wed, 19 Sep 2018 21:10:04 GMT):
Has joined the channel.

rgunn (Thu, 20 Sep 2018 03:59:01 GMT):
Has joined the channel.

srikanthy 2 (Thu, 20 Sep 2018 06:35:36 GMT):
Has joined the channel.

srikanthy 2 (Thu, 20 Sep 2018 06:36:22 GMT):
dumb question .. can burrow be used to develop automated excrow service?

puneet (Thu, 20 Sep 2018 07:33:34 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=TMm3uv8jmiv6QpZvC) @srikanthy 2 why not ?

Luker501 (Thu, 20 Sep 2018 17:02:46 GMT):
quick question. Does anyone know the latest supported solidity version for Burrow?

pouladzade (Fri, 21 Sep 2018 09:04:09 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=nNdH7FXqbn4Hp3zPX) @Luker501 It's base on the evm spec, The Solidity should not matter

pouladzade (Fri, 21 Sep 2018 09:04:09 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=nNdH7FXqbn4Hp3zPX) @Luker501 It's base on the evm spec, The Solidity version should not matter

compleatang (Fri, 21 Sep 2018 17:42:40 GMT):
@pouladzade is exactly right @Luker501 . However we currently run our integration test suite using against solc v0.25

compleatang (Fri, 21 Sep 2018 17:44:18 GMT):
@here burrow v0.22 is released. It's a smaller release with some bug fixes, a routine Tendermint upgrade (to v0.24) and niceties around `burrow deploy`. Next release will include some big steps forward in terms of network governance primitives and also token economic primitives.

greg2git (Mon, 24 Sep 2018 15:30:32 GMT):
Has joined the channel.

cbf (Mon, 24 Sep 2018 17:55:41 GMT):
congrats!

PrakharShukla (Mon, 24 Sep 2018 19:16:27 GMT):
Has joined the channel.

jon_s (Tue, 25 Sep 2018 09:08:50 GMT):
Has left the channel.

ThangDC (Tue, 25 Sep 2018 09:39:02 GMT):
congrats!

compleatang (Tue, 25 Sep 2018 13:34:56 GMT):
@here this isn't strictly burrow related, but certainly it is tangentially related to both burrow and a number of blockchains for business use cases. We'd like to let everyone know that our Blackstone project is now released. As part of this project we have a fully-featured business process execution engine and also a high level API which can injest BPMN models and translate those into process graphs in solidity which can be executed by the engine. If you are doing *anything* related to shared processes on a blockchain it's definitely worth checking out. Of course, because it is EVM code it'll also run on #sawtooth-seth and #fabric-evm over time (will need some wrapping to utilize their RPCs rather than burrows but the code itself will run fine). We hope it can be useful to everyone! https://github.com/agreements-network/blackstone

Dan (Tue, 25 Sep 2018 17:59:03 GMT):
Wow that looks really cool @compleatang !

Dan (Tue, 25 Sep 2018 17:59:17 GMT):
(totally unimportant but was blackstone a WWII allusion?)

compleatang (Tue, 25 Sep 2018 19:45:03 GMT):
Haha. No it's an old judge is why we chose it, but there are tentacles to the name! Ask Silas for a wee demo in Montreal! :-) It's been a lot of work getting here.

Dan (Tue, 25 Sep 2018 20:13:59 GMT):
cool. yes I will harangue @silasdavis in Montreal :)

tglaeser (Wed, 26 Sep 2018 13:24:59 GMT):
Has joined the channel.

tglaeser (Wed, 26 Sep 2018 13:32:14 GMT):
For version 0.11.x I found the API specified at https://github.com/monax/burrow/blob/develop/docs/specs/api.md ... is this still current? I cannot find anything equivalent at https://github.com/hyperledger/burrow for the latest development branch. Any pointers are highly appreciated. Thanks.

tglaeser (Wed, 26 Sep 2018 13:43:35 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=uPkLChomvv977984g) @compleatang Why not providing the web3 API as a Protobuf mapping?

compleatang (Thu, 27 Sep 2018 13:06:36 GMT):
@tglaeser regarding web3, at Monax we've never used it. We're certainly open to community contributions but it's never been high enough priority for us to spend the time given all the other things to build. We are working on providing a burrow web3 provider which would allow web3 tooling that use the provider scheme to integrate with burrow over our GRPC framework rather than the web3 RPC schema.

compleatang (Thu, 27 Sep 2018 13:06:57 GMT):
That work isn't at the top of our stack right now, but it's fairly high in the stack.

compleatang (Thu, 27 Sep 2018 13:08:15 GMT):
best documentation for the GRPC and Info port is via godocs -> https://godoc.org/github.com/hyperledger/burrow/rpc

sohamdighe14 (Thu, 27 Sep 2018 14:59:49 GMT):
Has joined the channel.

benjamincburns (Thu, 27 Sep 2018 18:58:55 GMT):
Has joined the channel.

JoseEdo (Thu, 27 Sep 2018 22:12:04 GMT):
Has joined the channel.

tarun.sharma (Thu, 27 Sep 2018 23:08:19 GMT):
Has joined the channel.

cheehk2015 (Sat, 29 Sep 2018 03:30:54 GMT):
Has joined the channel.

cheehk2015 (Sat, 29 Sep 2018 03:35:17 GMT):
Hi, I intended to port my dapps to burrow but I struggling to figure out how to configure my own private peer nodes. Is there any tutorial or docs to guide me? Thanks

cheehk2015 (Sat, 29 Sep 2018 03:35:17 GMT):
Hi, I intended to port my solidity dapps to burrow but I am struggling to figure out how to configure more than one private peer nodes. Is there any tutorial or docs to guide me? Thanks

forrunner (Sat, 29 Sep 2018 04:34:57 GMT):
Has joined the channel.

mcjl (Sat, 29 Sep 2018 05:59:01 GMT):
Has joined the channel.

vishal21pandita (Sat, 29 Sep 2018 07:08:42 GMT):
Has joined the channel.

phymbert (Sat, 29 Sep 2018 08:39:02 GMT):
Has joined the channel.

phymbert (Sat, 29 Sep 2018 09:23:18 GMT):
Hello Burrow contributors, First thank you for your great job on this project. I see issue 669 is flagged as help wanted, I coded a short implementation of abci.Query support for peer filtering, before I start to add integration test and submit PR. Is this contribution welcomed to burrow core? https://github.com/hyperledger/burrow/compare/develop...phymbert:authorised-only-node-sync

phaniac (Mon, 01 Oct 2018 18:29:59 GMT):
Has joined the channel.

handaanmol (Tue, 02 Oct 2018 05:56:36 GMT):
Has joined the channel.

tglaeser (Tue, 02 Oct 2018 21:23:46 GMT):
Thanks @compleatang - I believe that's along the lines I was thinking ... The _burrow web3 provider_ essentially exposing the web3 API as GRPC, which itself is an extension to the Protobuf core; would that be a correct description? What is the timeline? _Fairly high_ sounds almost like there will always be something with higher priority.

compleatang (Wed, 03 Oct 2018 01:50:32 GMT):
I can't give a timeline right now. At Monax we don't use web3 so we don't really have a selfish need to put resources behind the effort just now given other priorities. Obviously community help is always appreciated.

starkriedesel (Wed, 03 Oct 2018 17:30:20 GMT):
Has joined the channel.

nsabharwal (Thu, 04 Oct 2018 20:33:02 GMT):
Has joined the channel.

yoheiueda (Fri, 05 Oct 2018 09:02:19 GMT):
Has joined the channel.

darkblue-b (Fri, 05 Oct 2018 17:42:44 GMT):
Has joined the channel.

darkblue-b (Fri, 05 Oct 2018 17:43:16 GMT):
hi - my first day here.. I am about to jump into an Ethereum event, a big one.. I have been building and running Ethereum toolchain on Linux for the last week or so.. I just noticed this today ..

darkblue-b (Fri, 05 Oct 2018 18:18:20 GMT):
.. not a GO-lang'r .. I noticed in the GETH Ether client, there is an option to build a binary that does not require the GOPATH and all that.. I am open to experimentin, obviously this is a "fast pass" but.. here to learn

darkblue-b (Fri, 05 Oct 2018 18:24:58 GMT):
solidity solc here is 0425 .. new to me..

JWilson1 (Sat, 06 Oct 2018 14:09:32 GMT):
Has joined the channel.

compleatang (Sun, 07 Oct 2018 08:22:19 GMT):
Darkblue this room is for discussing Hyperledger Burrow. Am sure there are multiple venues to discuss operating GEth. But nonetheless welcome!

carla (Sun, 07 Oct 2018 11:41:30 GMT):
Has joined the channel.

carla (Sun, 07 Oct 2018 11:42:22 GMT):

Capture du 2018-10-07 12-22-18.png

Nareshtej (Mon, 08 Oct 2018 05:22:57 GMT):
Has joined the channel.

compleatang (Mon, 08 Oct 2018 10:41:36 GMT):
hi @carla that looks like you're using seth, if so please visit #sawtooth-seth as we'd need a *lot* more context about what you're trying to do to help in this room.

forrunner (Tue, 09 Oct 2018 12:32:16 GMT):
/ join #sawtooth-seth

forrunner (Tue, 09 Oct 2018 12:33:08 GMT):
nm

carla (Tue, 09 Oct 2018 13:50:10 GMT):
@compleatang ok thank you.

JyotiGoda (Wed, 10 Oct 2018 17:48:35 GMT):
Has joined the channel.

JyotiGoda (Wed, 10 Oct 2018 17:51:23 GMT):
Hello, I am a newbie to Hyperledger Burrow. I am trying to compile and run the basic-app but I get compile time errors. I am on Ubuntu 16.04. I tried initially as a regular user but ended up with permissions issued. Now I am trying with a root login. make start-chain works fine. However, when I try to run make start-app, I get a compile error saying

JyotiGoda (Wed, 10 Oct 2018 17:51:23 GMT):
Hello, I am a newbie to Hyperledger Burrow. I am trying to compile and run the basic-app but I get compile time errors. I am on Ubuntu 16.04. I tried initially as a regular user but ended up with permissions issues. Now I am trying with a root login. $ make start-chain works fine. However, when I try to run make start-app, I get a compile error saying

JyotiGoda (Wed, 10 Oct 2018 17:51:59 GMT):
Error compiling contracts: Compilers error: exit status 1 makefile:58: recipe for target 'deploy.output.json' failed make: *** [deploy.output.json] Error 1

JyotiGoda (Wed, 10 Oct 2018 17:52:22 GMT):
Can anybody help tell me what could be the issue?

mslavitch (Wed, 10 Oct 2018 20:10:32 GMT):
Has joined the channel.

totolouis (Wed, 10 Oct 2018 22:15:25 GMT):
Has joined the channel.

totolouis (Wed, 10 Oct 2018 22:21:02 GMT):
Hello @JyotiGoda , are you sure this is about Burrow ? I'm also new to Burrow, but I see no sign of a 'basic-app' (if there is, please link it :D)

totolouis (Wed, 10 Oct 2018 22:21:02 GMT):
Hello @JyotiGoda , are you sure this is about Burrow ? I'm also new to Burrow, but I see no sign of a 'basic-app'.

totolouis (Wed, 10 Oct 2018 22:26:23 GMT):
I also have a question, where can we find a list of available commands in yaml files ? If you look at the test app23 (https://github.com/hyperledger/burrow/tree/develop/tests/jobs_fixtures/app23-save_tx_hash_of_call), there is this save `save: tx` at the `setStorage` call. So, how do you know that the tx value will hash the data ? Thanks a lot.

totolouis (Wed, 10 Oct 2018 22:26:23 GMT):
I also have a question, where can we find a list of available commands in yaml files ? If you look at the test app23 (https://github.com/hyperledger/burrow/tree/develop/tests/jobs_fixtures/app23-save_tx_hash_of_call), there is this save `save: tx` at the `setStorage` call. So, how do you know that the `tx` value *can* hash the data, is there a documentation somewhere ? Thanks a lot.

JyotiGoda (Thu, 11 Oct 2018 02:23:21 GMT):
@totolouis yes, this is about Burrow...more specifically about using burrow.js to develop a node.js application which can communicate with a solidity contract. The basic-app example can be found at https://github.com/monax/bosmarmot/tree/develop/example/basic-app

seanyoung (Thu, 11 Oct 2018 10:39:48 GMT):
@JyotiGoda it looks like burrow deploy had trouble running the solidity compiler. Do you have solc in your path and is a recent version, and executable? I would recommend at least solc 0.4.24

seanyoung (Thu, 11 Oct 2018 10:43:12 GMT):
@totolouis the deploy yaml is deserialised into these structures, there is some documentation in the struct definitions: https://github.com/hyperledger/burrow/blob/develop/deploy/def/jobs.go

compleatang (Thu, 11 Oct 2018 12:47:24 GMT):
@totolouis documentation is on godocs; specifically for what you're looking for it's here -> https://godoc.org/github.com/hyperledger/burrow/deploy/def#Call

compleatang (Thu, 11 Oct 2018 12:47:55 GMT):
or, as Sean noted in the code itself.

totolouis (Thu, 11 Oct 2018 17:27:55 GMT):
@compleatang @seanyoung Thanks a lot !!

JyotiGoda (Thu, 11 Oct 2018 17:52:53 GMT):
@seanyoung Thanks you for your reply. I have checked the following:

JyotiGoda (Thu, 11 Oct 2018 17:52:53 GMT):
@seanyoung Thanks you for your reply. I have checked the following: 1. The global $PATH variable includes /usr/local/lib. The solidity compiler (solcjs) resides in /usr/local/lib/node_modules/solc/solcjs I also have a link from /usr/local/bin called solc which links to the solcjs file. The link was initially not executable, I have tried to make it executable and retried but faced the same issue. 2. The solidity version I am using is solc 0.4.24 I am still facing the same issue and make start_app throws up the same error

JyotiGoda (Thu, 11 Oct 2018 17:52:53 GMT):
@seanyoung Thank you for your reply. I have checked the following: 1. The global $PATH variable includes /usr/local/lib. The solidity compiler (solcjs) resides in /usr/local/lib/node_modules/solc/solcjs I also have a link from /usr/local/bin called solc which links to the solcjs file. The link was initially not executable, I have tried to make it executable and retried but faced the same issue. 2. The solidity version I am using is solc 0.4.24 I am still facing the same issue and make start_app throws up the same error

JyotiGoda (Thu, 11 Oct 2018 17:52:53 GMT):
@seanyoung Thank you for your reply. I have checked the following: 1. The global $PATH variable includes /usr/local/lib. The solidity compiler (solcjs) resides in /usr/local/lib/node_modules/solc/solcjs I also have a link from /usr/local/bin called solc which links to the solcjs file. The link was initially not executable, I have tried to make it executable and retried but faced the same issue. 2. The solidity version I am using is solc 0.4.24 I am still facing the same issue and make start_app throws up the same error Also, I am able to separately compile solidity files and manually deploy them on a separate burrow blockchain from a separate subfolder in the same parent folder. I am also able to use truffle to compile .sol files to deploy on private ethereum chains.

totolouis (Thu, 11 Oct 2018 18:53:23 GMT):
@JyotiGoda Maybe it has something to do with some paths in the makefile. Did your paths are the same as the file ?

JyotiGoda (Thu, 11 Oct 2018 19:59:58 GMT):
@totolouis I have given up trying to get the example app to work and simply deployed my contract onto the burrow blockchain manually. I am now in the process of setting up the javascript app which will communicate with the chain. I also understand that Burrow has an API interface that exposes REST endpoints to interact with the blockchain network and the application state through broadcasting transactions, or querying the current state of the application. Is there any documentation available for this interface?

totolouis (Thu, 11 Oct 2018 20:43:32 GMT):
@JyotiGoda I assume you are talking about burrow.js. You can find this *library* right there : https://www.npmjs.com/package/@monax/burrow

totolouis (Thu, 11 Oct 2018 20:43:32 GMT):
@JyotiGoda I assume that you are talking about burrow.js. You can find this *library* right there : https://www.npmjs.com/package/@monax/burrow

totolouis (Thu, 11 Oct 2018 20:43:32 GMT):
@JyotiGoda I assume that you are talking about burrow.js. You can find this *library* right there : https://github.com/monax/bosmarmot/tree/develop/burrow.js

totolouis (Thu, 11 Oct 2018 20:43:32 GMT):
@JyotiGoda I assume that you are talking about burrow.js. You can find it right there : https://github.com/monax/bosmarmot/tree/develop/burrow.js

seanyoung (Fri, 12 Oct 2018 09:14:39 GMT):
@JyotiGoda solcjs won't work. Download https://github.com/ethereum/solidity/releases/download/v0.4.25/solc-static-linux and rename it solc, make it executable and ensure it is in the path

compleatang (Fri, 12 Oct 2018 10:14:14 GMT):
@JyotiGoda all documentation is available on godocs. start here for info server's ports -> https://godoc.org/github.com/hyperledger/burrow/rpc/rpcinfo#pkg-constants

darkblue-b (Fri, 12 Oct 2018 16:16:31 GMT):
hi - learning and discovering here.. I see Burrow uses the Tendermint consensus protocol (?) and clicking on two links brings me to explorecosmos.network .. How can I find out about the relationship between Cosmos network, Tendermint, Burrow and Apache Hyperledger ?

darkblue-b (Fri, 12 Oct 2018 16:42:34 GMT):
hm - I see Sunny Aggarwal => Researcher and Core Dev at Tendermint/Cosmos focusing on Proof of Stake and Blockchain Interoperability

ahern077 (Fri, 12 Oct 2018 17:04:00 GMT):
Has joined the channel.

compleatang (Fri, 12 Oct 2018 22:43:11 GMT):
there isn't much linkage other than Cosmos is powered by a Tendermint consensus engine the same as Burrow.

tahaf10 (Sat, 13 Oct 2018 20:14:59 GMT):
Me and my team are considering conducting a research on a Hyperledger platform. If there is any specific area for research which can add value to the Burrow project, please let me know.

compleatang (Mon, 15 Oct 2018 10:21:40 GMT):
@tahaf10 what kind of research ideas are you looking for? research into current functionality, future functionality, abstract research?

tahaf10 (Mon, 15 Oct 2018 10:22:52 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=cea6ME4zqpiRFB4LD) @compleatang Current Functionality. Performance Optimization.

compleatang (Mon, 15 Oct 2018 10:53:11 GMT):
Cool. A potential project would be to understand the performance implications for various validator set configurations based on a given solidity contract. So for a validator set of 1 node, 4 nodes, 7 nodes, 10 nodes, etc. what is the through put allocation. Have you synced up with the performance and scalability working group (they have a channel in here somewhere)..?

tahaf10 (Mon, 15 Oct 2018 11:04:39 GMT):
Right now I'm exploring the possibilities. All of my previous work has been on Fabric so I'll have to study Burrow in detail (Which I haven't yet) This is why I'm asking project leaders if they have any specific areas in mind (preferably related to performance optimization) which can add value to their projects. I've joined the performance and scalability work group but not much activity in there

mmartinez.blocknitive (Mon, 15 Oct 2018 13:08:32 GMT):
Hi, just wondering what is the purpose of gas in Hyperledger Burrow. It has any funcionality except from providing infinite loops? What happen If I spent all my gas and I need more to go on executing smart contract's functions? Could validators give gas to other accounts? When Validators "mine", they earn the term of gas called "Amount" or "Power"? Thanks in advance

compleatang (Mon, 15 Oct 2018 15:24:18 GMT):
infinite loops mainly. gas costs ZERO tokens in the burrow model, so callee's can give as much gas as needed to drive a contractual sequence.

mmartinez.blocknitive (Mon, 15 Oct 2018 15:57:25 GMT):
And what happens if account's gas is equal to zero? How could an account earn some gas to perform txs?

compleatang (Mon, 15 Oct 2018 16:48:03 GMT):
the question conflates tokens and gas. in the public ethereum model one uses ETH (tokens) to purchase gas at a particular gas price. So when sending transactions one needs to have tokens sufficient to pay for gas at the rate of `gasAmount*gasPrice`. in the burrow model `gasPrice` is `0`. to the concept of an account having or not having gas doesn't matter. if the account has the permission to call a contract then they set how much gas they want to use in our communist :) system and send the transaction.

compleatang (Mon, 15 Oct 2018 16:48:03 GMT):
the question conflates tokens and gas. in the public ethereum model one uses ETH (tokens) to purchase gas at a particular gas price. So when sending transactions one needs to have tokens sufficient to pay for gas at the rate of `gasAmount*gasPrice`. in the burrow model `gasPrice` is `0`. so the concept of an account having or not having gas doesn't matter. if the account has the permission to call a contract then they set how much gas they want to use in our communist :) system and send the transaction.

mmartinez.blocknitive (Mon, 15 Oct 2018 17:25:52 GMT):
haha I understand the communism style it is based on, but why we should set an "amount"pastebin

mmartinez.blocknitive (Mon, 15 Oct 2018 17:25:52 GMT):
haha I understand the communism style it is based on, but why we should set an "amount" (native type) in genesis-spec.json ?

silasdavis (Mon, 15 Oct 2018 18:29:44 GMT):
contracts can still use native token value in the normal ethereum way, it's just no value is subtracted based on the length of the computation. You can use native token to represent value or a bond for incentivisation.

manuvarghese (Mon, 15 Oct 2018 23:05:22 GMT):
Has joined the channel.

mmartinez.blocknitive (Tue, 16 Oct 2018 09:50:32 GMT):
Ok, thanks for the info @silasdavis

mmartinez.blocknitive (Tue, 16 Oct 2018 10:52:22 GMT):
I am having some problems with the permissions. I am trying to set an account which can read (call constant functions) and cannot write (make txs, change a var for example). What permissions this account should have? I set "name" and "hasRole" but doesnt work. It says I should add "call" permission, but If I do it, this account will be able to write. any idea?

silasdavis (Tue, 16 Oct 2018 11:55:42 GMT):
this is not a level of granularity currently provided by permissions system

silasdavis (Tue, 16 Oct 2018 11:55:53 GMT):
either you can `CALL` or not

silasdavis (Tue, 16 Oct 2018 11:56:25 GMT):
however, we are just in the process of implementing `STATICCALL` and the way we are doing it is by providing some state interfaces that provide a firewall against writes

silasdavis (Tue, 16 Oct 2018 11:56:55 GMT):
so this actually an interesting permission/mode

silasdavis (Tue, 16 Oct 2018 11:57:36 GMT):
we currently have `CallTxSim` which performs a simulated call that will not make any writes

mmartinez.blocknitive (Tue, 16 Oct 2018 11:58:30 GMT):
aha, ok that feature could be interesting

silasdavis (Tue, 16 Oct 2018 11:59:08 GMT):
with that call you could see what would happen with an account that _was_ allowed to call code

mmartinez.blocknitive (Tue, 16 Oct 2018 11:59:10 GMT):
I am trying to set multiple accounts with differente permissions, like can deploy or not, can write or not, can read or not

silasdavis (Tue, 16 Oct 2018 11:59:38 GMT):
so the callee would need to know the address of some account that has suitable permissions

silasdavis (Tue, 16 Oct 2018 12:00:42 GMT):
The way to think about the baked-in permissions are that they are firm backstop, like unix-style permissions, you often need finer grained permissions and you can use various solidity patterns to achieve that

silasdavis (Tue, 16 Oct 2018 12:01:25 GMT):
which can be more like access control list, role-based access controls, something like LDAP or PAM

silasdavis (Tue, 16 Oct 2018 12:01:56 GMT):
You can also use the roles system to enforce system wide role-based permissions

silasdavis (Tue, 16 Oct 2018 12:02:29 GMT):
since your smart contracts can use the hasRole and addRole snatives

silasdavis (Tue, 16 Oct 2018 12:03:57 GMT):
ensuring a particular transaction makes not writes is an interesting idea though. I'm not sure it quite fits as a permission. I don't think we have generally wanted to prevent an account from doing any writes anywhere

silasdavis (Tue, 16 Oct 2018 12:04:07 GMT):
at the smart contract level by the way, STATICCALL is probably want you want

silasdavis (Tue, 16 Oct 2018 12:04:25 GMT):
which is set by specifying `pure` in solidity

silasdavis (Tue, 16 Oct 2018 12:04:25 GMT):
which is invoked on calls by specifying `pure` in solidity

silasdavis (Tue, 16 Oct 2018 12:05:02 GMT):
if you contract code attempts a write then that will be an error

mmartinez.blocknitive (Tue, 16 Oct 2018 12:08:31 GMT):
well, I think that solidity patterns + burrow permissions can be a great combination

mmartinez.blocknitive (Tue, 16 Oct 2018 12:09:42 GMT):
nevertheless, I dont understand why you think a permission for deploy a contract is interesting but not a read permission.

mmartinez.blocknitive (Tue, 16 Oct 2018 12:11:11 GMT):
In my opinion, a permissioned blockchain would include at least these three permissions.

silasdavis (Tue, 16 Oct 2018 12:18:12 GMT):
usually participants need to be able to write to at least some contracts - such as their own proxy or wallet contracts. Also if you have access to a node you do in essence already have 'read' access to account to storage, and as I've said through CallTxSim. I suppose what this doesn't serve is a contract behaving differently by considering the reader in the case of a 'pure function' (solidity pure functions aren't really pure IMV because they depend on contract state even though they can't writ it).

silasdavis (Tue, 16 Oct 2018 12:18:30 GMT):
The way to implement this would be to add a `WRITE` permission

silasdavis (Tue, 16 Oct 2018 12:19:24 GMT):
which would have some overlap with `CREATE`, depending on how you look at it. You may want to allow 'read-only' creation I suppose.

silasdavis (Tue, 16 Oct 2018 12:19:59 GMT):
I'd love to see a BIP on it: https://github.com/hyperledger/burrow/blob/develop/docs/BIPS/bip-X_template.md

silasdavis (Tue, 16 Oct 2018 12:20:52 GMT):
unless input accounts have `WRITE` then we can run the VM with a read-only state and event sink

silasdavis (Tue, 16 Oct 2018 12:21:39 GMT):
and it would be an error for them to call any contracts that modify state

silasdavis (Tue, 16 Oct 2018 12:22:24 GMT):
the idea being that `READ` is just an implicit permission - as I say the other RPCs treat mere access as implicit grant of read

silasdavis (Tue, 16 Oct 2018 12:23:29 GMT):
If you don't have time/inclination for a BIP then an issue would also serve as a placeholder for someone who may want to work on it to pick it up

mmartinez.blocknitive (Tue, 16 Oct 2018 12:25:44 GMT):
I will create a BIP or Issue for sure. Nevertheless I feel like I am missing some info of the permission layer of the EVM...

mmartinez.blocknitive (Tue, 16 Oct 2018 12:26:48 GMT):
btw, As far as I know, hasRole addRole and snatives, are used to change the account's permissions while burrow is running, am i right?

silasdavis (Tue, 16 Oct 2018 12:27:00 GMT):
There is some commentary here: https://github.com/hyperledger/burrow/blob/develop/permission/perm_flag.go

silasdavis (Tue, 16 Oct 2018 12:27:11 GMT):
we could do with something fuller under docs/

silasdavis (Tue, 16 Oct 2018 12:27:33 GMT):
those one just set roles - roles are just a bag of words

silasdavis (Tue, 16 Oct 2018 12:28:08 GMT):
the permission flags themselves are set with `setBase`, `hasBase` etc: https://github.com/hyperledger/burrow/blob/develop/permission/perm_flag.go#L40-L46

silasdavis (Tue, 16 Oct 2018 12:28:57 GMT):
again if you have any appetite for helping putting together some markdown docs on permission I'd be happy to work with you on that and it would be appreciated

mmartinez.blocknitive (Tue, 16 Oct 2018 12:30:11 GMT):
I will write a light doc about permissioning and feel free to correct it please :D

silasdavis (Tue, 16 Oct 2018 12:30:58 GMT):
sure, always easier to correct than write from scratch. Feel free to leave a 'fill-in-the-blanks' type comment if you feel like it's missing

mmartinez.blocknitive (Tue, 16 Oct 2018 12:31:01 GMT):
just another thing, the permission settings are uniform for all the smart contracts. are you planning to make it more flexible?

silasdavis (Tue, 16 Oct 2018 12:31:33 GMT):
writing docs is question of time, but also being too close to the codebase/idiosyncrasies means I'm often not the right person to do some of them

silasdavis (Tue, 16 Oct 2018 12:32:44 GMT):
permissions currently apply for input accounts - it would need some careful thought about implementing variable permissions based on callee contract

silasdavis (Tue, 16 Oct 2018 12:33:03 GMT):
in particularly we'd want to know that dealing with it in contract land would not be better

silasdavis (Tue, 16 Oct 2018 12:34:00 GMT):
one thing that I think we will need is a more powerful namereg that has the notion of namespaces and 'authenticated namespaces' - we might consider extending the permissioning model to include some notion of a 'domain of contracts'

silasdavis (Tue, 16 Oct 2018 12:34:22 GMT):
but this is a bit vague now (and needs me to write a BIP)

mmartinez.blocknitive (Tue, 16 Oct 2018 12:36:31 GMT):
aha, that's the key thing. Maybe dealing with it in contract land would be enough... but a 'domain of contracts' sounds pretty reasonable

silasdavis (Tue, 16 Oct 2018 12:36:49 GMT):
this may be too waffley already - but something we need at Monax is the ability to have contract events that are authenticated - i.e. are emitted from a group or namespace of contracts. That is a kind of permissioning that may or may not be something in the direction of what you are thinking about.

mmartinez.blocknitive (Tue, 16 Oct 2018 12:38:02 GMT):
closely related, yep

mmartinez.blocknitive (Tue, 16 Oct 2018 12:38:56 GMT):
Well, thanks for the conversation @silasdavis very constructive :)

mmartinez.blocknitive (Tue, 16 Oct 2018 12:39:26 GMT):
I will write some docs about permmisioning asap

silasdavis (Tue, 16 Oct 2018 12:39:50 GMT):
thanks!

echohtp (Tue, 16 Oct 2018 19:15:33 GMT):
Has joined the channel.

echohtp (Tue, 16 Oct 2018 19:33:47 GMT):
hi everyone! im having some issue building a burrow container from the Dockerfile.

echohtp (Tue, 16 Oct 2018 19:34:01 GMT):
its failing on step 6/29 RUN make build

echohtp (Tue, 16 Oct 2018 19:34:44 GMT):
Step 6/29 : RUN make build ---> Running in d3855c12ef0f make: *** No rule to make target 'build'. Stop. The command '/bin/sh -c make build' returned a non-zero code: 2 Step 6/29 : RUN make build ---> Running in d3855c12ef0f make: *** No rule to make target 'build'. Stop. The command '/bin/sh -c make build' returned a non-zero code: 2 Step 6/29 : RUN make build ---> Running in d3855c12ef0f make: *** No rule to make target 'build'. Stop. The command '/bin/sh -c make build' returned a non-zero code: 2 Step 6/29 : RUN make build ---> Running in d3855c12ef0f make: *** No rule to make target 'build'. Stop. The command '/bin/sh -c make build' returned a non-zero code: 2 Step 6/29 : RUN make build ---> Running in d3855c12ef0f make: *** No rule to make target 'build'. Stop. The command '/bin/sh -c make build' returned a non-zero code: 2 Step 6/29 : RUN make build ---> Running in d3855c12ef0f make: *** No rule to make target 'build'. Stop. The command '/bin/sh -c make build' returned a non-zero code: 2

echohtp (Tue, 16 Oct 2018 19:34:44 GMT):
Step 6/29 : RUN make build ---> Running in d3855c12ef0f make: *** No rule to make target 'build'. Stop. The command '/bin/sh -c make build' returned a non-zero code: 2

echohtp (Tue, 16 Oct 2018 19:37:44 GMT):
pointing docker build @ the github repo worked better ¯\_(ツ)_/¯

echohtp (Tue, 16 Oct 2018 21:15:48 GMT):
mmmmm why is there nothing to pull down from docker hub? but a listed project ~_~

echohtp (Tue, 16 Oct 2018 21:15:48 GMT):
mmmmm why is there nothing to pull down from docker hub? but a listed project

resreassure (Wed, 17 Oct 2018 13:06:43 GMT):
Has joined the channel.

silasdavis (Wed, 17 Oct 2018 15:18:07 GMT):
What branch are you building from?

silasdavis (Wed, 17 Oct 2018 15:18:10 GMT):
images here:

silasdavis (Wed, 17 Oct 2018 15:18:10 GMT):
@echohtp images here: https://hub.docker.com/r/hyperledger/burrow/tags/

silasdavis (Wed, 17 Oct 2018 15:18:13 GMT):
@echohtp

silasdavis (Wed, 17 Oct 2018 15:18:13 GMT):
@echohtp

silasdavis (Wed, 17 Oct 2018 15:20:13 GMT):
are you you building from the root of the burrow directory

silasdavis (Wed, 17 Oct 2018 15:20:13 GMT):
are you you building from the root of the burrow directory? Would expect that to create the issue you are seeing

echohtp (Wed, 17 Oct 2018 16:09:44 GMT):
hi @silasdavis ! good day

echohtp (Wed, 17 Oct 2018 16:11:22 GMT):
i think i was trying to build from the root

echohtp (Wed, 17 Oct 2018 16:11:37 GMT):
and thank you for pointing me to that link, since theres no latest tag it doesnt pull

echohtp (Wed, 17 Oct 2018 16:11:53 GMT):
many thanks, this is exciting

echohtp (Wed, 17 Oct 2018 16:12:23 GMT):
is there anyone using burrow for smart contract assessing/audits?

echohtp (Wed, 17 Oct 2018 16:12:48 GMT):
its my burrow usecase so id love to talk to a few people about it

echohtp (Wed, 17 Oct 2018 16:15:09 GMT):
ahhh yasssss the docker pull worked. thanks a bunch, this is exciting, now to figure out the rest of the launching process ^_^;;;;

echohtp (Wed, 17 Oct 2018 16:25:47 GMT):
OKAY! i have another question/issue!

echohtp (Wed, 17 Oct 2018 16:26:05 GMT):
im attempting to start the full node, ive created the toml file

echohtp (Wed, 17 Oct 2018 16:29:29 GMT):
EYYY!!! the internet is just a series of tubES!

echohtp (Wed, 17 Oct 2018 16:54:49 GMT):
:( booo another issue! yay problem solving

echohtp (Wed, 17 Oct 2018 16:54:53 GMT):
hows everyone elses wednesday's going

echohtp (Wed, 17 Oct 2018 17:03:09 GMT):
okay, if anyone has a solution for this, im all ears

echohtp (Wed, 17 Oct 2018 17:03:20 GMT):
echo@pinkerton:~$ nc -zv 127.0.0.1 10997 Connection to 127.0.0.1 10997 port [tcp/*] succeeded! echo@pinkerton:~$ docker run --rm -it -v `pwd`:/home/ hyperledger/burrow:0.22.0 deploy --address 9CB31E778E03591AEF3E3A31CE0EA3E43302CF62 -f /home/test.yaml rpc error: code = Unavailable desc = all SubConns are in TransientFailure, latest connection error: connection error: desc = "transport: Error while dialing dial tcp 127.0.0.1:10997: connect: connection refused"

echohtp (Wed, 17 Oct 2018 20:26:53 GMT):
*sigh* such a quiet chat

karthikmohan91 (Thu, 18 Oct 2018 04:48:06 GMT):
Has joined the channel.

lay-z (Thu, 18 Oct 2018 11:28:14 GMT):
Has joined the channel.

compleatang (Fri, 19 Oct 2018 10:44:02 GMT):
@echohtp when you run that deploy command within the docker container it does not have access to your host's localhost. when you run the nc command it is accessing localhost from the host domain rather than from within the container. so basically the container based 127.0.0.1 is completely different from host's 127.0.0.1. you'll need to utilize docker's link command to link to the running burrow chain and then burrow deploy's --chain-url flag to point it to that address. just do a quick google for "docker links" to learn more....

silasdavis (Fri, 19 Oct 2018 11:49:34 GMT):
if you are experimenting on your dev machine you might prefer to just run the native binary, which you can grab from: https://github.com/hyperledger/burrow/releases

silasdavis (Fri, 19 Oct 2018 11:50:17 GMT):
docker is good for reproducibility and deployment but it can be better for debugging to be closer to the metal

silasdavis (Fri, 19 Oct 2018 11:53:31 GMT):
I've made an issue for us to start pushing the latest tag: https://github.com/hyperledger/burrow/issues/939

silasdavis (Fri, 19 Oct 2018 11:56:36 GMT):
Once you've got the burrow binary

silasdavis (Fri, 19 Oct 2018 11:57:00 GMT):
Here's a quick-and-dirty one-liner to start a single-node chain: ``` burrow spec -f1 | burrow configure -s- > burrow.toml && burrow start -v0 ```

silasdavis (Fri, 19 Oct 2018 11:57:32 GMT):
have a look at the output and help message for each sub-command to understand what's being done

devlintrace (Fri, 19 Oct 2018 18:40:04 GMT):
Has joined the channel.

carlosfaria (Mon, 22 Oct 2018 20:28:22 GMT):
Has joined the channel.

carlosfaria (Tue, 23 Oct 2018 13:52:08 GMT):
Hi everyone! Can smart contracts in Burrow change the permissions for a given account? I read this on https://www.hyperledger.org/wp-content/uploads/2017/06/HIP_Burrowv2.pdf : "Roles can be updated via discrete transactions or by smart contracts."

carlosfaria (Tue, 23 Oct 2018 13:53:23 GMT):
And what are the available options to change account permissions? govTx?

compleatang (Tue, 23 Oct 2018 15:02:10 GMT):
any of the permission options (see godocs)

compleatang (Tue, 23 Oct 2018 15:02:12 GMT):
https://github.com/hyperledger/burrow/tree/develop/tests/jobs_fixtures/app33-evm_connection_edb_permissions_and_roles_layer

compleatang (Tue, 23 Oct 2018 15:02:29 GMT):
^^^ example of how to build the contract to interact with and adapt to the burrow permission layer.

compleatang (Tue, 23 Oct 2018 15:03:20 GMT):
https://godoc.org/github.com/hyperledger/burrow/permission#pkg-constants

compleatang (Tue, 23 Oct 2018 15:03:23 GMT):
^^^ docs

carlosfaria (Tue, 23 Oct 2018 16:43:39 GMT):
Thank you @compleatang

knkski (Tue, 23 Oct 2018 18:59:28 GMT):
@silasdavis @compleatang: Is there a roadmap that I can follow for https://github.com/hyperledger/burrow/issues/908 / https://github.com/hyperledger/burrow/issues/909? It would be nice to complete the burrow upgrade for seth in https://github.com/hyperledger/sawtooth-seth/pull/73, and it's blocked on those atm

compleatang (Wed, 24 Oct 2018 09:07:24 GMT):
@knkski moving to #burrow-downstream

carlosfaria (Wed, 24 Oct 2018 10:45:38 GMT):
There is any documentation about how to write deploy.yaml files? I'm following the examples.

carlosfaria (Wed, 24 Oct 2018 10:46:50 GMT):
deploy.yaml main use is to test smart contracts? What are the existing alternatives in Burrow to interact with smart contracts? Thanks

compleatang (Thu, 25 Oct 2018 10:55:49 GMT):
@carlosfaria all documentation is available on godocs. Start here -> https://godoc.org/github.com/hyperledger/burrow/deploy/def#Job then, e.g, to understand the fields for deploying contracts go here -> https://godoc.org/github.com/hyperledger/burrow/deploy/def#Deploy we have examples for nearly every paradigm for working with the system here -> https://github.com/hyperledger/burrow/tree/develop/tests/jobs_fixtures and to see how we structure things for one of the most complex solidity systems available in open source see here -> https://github.com/agreements-network/blackstone/blob/develop/contracts/deploy_contracts and here -> https://github.com/agreements-network/blackstone/tree/develop/contracts/src

compleatang (Thu, 25 Oct 2018 10:55:49 GMT):
@carlosfaria all documentation is available on godocs. Start here -> https://godoc.org/github.com/hyperledger/burrow/deploy/def#Job then, e.g, to understand the fields for deploying contracts go here -> https://godoc.org/github.com/hyperledger/burrow/deploy/def#Deploy we have examples for nearly every paradigm for working with the system here -> https://github.com/hyperledger/burrow/tree/develop/tests/jobs_fixtures and to see how we structure things for one of the most complex solidity systems available in open source see here -> https://github.com/agreements-network/blackstone/blob/develop/contracts/deploy_contracts and here -> https://github.com/agreements-network/blackstone/tree/develop/contracts/src

compleatang (Thu, 25 Oct 2018 10:55:49 GMT):
@carlosfaria all documentation is available on godocs. Start here -> https://godoc.org/github.com/hyperledger/burrow/deploy/def#Job then, e.g, to understand the fields for deploying contracts go here -> https://godoc.org/github.com/hyperledger/burrow/deploy/def#Deploy we have examples for nearly every paradigm for working with the system here -> https://github.com/hyperledger/burrow/tree/develop/tests/jobs_fixtures and to see how we structure things for one of the most complex solidity systems available in open source see here -> https://github.com/agreements-network/blackstone/blob/develop/contracts/deploy_contracts and here -> https://github.com/agreements-network/blackstone/tree/develop/contracts/src

carlosfaria (Thu, 25 Oct 2018 12:38:29 GMT):
Thank you @compleatang I really appreciate !

carlosfaria (Thu, 25 Oct 2018 12:38:29 GMT):
Thank you @compleatang

haniavis (Thu, 25 Oct 2018 22:46:19 GMT):
Has joined the channel.

allegramarie (Fri, 26 Oct 2018 14:13:04 GMT):
Has joined the channel.

carlosfaria (Tue, 30 Oct 2018 18:16:07 GMT):
Its possible to use burrow.js to create/fund accounts? How can I create an account? Its possible to use existing BIP32 protocol / HD wallets with burrow keystore ?

carlosfaria (Tue, 30 Oct 2018 18:16:07 GMT):
Hi. Its possible to use burrow.js to create/fund accounts? How can I create an account? Its possible to use existing BIP32 protocol / HD wallets with burrow keystore ?

fupeng (Fri, 02 Nov 2018 08:14:50 GMT):
Has joined the channel.

denis3007 (Fri, 02 Nov 2018 10:39:44 GMT):
Has joined the channel.

fupeng (Wed, 07 Nov 2018 04:17:46 GMT):
#sawtooth

matthewphamilton (Wed, 07 Nov 2018 11:17:39 GMT):
Has joined the channel.

VenkatThota (Thu, 08 Nov 2018 11:14:52 GMT):
Has joined the channel.

Luker501 (Thu, 08 Nov 2018 17:04:01 GMT):
Hi all, where is the list of account permissions? I've found this on another website, is it correct? (If so it looks like you cannot differentiate read permissions by the smart contract - either you have read permissions for all smart contracts or none): root = full permissions. Use with care. send = permission to send TX. call = permission to call contracts. name = permission to add an entry in name registry. create_contract = permission to create contract. create_account = permission to create an account. bond = permission to send a bond TX allowing to be part of the validator pool. add_role = permission to add roles to accounts. has_role = permission to query role of accounts. rm_role = permission to remove role from accounts. set_base = permission to set permissions. unset_base = permission to remove permissions. has_base = permission to query permissions of an account. set_global = permission to set eris:db network parameters.

Luker501 (Thu, 08 Nov 2018 17:04:19 GMT):
(from: https://medium.com/katalysis-io/registering-and-permissioning-new-users-on-a-running-burrow-blockchain-968a9d25a0f8)

compleatang (Fri, 09 Nov 2018 10:31:35 GMT):
https://godoc.org/github.com/hyperledger/burrow/permission

RawanAlmousa (Fri, 09 Nov 2018 17:44:44 GMT):
Has joined the channel.

RawanAlmousa (Fri, 09 Nov 2018 17:44:51 GMT):
I want to create a Blockchain that stores invoices entered by an employee at company A and also another employee from company B can view it so where should i start ?

carlosfaria (Mon, 12 Nov 2018 16:25:12 GMT):
I need to have a node or account (permission) to read the blockchain state or anyone can read?

LegoEngineering (Mon, 12 Nov 2018 19:30:21 GMT):
Has joined the channel.

compleatang (Tue, 13 Nov 2018 03:52:13 GMT):
@carlosfaria depends on how you setup the network. If you leverage the whitelisting functionality then only whitelisted nodes can connect to a particular network. If you don't then any node connected to your network can sync. We have no particular read permission. All nodes on a burrow network have full access to the state of that network.

compleatang (Tue, 13 Nov 2018 04:03:38 GMT):
To see more about whitelisting network peers see this pull request. https://github.com/hyperledger/burrow/pull/924

compleatang (Tue, 13 Nov 2018 04:03:51 GMT):
We welcome help documenting the feature.

carlosfaria (Tue, 13 Nov 2018 10:14:02 GMT):
Thanks @compleatang

tranhl (Wed, 14 Nov 2018 05:26:54 GMT):
Has joined the channel.

tranhl (Wed, 14 Nov 2018 05:27:36 GMT):
hi guys, i'm looking to get a high-level understanding of the burrow architecture, and was wondering what the purpose of the name registry is

tranhl (Wed, 14 Nov 2018 05:27:53 GMT):
would someone be able to direct me to some resources that explain the concept?

hyper-sunder (Wed, 14 Nov 2018 09:10:05 GMT):
Has joined the channel.

hyper-sunder (Wed, 14 Nov 2018 09:11:13 GMT):
Hey Guys, I have read somewhere, Fabric 1.3 support EVM build-in which is used to run Ethereum Smart Contract. Hope using this, we can do `value transfer`. I would like know where does the `value transaction` happening? Could anyone help me to understand? I am new to burrow.

carlosfaria (Wed, 14 Nov 2018 15:24:02 GMT):
When an account is created, which permissions are taken as default? Or we need to set the permissions for every account? I saw that there is `DefaultAccountPermissions` available: https://github.com/hyperledger/burrow/blob/develop/permission/perm_flag.go#L58 is this the default permissions set when I create a new account? We really want to collaborate in this project, but first we need to understand how it works.

carlosfaria (Wed, 14 Nov 2018 16:08:02 GMT):
I tested and saw when creating a new account the permissions assigned was: `send | call | name | proposal | input | hasRole`. How can I add another default permissions?

seanyoung (Wed, 14 Nov 2018 16:48:03 GMT):
@carlosfaria do want to add a permission to an account, or change what permissions an account gets by default?

seanyoung (Wed, 14 Nov 2018 16:48:44 GMT):
You can add permissions using burrow deploy: `jobs: - name: permTest1 permission: action: setBase target: $addr permission: batch value: "true" `

seanyoung (Wed, 14 Nov 2018 16:49:13 GMT):
(put that into a deploy yaml, make sure addr is replace with the address you want)

carlosfaria (Wed, 14 Nov 2018 16:55:02 GMT):
@seanyoung I want to change the permissions that an account gets by default, to add `CreateContract` and `CreateAccount` as default.

carlosfaria (Wed, 14 Nov 2018 16:55:02 GMT):
@seanyoung I want to change the permissions that an account gets by default, to add `CreateContract` and `CreateAccount` as default. Is possible?

hyper-sunder (Wed, 14 Nov 2018 17:07:58 GMT):
Has left the channel.

compleatang (Thu, 15 Nov 2018 01:42:32 GMT):
Carlos. Yes. You set that in the genesis file (either in burrow.toml by default or genesis.json if you're using a separate genesis file). There's a setting like globalDefaultPermissions or something to that effect. Just change that from the defaults before you instantiate the chain.

compleatang (Thu, 15 Nov 2018 01:45:52 GMT):
@tranhl not much to explain. It's an in-built registry which you can use for your use case or not. We typically use it as a DNS like registry for key smart contracts and their addresses. So when we boot an application it can query a specific name, get a contracts address and interact with that contact directly. But it's just a key value storage layer so it can be used for whatever your use case may demand.

compleatang (Thu, 15 Nov 2018 01:47:02 GMT):
@hyper-sunder please ask Fabric EVM questions in #fabric-evm they can help you out over there.

hyper-sunder (Thu, 15 Nov 2018 01:47:02 GMT):
Has joined the channel.

carlosfaria (Thu, 15 Nov 2018 10:41:38 GMT):
Thank you @compleatang I set the `GlobalPermissions` in the genesis and then config a new chain, but now when I create a new account, it does not show any permissions. I think something is wrong setting `GlobalPermissions`: ``` "GlobalPermissions": [ "send", "call", "name", "hasRole", "proposal", "input", "CreateAccount", "CreateContract" ], ```

carlosfaria (Thu, 15 Nov 2018 10:41:38 GMT):
Thank you @compleatang I set the `GlobalPermissions` in the genesis and then config a new chain, but now when I create a new account, it does not show any permissions. I think something is wrong setting `GlobalPermissions`: ``` "GlobalPermissions": [ "send", "call", "name", "hasRole", "proposal", "input", "CreateAccount", "CreateContract" ], ``` is this the correct way?

carlosfaria (Thu, 15 Nov 2018 10:43:28 GMT):
In the burrow.toml I think is set in the correct way: ``` [GenesisDoc.GlobalPermissions] [GenesisDoc.GlobalPermissions.Base] Perms = "send | call | createContract | createAccount | name | proposal | input | hasRole" SetBit = "send | call | createContract | createAccount | name | proposal | input | hasRole" ```

carlosfaria (Thu, 15 Nov 2018 10:43:28 GMT):
In the burrow.toml (generated by the config) I think is set in the correct way: ``` [GenesisDoc.GlobalPermissions] [GenesisDoc.GlobalPermissions.Base] Perms = "send | call | createContract | createAccount | name | proposal | input | hasRole" SetBit = "send | call | createContract | createAccount | name | proposal | input | hasRole" ```

carlosfaria (Thu, 15 Nov 2018 10:43:28 GMT):
In the burrow.toml (generated by the config) I think `GlobalPermissions` are set in the correct way: ``` [GenesisDoc.GlobalPermissions] [GenesisDoc.GlobalPermissions.Base] Perms = "send | call | createContract | createAccount | name | proposal | input | hasRole" SetBit = "send | call | createContract | createAccount | name | proposal | input | hasRole" ```

smga3000 (Thu, 15 Nov 2018 18:46:21 GMT):
Has joined the channel.

yshurik (Thu, 15 Nov 2018 19:13:03 GMT):
Has joined the channel.

tranhl (Fri, 16 Nov 2018 01:58:40 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=arCF9KXwF7pqLYryy) @compleatang thanks for the clarification. on the topic of contract address discovery, i noticed that to use the high level `contracts` API provided by `burrow.js`, you have to provide the burrow ABI as an argument in order to correctly initialise the contract interface object. this begs the question, 'how do we make the abi discoverable/retrievable by anyone with minimal prerequisite knowledge?'. do you have any recommendations as to how we go about this? could the name registry be a solution to this use case?

tranhl (Fri, 16 Nov 2018 01:58:40 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=arCF9KXwF7pqLYryy) @compleatang thanks for the clarification. on the topic of contract address discovery, i noticed that to use the high level `contracts` API provided by `burrow.js`, you have to provide the burrow ABI as an argument in order to correctly initialise the contract interface object (see https://github.com/monax/bosmarmot/blob/develop/burrow.js/README.md#3-contracts). this begs the question, 'how do we make the abi discoverable/retrievable by anyone with minimal prerequisite knowledge?'. do you have any recommendations as to how we go about this? could the name registry be a solution to this use case?

hyper-sunder (Fri, 16 Nov 2018 08:58:40 GMT):
Has left the channel.

carlosfaria (Fri, 16 Nov 2018 13:46:41 GMT):
I set the `GlobalPermissions`this way: ``` "GlobalPermissions": { "Base": { "Perms": "send | call | createContract | createAccount | name | proposal | input | hasRole", "SetBit": "send | call | createContract | createAccount | name | proposal | input | hasRole" }, "Roles": [] } ``` following the tests setup: https://github.com/hyperledger/burrow/blob/develop/tests/chain/genesis.json But when I run `burrow configure` I get: `Could not read GenesisSpec: json: cannot unmarshal object into Go struct field GenesisSpec.GlobalPermissions of type []string`

carlosfaria (Fri, 16 Nov 2018 13:48:10 GMT):
It's supposed to be an object, not an array, right?

compleatang (Sat, 17 Nov 2018 19:55:21 GMT):
@tranhl it could be. We've had an issue up to store ABIs Burrow side and to be able to retrieve them based on a hash of the contracts byte code but it hasn't risen to the top of our stack yet. (help always welcome!).

compleatang (Sat, 17 Nov 2018 19:57:01 GMT):
ABI management is frankly not a very easy use case. We publish all ABIs for the Agreements Network (a public permissioned chain we're building on top of burrow) to a git repository via CI and then turn on GH pages to allow easy retrieval of them. Strategies here depend on the use case frankly...

compleatang (Sat, 17 Nov 2018 19:57:31 GMT):
@carlosfaria yes the second way seems correct. Did you get it sorted?

tranhl (Sun, 18 Nov 2018 23:57:52 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=wWek4giBxQm5nYCp3) @compleatang thanks for the insights! to avoid adding additional CI dependencies, i've gone with using the low-level `burrow.js` API, as it does not require access to the ABI. this leads to another question though, is it possible to register a permanent name in the name registry? i noticed that names registered in the name registry have expiry dates. ideally, if i'm going to use the name registry as a DNS for contract addresses, it would be nice to not have to worry about when the names expire

compleatang (Mon, 19 Nov 2018 10:16:38 GMT):
Not currently, however if you set a really high fee rate it'll practically be there for a long time. This is another area we'd welcome assistance on...

smga3000 (Mon, 19 Nov 2018 21:05:22 GMT):
How far along is Burrow? Sorry if I missed this. Basically I'd like to implement a fairly simple solidity smart contract on sawtooth and be able to trigger a smart contract on ethereum from it. basically a hybrid of permissioned and permissionless where we do all the high transaction stuff in sawtooth/burrow

compleatang (Tue, 20 Nov 2018 10:05:06 GMT):
Burrow is the oldest permissioned blockchain client. It's coming up on being a four year old codebase. So it's pretty far along we run very sophisticated solidity systems on burrow every day at Monax. Although we do not yet version it at 1.0 as the major dependency we have on Tendermint (burrow's consensus engine) is not yet at 1.0 and we are hesitant to version burrow >= 1.0 until that time. What you are looking to do is certainly doable depending on how you structure your integration between the chains. In any event, you should discuss in #sawtooth-seth room for your use case.

smga3000 (Tue, 20 Nov 2018 17:58:09 GMT):
Thank you very much for that feedback

dev-d (Wed, 21 Nov 2018 10:41:24 GMT):
Has joined the channel.

dev-d (Wed, 21 Nov 2018 10:42:29 GMT):
Hello Everyone... I have just joinned the group ..

dev-d (Wed, 21 Nov 2018 10:42:46 GMT):
I have experience working on ethereum contracts

dev-d (Wed, 21 Nov 2018 10:43:08 GMT):
and recently I have started exploring on HyperLedger Burrow

dev-d (Wed, 21 Nov 2018 10:44:00 GMT):
I am able to figure out a good documentation which can lead me to guide for Node setup, Interaction with Node, Contract deployment and tools like truffle etc

dev-d (Wed, 21 Nov 2018 10:44:18 GMT):
appreciate if I can get any leads from here

JERRIN (Thu, 22 Nov 2018 06:44:55 GMT):
Has joined the channel.

bd (Thu, 22 Nov 2018 12:28:33 GMT):
Has joined the channel.

bd (Thu, 22 Nov 2018 12:36:03 GMT):
hi folks, i'm ethereum developer and i use a lot web3, my question is, for Event's on web3 there is one thing that is ´PromiEvents´ and for other words i have a setup Node.js with burrow.js i sucessfully can deploy, create an instance of contracts , and call functions on contracts but what i'm try to do is when i call one function wich emits one event i want to capture like in web3. the response and the event. one thing wich web3 does is give me the block and tx hash of this 'contract method call'. how i can get this?

bd (Thu, 22 Nov 2018 12:36:03 GMT):
hi folks, i'm ethereum developer and i use a lot web3, my question is, for Event's on web3 exist one thing is it ´PromiEvents´ and for other words i have a setup Node.js with burrow.js i sucessfully can deploy, create an instance of contracts , and call functions on contracts but what i'm try to do is when i call one function wich emits one event i want to capture like in web3. the response and the event. one thing wich web3 does is give-me the block and tx hash of this 'contract method call'. how i can get this?

bd (Thu, 22 Nov 2018 12:36:03 GMT):
hi folks, i'm ethereum developer and i use a lot web3, my question is, for Event's on web3 exist one thing is it ´PromiEvents´ and for other words i have a setup Node.js with burrow.js i sucessfully can deploy, create an instance of contracts , and call functions on contracts but what i'm try to do is when i call one function wich emits one event i want to capture like in web3. the response and the event. one thing wich web3 does is give me the block and tx hash of this 'contract method call'. how i can get this?

bd (Thu, 22 Nov 2018 12:37:33 GMT):
anyone can help with this question ?

compleatang (Thu, 22 Nov 2018 16:44:53 GMT):
we typically use vent to accomplish this -> https://github.com/monax/bosmarmot/tree/develop/vent

compleatang (Thu, 22 Nov 2018 16:45:20 GMT):
however the burrow.js library has some capabilities in this area but will need @dennismckinnon 's help

bd (Thu, 22 Nov 2018 16:45:48 GMT):
ok thx

dennismckinnon (Thu, 22 Nov 2018 16:46:38 GMT):
Summoned, I appear

dennismckinnon (Thu, 22 Nov 2018 16:47:46 GMT):
We do not currently add that information to the object because nobody has asked for it

dennismckinnon (Thu, 22 Nov 2018 16:48:06 GMT):
It can be added though as it should be available in the return object from the grpc

dennismckinnon (Thu, 22 Nov 2018 16:49:34 GMT):
https://github.com/monax/bosmarmot/blob/develop/burrow.js/protobuf/exec.proto#L79

dennismckinnon (Thu, 22 Nov 2018 16:50:37 GMT):
this is the grpc spec. If you can tell me what information you want attached to the event object return I can put them in.

dennismckinnon (Thu, 22 Nov 2018 16:51:14 GMT):
in particular the header section probably contains most of the information you might care about

dennismckinnon (Thu, 22 Nov 2018 16:52:09 GMT):
I don't see blockhash included

dennismckinnon (Thu, 22 Nov 2018 16:52:27 GMT):
so if thats something important to you we would need to update the grpc endpoint itself

dennismckinnon (Thu, 22 Nov 2018 16:53:28 GMT):
Right now I don't return any of this meta data about the event https://github.com/monax/bosmarmot/blob/develop/burrow.js/protobuf/exec.proto#L79

dennismckinnon (Thu, 22 Nov 2018 16:54:03 GMT):
but it is accessible

dennismckinnon (Thu, 22 Nov 2018 16:54:04 GMT):
https://github.com/monax/bosmarmot/blob/develop/burrow.js/lib/contracts/event.js#L57

bd (Thu, 22 Nov 2018 17:06:40 GMT):
:D thx @dennismckinnon só we have any way to get the hash of tx and block number, maybe we can math the executed method and get the event and return the Smart contract return value and the event emitted in one payload.

bd (Thu, 22 Nov 2018 17:06:40 GMT):
:D thx @dennismckinnon só we have any way to get the hash of tx and block number, maybe we can match the executed method and get the event and return the values of Smart contract method and the event emitted in one payload.

bd (Thu, 22 Nov 2018 17:06:40 GMT):
:D thx @dennismckinnon só we have any way to get the hash of tx and block number, maybe we can math the executed method and get the event and return the values of Smart contract method and the event emitted in one payload.

bd (Thu, 22 Nov 2018 17:09:42 GMT):
receipt = await ContractObject.setMsg("asdsds"); /* { events: [ args { sender: 'BF6B575E6C7CECE899B04EA5D4FA56FD406BC5D2', msgx: 'asdsds' } ], returnValue: { raw: [], values: {} } } */

bd (Thu, 22 Nov 2018 17:09:42 GMT):
example: receipt = await ContractObject.setMsg("asdsds"); /* { events: [ args { sender: 'BF6B575E6C7CECE899B04EA5D4FA56FD406BC5D2', msgx: 'asdsds' } ], returnValue: { raw: [], values: {} } } */

bd (Thu, 22 Nov 2018 17:09:42 GMT):
receipt = await ContractObject.setMsg("asdsds"); /* { events: [ args { sender: 'BF6B575E6C7CECE899B04EA5D4FA56FD406BC5D2', msgx: 'asdsds' } ], returnValue: { raw: [], values: {} } } */ example:

bd (Thu, 22 Nov 2018 17:10:35 GMT):
i don't see any example of this querystring - https://github.com/monax/bosmarmot/tree/develop/burrow.js#burroweventslisten

bd (Thu, 22 Nov 2018 17:11:09 GMT):
String - a pegjs querystring for filtering the returned events see here for grammar specification

bd (Thu, 22 Nov 2018 17:12:54 GMT):
the querystring is like the contract address, signature of event, block number ?

dennismckinnon (Fri, 23 Nov 2018 00:46:10 GMT):
hmmm

dennismckinnon (Fri, 23 Nov 2018 00:46:15 GMT):
that seems to be a broken link

dennismckinnon (Fri, 23 Nov 2018 00:46:16 GMT):
https://github.com/monax/bosmarmot/blob/develop/burrow.js/protobuf/rpcevents.proto#L53-L87

dennismckinnon (Fri, 23 Nov 2018 00:46:23 GMT):
this is the pegjs query spec

bd (Fri, 23 Nov 2018 10:19:57 GMT):
ok thx dennismckinnon

bd (Fri, 23 Nov 2018 16:39:22 GMT):
hi, i'm trying create an new account and add on burrow.js `var burrow = monax.createInstance(burrowURL, account, { ...`, but give-me one error ` UnhandledPromiseRejectionWarning: Error: 2 UNKNOWN: error returned by Tendermint in BroadcastTxSync ABCI log: CheckTx: Could not execute transaction: TxEnvelope{Signatures: 1, Tx: Tx{TxHash: 425C7F6E9BA9C55620EF8C628D5EDEBC5EFD8803; Payload: CallTx{TxInput{0694A27F6B8B92902CBCEA272946E57FF8A2CF7D, Amount: 1, Sequence:1} -> E32D66A9A672B798D2A76410976872C832A08140: C4784FD4000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000066173647364... error: validateInputs() expects to be able to retrieve account 0694A27F6B8B92902CBCEA272946E57FF8A2CF7D but it was not found

bd (Fri, 23 Nov 2018 16:39:22 GMT):
hi, i'm trying create an new account and add on burrow.js `var burrow = monax.createInstance(burrowURL, account, { ...`, but give-me one error ` UnhandledPromiseRejectionWarning: Error: 2 UNKNOWN: error returned by Tendermint in BroadcastTxSync ABCI log: CheckTx: Could not execute transaction: TxEnvelope{Signatures: 1, Tx: Tx{TxHash: 425C7F6E9BA9C55620EF8C628D5EDEBC5EFD8803; Payload: CallTx{TxInput{0694A27F6B8B92902CBCEA272946E57FF8A2CF7D, Amount: 1, Sequence:1} -> E32D66A9A672B798D2A76410976872C832A08140: C4784FD4000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000066173647364730000000000000000000000000000000000000000000000000000}}}, error: validateInputs() expects to be able to retrieve account 0694A27F6B8B92902CBCEA272946E57FF8A2CF7D but it was not found at Object.exports.createStatusError (/home/bd/Desktop/yarilabs/gitlab/PMINT-GROUP/deployBurrow/node_modules/grpc/src/common.js:87:15) at Object.onReceiveStatus (/home/bd/Desktop/yarilabs/gitlab/PMINT-GROUP/deployBurrow/node_modules/grpc/src/client_interceptors.js:1188:28) at InterceptingListener._callNext (/home/bd/Desktop/yarilabs/gitlab/PMINT-GROUP/deployBurrow/node_modules/grpc/src/client_interceptors.js:564:42) at InterceptingListener.onReceiveStatus (/home/bd/Desktop/yarilabs/gitlab/PMINT-GROUP/deployBurrow/node_modules/grpc/src/client_interceptors.js:614:8) at callback (/home/bd/Desktop/yarilabs/gitlab/PMINT-GROUP/deployBurrow/node_modules/grpc/src/client_interceptors.js:841:24) (node:3189) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1) (node:3189) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code. ` , for creating a new account i made this steps: 1)

bd (Fri, 23 Nov 2018 16:39:22 GMT):
hi, i'm trying create an new account and add on burrow.js `var burrow = monax.createInstance(burrowURL, account, { ...`, but give-me one error ` UnhandledPromiseRejectionWarning: Error: 2 UNKNOWN: error returned by Tendermint in BroadcastTxSync ABCI log: CheckTx: Could not execute transaction: TxEnvelope{Signatures: 1, Tx: Tx{TxHash: 425C7F6E9BA9C55620EF8C628D5EDEBC5EFD8803; Payload: CallTx{TxInput{0694A27F6B8B92902CBCEA272946E57FF8A2CF7D, Amount: 1, Sequence:1} -> E32D66A9A672B798D2A76410976872C832A08140: C4784FD4000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000066173647364...

bd (Fri, 23 Nov 2018 16:39:33 GMT):
keys gen Enter Password:**** 0694A27F6B8B92902CBCEA272946E57FF8A2CF7D

bd (Fri, 23 Nov 2018 16:39:52 GMT):
> burrow keys gen Enter Password:**** 0694A27F6B8B92902CBCEA272946E57FF8A2CF7D

bd (Fri, 23 Nov 2018 16:40:01 GMT):
keys export --addr 0694A27F6B8B92902CBCEA272946E57FF8A2CF7D --passphrase 1234

bd (Fri, 23 Nov 2018 16:40:22 GMT):
burrow keys name hp 0694A27F6B8B92902CBCEA272946E57FF8A2CF7D

bd (Fri, 23 Nov 2018 16:40:56 GMT):
if i run `burow keys list` is there...

bd (Fri, 23 Nov 2018 16:41:09 GMT):
Address:"0694A27F6B8B92902CBCEA272946E57FF8A2CF7D" KeyName:"hp"

bd (Fri, 23 Nov 2018 16:41:33 GMT):
i need to make some other step ?

bd (Fri, 23 Nov 2018 16:42:41 GMT):
```js var account = '0694A27F6B8B92902CBCEA272946E57FF8A2CF7D'; // var account = 'FC37D959A92E6106A617EDFA42142C6926B67EB0' - default full_0 working; // var account = 'BF6B575E6C7CECE899B04EA5D4FA56FD406BC5D2' - default validator working; ```

bd (Fri, 23 Nov 2018 16:42:41 GMT):
```js var account = '0694A27F6B8B92902CBCEA272946E57FF8A2CF7D'; // var account = 'FC37D959A92E6106A617EDFA42142C6926B67EB0' - default full_0 working; // var account = 'BF6B575E6C7CECE899B04EA5D4FA56FD406BC5D2' - default validator working; ``` var burrow = monax.createInstance(burrowURL, account, { objectReturn: true });

bd (Fri, 23 Nov 2018 16:44:24 GMT):
```burrow.toml [GenesisDoc] GenesisTime = 2018-11-19T12:54:34Z ChainName = "BurrowChain_FAB3C1" [GenesisDoc.Params] ProposalThreshold = 3 [GenesisDoc.GlobalPermissions] [GenesisDoc.GlobalPermissions.Base] Perms = "send | call | createContract | createAccount | bond | name | proposal | input | batch | hasBase | hasRole" SetBit = "root | send | call | createContract | createAccount | bond | name | proposal | input | batch | hasBase | setBase | unsetBase | setGlobal | hasRole | addRole | removeRole" [[GenesisDoc.Accounts]] Address = "FC37D959A92E6106A617EDFA42142C6926B67EB0" PublicKey = "{\"CurveType\":\"ed25519\",\"PublicKey\":\"1FF54277496C8E055DD7080B346D88AFD025F6DD37ADF6EDB27EF1DE65A29E77\"}" Amount = 99999999999999 Name = "Full_0" [GenesisDoc.Accounts.Permissions] [GenesisDoc.Accounts.Permissions.Base] Perms = "root | send | call | createContract | createAccount | bond | name | proposal | input | batch | hasBase | setBase | unsetBase | setGlobal | hasRole | addRole | removeRole" SetBit = "root | send | call | createContract | createAccount | bond | name | proposal | input | batch | hasBase | setBase | unsetBase | setGlobal | hasRole | addRole | removeRole" [[GenesisDoc.Accounts]] Address = "BF6B575E6C7CECE899B04EA5D4FA56FD406BC5D2" PublicKey = "{\"CurveType\":\"ed25519\",\"PublicKey\":\"D3F695916FEE22D9B180FE037608497B70E63F9B92B7D7DFD5B91F5694928A48\"}" Amount = 9999999999 Name = "Participant_0" [GenesisDoc.Accounts.Permissions] [GenesisDoc.Accounts.Permissions.Base] Perms = "send | call | name | proposal | input | hasRole" SetBit = "send | call | name | proposal | input | hasRole" [[GenesisDoc.Validators]] Address = "FC37D959A92E6106A617EDFA42142C6926B67EB0" PublicKey = "{\"CurveType\":\"ed25519\",\"PublicKey\":\"1FF54277496C8E055DD7080B346D88AFD025F6DD37ADF6EDB27EF1DE65A29E77\"}" Amount = 9999999999 Name = "Full_0" [[GenesisDoc.Validators.UnbondTo]] Address = "FC37D959A92E6106A617EDFA42142C6926B67EB0" PublicKey = "{\"CurveType\":\"ed25519\",\"PublicKey\":\"1FF54277496C8E055DD7080B346D88AFD025F6DD37ADF6EDB27EF1DE65A29E77\"}" Amount = 9999999999 ```

bd (Fri, 23 Nov 2018 16:46:08 GMT):
@dennismckinnon maybe you can help :D with this pls ?

bd (Fri, 23 Nov 2018 16:46:12 GMT):
sorry

bd (Fri, 23 Nov 2018 16:46:44 GMT):
or anyone ???

bd (Fri, 23 Nov 2018 16:47:32 GMT):
i 'm feeling a quite alone in this project :D

KirkWallace (Sun, 25 Nov 2018 17:13:59 GMT):
Has joined the channel.

bd (Mon, 26 Nov 2018 10:32:59 GMT):
@dev-d i found this today https://www.npmjs.com/package/snak

lwan2000 (Mon, 26 Nov 2018 17:10:24 GMT):
Has joined the channel.

bd (Mon, 26 Nov 2018 17:49:38 GMT):
hi folks, anyone can help with some account's questions ? i want burrow accounts behavior like ethereum.

bd (Mon, 26 Nov 2018 17:50:06 GMT):
i added this config

bd (Mon, 26 Nov 2018 17:50:07 GMT):
``` [GenesisDoc.GlobalPermissions] [GenesisDoc.GlobalPermissions.Base] Perms = "send | call | createContract | createAccount | name | proposal | input | hasRole" SetBit = "send | call | createContract | createAccount | name | proposal | input | hasRole" ```

bd (Mon, 26 Nov 2018 17:50:28 GMT):
and create accounts with burrow keys gen

bd (Mon, 26 Nov 2018 17:50:40 GMT):
but i can't used with burrow.js

bd (Mon, 26 Nov 2018 17:50:40 GMT):
but i can't used with burrow.js with the account created

bd (Mon, 26 Nov 2018 17:50:42 GMT):
why ?

ajeethkannan (Mon, 26 Nov 2018 19:42:12 GMT):
Has joined the channel.

silasdavis (Tue, 27 Nov 2018 12:17:13 GMT):
Hi there @bd ... I'm just finishing up a couple of things then I'm going to give you some attention :)

bd (Tue, 27 Nov 2018 12:26:28 GMT):
hi

bd (Tue, 27 Nov 2018 12:26:59 GMT):
@silasdavis great news :D, i'm very happy

bd (Tue, 27 Nov 2018 14:38:37 GMT):
ping me when you have some time... thx @silasdavis

bd (Tue, 27 Nov 2018 14:38:37 GMT):
ping me when you do have some time... thx @silasdavis

bd (Tue, 27 Nov 2018 14:38:37 GMT):
let me know when you have some time... thx @silasdavis

silasdavis (Tue, 27 Nov 2018 14:51:47 GMT):
@bd I'm around now

silasdavis (Tue, 27 Nov 2018 14:54:42 GMT):
regarding you first issue at first glance it looks like your Burrow instance does not have access the key of the account you are using from burrow.jss

silasdavis (Tue, 27 Nov 2018 14:54:42 GMT):
regarding you first issue at first glance it looks like your Burrow instance does not have access the key of the account you are using from burrow.js

silasdavis (Tue, 27 Nov 2018 14:59:53 GMT):
Actually no we are passed that

silasdavis (Tue, 27 Nov 2018 15:00:10 GMT):
the issue is that the input account does not exist in Burrow

silasdavis (Tue, 27 Nov 2018 15:00:27 GMT):
you have created the key and the signing as been successful using that key

silasdavis (Tue, 27 Nov 2018 15:00:36 GMT):
but creating the key does not create the account

bd (Tue, 27 Nov 2018 15:07:51 GMT):
how i can activate my account?

silasdavis (Tue, 27 Nov 2018 15:08:04 GMT):
There are four ways to 'create' an account: 1. You can create an account at genesis where you can also set its permissions - typically you create a primary account you want to use to deploy contracts at genesis (you have one `BF6B575E6C7CECE899B04EA5D4FA56FD406BC5D2` and looks like you've got this) 2. You can emit a SendTx (using transact.SendTxSync) to the account and it will be created (with default global permissions) 3. You can create an account from a contract that emits a CREATE opcode (solidity `new MyContract()`). But you will not control the key. 4. You can send value with a CALL opcode to contract and it will be created.

silasdavis (Tue, 27 Nov 2018 15:08:28 GMT):
I think we really ought to have an explicit example with 2, which is how you should do this

silasdavis (Tue, 27 Nov 2018 15:10:13 GMT):
to be honest, the reason it is like this is a little bit historical - the idea that without holding some token you can't act anyway. But in Burrow this is not true - we transact with zero gas fees (we meter gas to bound computation time but we don't charge for the gas run up) and value transfer is optional

silasdavis (Tue, 27 Nov 2018 15:10:13 GMT):
to be honest, the reason it is like this is a little bit historical - the idea that without holding some token you can't act anyway. But in Burrow this is not true - we transact with zero gas fees (we meter gas to bound computation time but we don't charge for the gas run up) and value transfer is optional.

silasdavis (Tue, 27 Nov 2018 15:11:56 GMT):
I suppose the other thing is that as permissioned ledger rather than allowing any key to act as an account we require an existing entity to prod that account into existing by 'doing something' to it.

silasdavis (Tue, 27 Nov 2018 15:12:33 GMT):
we could create an input account implicitly - but by doing that we would convey default chain permissions to it without any existing entity making that explicit.

silasdavis (Tue, 27 Nov 2018 15:12:47 GMT):
Let me get you an example of creating your account, and I'll add it to the readme

bd (Tue, 27 Nov 2018 15:14:41 GMT):
hum i will test

samurai 4 (Tue, 27 Nov 2018 15:15:27 GMT):
Has joined the channel.

samurai 4 (Tue, 27 Nov 2018 15:18:18 GMT):
Hi everyone

samurai 4 (Tue, 27 Nov 2018 15:19:11 GMT):
@silasdavis Thank you very much for your help on the above. I think the documentation should state that `creating the key does not create the account` @silasdavis Thank you very much for your help on the above. I think the documentation should state that `creating the key does not create the account` @silasdavis thank you very much for your help on the above. I think that we could add that as a note to the documentation

samurai 4 (Tue, 27 Nov 2018 15:19:11 GMT):
@silasdavis Thank you very much for your help on the above. I think the documentation should state that `creating the key does not create the account` @silasdavis Thank you very much for your help on the above. I think the documentation should state that `creating the key does not create the account`

samurai 4 (Tue, 27 Nov 2018 15:19:11 GMT):
@silasdavis Thank you very much for your help on the above. I think the documentation should state that `creating the key does not create the account` @silasdavis Thank you very much for your help on the above. I think the documentation should state that `creating the key does not create the account`

samurai 4 (Tue, 27 Nov 2018 15:20:08 GMT):
@silasdavis thanks for the help on the above. I think that we should add a note about that on the documentation

bd (Tue, 27 Nov 2018 15:40:03 GMT):
var accountFull_0 = 'A388CE800DAB14B9362FC44A8F217F169C3DA3A9'; // - default full_0 working; var burrow = monax.createInstance(burrowURL, accountFull_0, { objectReturn: true }); var newAccount = '1768CA5F249B0CB079AEBC084EE4177A8762FE8E'; var setPayload = { Input: { Address: Buffer.from(newAccount, 'hex'), Amount: 1 }, Name: 'DOUG', Data: 'Marmot', Fee: 5000 }; // Using a callback burrow.transact.SendTxSync(setPayload, function(error, data) { console.log('​error, data **********************************************************\n\n ', error, data); if (error) throw error; // or something more sensible // data object contains detailed information of the transaction execution. }); ..................................................................... burrow accounts ../bin/burrow keys list Address:"0694A27F6B8B92902CBCEA272946E57FF8A2CF7D" KeyName:"hp" <- new account Address:"1768CA5F249B0CB079AEBC084EE4177A8762FE8E" KeyName:"hp2" Address:"A388CE800DAB14B9362FC44A8F217F169C3DA3A9" KeyName:"Full_0" # working genesis address Address:"FEBD7F4059107B2C6C22087C5D8A5E54F92A9CFA" KeyName:"Participant_0" # working genesis address ..... ERROR: burrow.js (node:30009) DeprecationWarning: grpc.load: Use the @grpc/proto-loader module with grpc.loadPackageDefinition instead ​error, data ********************************************************** Error: .payload.SendTx#Input is not a field: undefined at MessagePrototype.set (/home/bd/Desktop/yarilabs/gitlab/PMINT-GROUP/deployBurrow/node_modules/grpc/node_modules/protobufjs/dist/protobuf.js:2490:35) at MessagePrototype.set (/home/bd/Desktop/yarilabs/gitlab/PMINT-GROUP/deployBurrow/node_modules/grpc/node_modules/protobufjs/dist/protobuf.js:2483:38) at new Message (/home/bd/Desktop/yarilabs/gitlab/PMINT-GROUP/deployBurrow/node_modules/grpc/node_modules/protobufjs/dist/protobuf.js:2411:34) at serialize (/home/bd/Desktop/yarilabs/gitlab/PMINT-GROUP/deployBurrow/node_modules/grpc/src/protobuf_js_5_common.js:66:23

bd (Tue, 27 Nov 2018 15:40:57 GMT):
@silasdavis i see one example like NameTxSync i think for sendTxSync is equal

bd (Tue, 27 Nov 2018 15:41:15 GMT):
o made one tx from Genesis account to New account

bd (Tue, 27 Nov 2018 15:41:46 GMT):
the setPayload is correct ?

bd (Tue, 27 Nov 2018 15:42:26 GMT):
Address:"1768CA5F249B0CB079AEBC084EE4177A8762FE8E" KeyName:"hp2" <- this is the new account

silasdavis (Tue, 27 Nov 2018 16:45:32 GMT):
@bd yes it is similar, but different schema: ``` let chain = burrow.createInstance(chainURL, account.Address, {objectReturn: true}) var sendTx = { Inputs: [{ Address: Buffer.from(account.Address,'hex'), Amount: 50 }], Outputs: [{ Address: Buffer.from(sendAddress,'hex'), Amount: 50 }] } chain.transact.SendTxSync(sendTx).then(value => console.log(value)).catch(err => console.error(err)) ```

silasdavis (Tue, 27 Nov 2018 16:45:52 GMT):
I'm going to work this into a our little example app

bd (Tue, 27 Nov 2018 16:47:06 GMT):
:hugging:

silasdavis (Tue, 27 Nov 2018 16:47:14 GMT):
The tx schema are defined here: https://github.com/monax/bosmarmot/blob/develop/burrow.js/protobuf/payload.proto

bd (Tue, 27 Nov 2018 16:47:53 GMT):
:+1_tone5:

bd (Tue, 27 Nov 2018 16:48:25 GMT):
`// A payment between two sets of parties message SendTx { option (gogoproto.goproto_stringer) = false; option (gogoproto.goproto_getters) = false; // The payers repeated TxInput Inputs = 1; // The payees repeated TxOutput Outputs = 2; }`

bd (Tue, 27 Nov 2018 16:52:54 GMT):
this works :D thx

bd (Tue, 27 Nov 2018 16:53:28 GMT):
i need to learn go Lang :D

bd (Tue, 27 Nov 2018 16:59:24 GMT):
@silasdavis sorry one more question for today :D, if i have an muli signature smart contract like gnosis have, it's possible on same instance of contract set the from account, like in web3.js

bd (Tue, 27 Nov 2018 16:59:28 GMT):
burrow = monax.createInstance(burrowURL, newAccount, { objectReturn: true });

bd (Tue, 27 Nov 2018 16:59:48 GMT):
for this burrow instance i use `newAccount`

bd (Tue, 27 Nov 2018 17:00:10 GMT):
but when i call some Smart Contract function

bd (Tue, 27 Nov 2018 17:00:40 GMT):
i wan't set the account who call this

bd (Tue, 27 Nov 2018 17:01:50 GMT):
like this send options

bd (Tue, 27 Nov 2018 17:01:51 GMT):
https://web3js.readthedocs.io/en/1.0/web3-eth-contract.html#methods-mymethod-send

bd (Tue, 27 Nov 2018 17:02:22 GMT):
`from - String: The address the transaction should be sent from. value - ``Number|String|BN|BigNumber``(optional): The value transferred for the transaction in wei. `

bd (Tue, 27 Nov 2018 17:02:46 GMT):
or i need to create other contract instance

bd (Tue, 27 Nov 2018 17:02:46 GMT):
or i need to create other burrow create instance

bd (Tue, 27 Nov 2018 17:02:48 GMT):
?

bd (Tue, 27 Nov 2018 17:07:37 GMT):
this use case is more for testing

silasdavis (Tue, 27 Nov 2018 17:11:58 GMT):
I'm still need to add some documentation but see for context: https://github.com/monax/bosmarmot/pull/181/files#diff-ae2ee19565cedca227d9efa3dad88337R71

bd (Tue, 27 Nov 2018 17:15:59 GMT):
cool

silasdavis (Tue, 27 Nov 2018 17:18:01 GMT):
yeah so the way burrow.js is designed you can't provide options like that to change the sender

silasdavis (Tue, 27 Nov 2018 17:18:07 GMT):
though it would be pretty easy to implement

silasdavis (Tue, 27 Nov 2018 17:18:16 GMT):
I guess it saves you an object instantiation

silasdavis (Tue, 27 Nov 2018 17:18:44 GMT):
there is nothing I can see stopping you from calling `burrow.account = "

"`

silasdavis (Tue, 27 Nov 2018 17:18:56 GMT):
before you call the contact function

silasdavis (Tue, 27 Nov 2018 17:19:40 GMT):
which would have the effect of changing the input account, i.e. sender

silasdavis (Tue, 27 Nov 2018 17:20:31 GMT):
we also currently send a fixed amount of '1' which is hardcoded in the JS libs

silasdavis (Tue, 27 Nov 2018 17:20:59 GMT):
see: https://github.com/monax/bosmarmot/blob/develop/burrow.js/lib/contracts/function.js#L23

silasdavis (Tue, 27 Nov 2018 17:21:20 GMT):
now this could easily be changed, and should be really to support various use cases

silasdavis (Tue, 27 Nov 2018 17:21:33 GMT):
I suppose in our case we do have the separate send functionality

bd (Tue, 27 Nov 2018 17:24:11 GMT):
yes, send or call methods in contracts

bd (Tue, 27 Nov 2018 17:24:18 GMT):
:+1_tone1:

tranhl (Wed, 28 Nov 2018 02:13:16 GMT):
does burrow currently have a mechanism for inspecting account state/history? sort of like a block exporer, but for smart contracts

tranhl (Wed, 28 Nov 2018 02:13:16 GMT):
does burrow currently have a mechanism for inspecting account state/history? sort of like a block explorer, but for smart contracts

igor-egorov (Wed, 28 Nov 2018 15:34:07 GMT):
Has joined the channel.

igor-egorov (Wed, 28 Nov 2018 15:34:23 GMT):
Has left the channel.

JoeriExelmans (Thu, 29 Nov 2018 09:54:00 GMT):
Question: from what I can see in the source code of burrow.js and the protobuf spec, accounts are always managed by the burrow keyserver. There's no way to just generate an account keypair locally and use it to send an already signed transaction (a "raw transaction" as it is called in web3) to a burrow node. It may have something to do with the fact that, in Burrow, accounts have these additional permissions. Would it however be possible to implement it anyhow? And would it be hard?

seanyoung (Thu, 29 Nov 2018 09:59:11 GMT):
@tranhl using the grpc interface you can walk the blocks and get the entire history of the chain. Vent uses this to get all the events for the chain, see https://github.com/monax/bosmarmot/blob/develop/vent/service/consumer.go#L144

seanyoung (Thu, 29 Nov 2018 10:00:09 GMT):
@JoeriExelmans burrow needs to know at least the public key to verify the signatures; so the keyserver does need that.

JoeriExelmans (Thu, 29 Nov 2018 10:00:51 GMT):
And another question :smiley: How do you estimate the current performance of sending 'simulated calls', that is, just querying the state of the blockchain. For some business applications, it is necessary to query the blockchain state constantly. Can I send each such call to Burrow or is it better build a "cache" (using a DBMS) around it?

seanyoung (Thu, 29 Nov 2018 10:00:59 GMT):
You can sign a tx locally and send it signed

JoeriExelmans (Thu, 29 Nov 2018 10:02:13 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=HugrR5Jt2g7Ahqjwp) @seanyoung Okay, can you point me to the right place in the GRPC spec?

seanyoung (Thu, 29 Nov 2018 10:02:29 GMT):
@JoeriExelmans simulated calls should be bound mostly by CPU, and will scale well on multicore (I think). I think this should be pretty fast

seanyoung (Thu, 29 Nov 2018 10:04:45 GMT):
In order to sign you need to that work locally and make sure signatories is filled in https://github.com/hyperledger/burrow/blob/develop/protobuf/txs.proto#L25

JoeriExelmans (Thu, 29 Nov 2018 10:05:44 GMT):
Also about performance, with plain Ethereum it can be slow to query logs, because transactions must be re-executed to find them. I guess the same situation in Burrow and that's why you developed Vent?

seanyoung (Thu, 29 Nov 2018 10:06:37 GMT):
In burrow the events are stored in the blocks so there is no need for re-execution

seanyoung (Thu, 29 Nov 2018 10:07:20 GMT):
Vent was developed so that we can store the events in a database or trigger other integrations of them

JoeriExelmans (Thu, 29 Nov 2018 10:07:43 GMT):
Okay, thank you very very much !!

seanyoung (Thu, 29 Nov 2018 10:08:00 GMT):
np

mansoor (Thu, 29 Nov 2018 10:40:59 GMT):
Hi all, I'm revisiting the project after a few months and I can't seem to find the documentation for the JSON-RPC calls, has this been deprecated?

JoeriExelmans (Thu, 29 Nov 2018 10:47:32 GMT):
I believe JSON-RPC support was dropped a few releases back, see v0.20.0: https://github.com/hyperledger/burrow/releases

mansoor (Thu, 29 Nov 2018 10:50:29 GMT):
Oh, thanks @JoeriExelmans . Do you know where I can find documentation for the new RPC interface?

mansoor (Thu, 29 Nov 2018 10:57:02 GMT):
Never mind, got it :)

silasdavis (Thu, 29 Nov 2018 11:23:20 GMT):
@JoeriExelmans thanks for you interesting questions. Vent is there to get you query-side scaling and fan-out for sure, it's worth looking at if you hit bottlenecks with simulated calls or if you want to use it for other reasons. It requires a little bit of smart contract support to emit the events it expects. Of course simulated calls can run smart contract logic - so if you need that they're probably the right solution. Regarding keys - burrow.js doesn't directly support local signing but it's should not be hard to add - burrow.js relies on delegated signing on a 'local' (for a suitable definition of local - chiefly you must secure the connection to burrow 'ambiently' - VPN, local firewall, etc - since it has your keys) burrow node. There are a couple of advantages of this 1. for cloud usage it can be easier for key management, and 2. it also uses 'mempool signing' whereby burrow tries to assign a series of sequence numbers to incoming transactions sharing the same input account. This isn't always the right thing to do but it significantly increases the throughput where you want to send a large number of transactions from the same sender (input account). Rather than getting one per block you can get hundreds. You could do something like this locally but burrow maintains a locking mechanism so that you can have multiple transaction senders. The main reason this is the default is its exactly what we need and use for our cloud based validator pools (see our work here in http://github.com/agreements-network/charts and https://github.com/helm/charts/tree/master/incubator/burrow). The RPC fully supports the possibility of local signing and you can see this in our integration tests in burrow. A final note is the way we decide whether to sign using mempool is simply when we receive a transaction with no signatories. I'm fairly sure we need to tighten this up.... We definitely need to fix this: https://github.com/hyperledger/burrow/issues/899 (cc @phymbert - interesting to thing about this perhaps)

JoeriExelmans (Thu, 29 Nov 2018 12:55:12 GMT):
@silasdavis thank you very much for this detailed explanation. Indeed for cloud usage keeping the keys on the burrow node is often what you want to do anyway, and I'm well aware of the difficulty of assigning the right sequence numbers to simultaneous transactions. I think a keyserver with proper locking is a good solution, although perhaps too restricting in some rare cases.

JoeriExelmans (Thu, 29 Nov 2018 13:00:27 GMT):
The way you describe Vent sounds very much like a similar caching solution that I once developed for Ethereum. Just curious: when sending a transaction to Burrow, is there a way to 'sync', to wait/be notified when Vent's state has 'caught up' with the results of the transaction?

knagware9 (Fri, 30 Nov 2018 07:23:48 GMT):
Has joined the channel.

JoeriExelmans (Fri, 30 Nov 2018 13:17:09 GMT):
One more question: when sending 1000 simultaneous deployment transactions with the 'contracts' abstraction in burrow.js (which uses SendTxSync), the returned promise resolves almost immediately. But the node process is kept alive for a while after (I guess something in the event loop is waiting for the block to be committed... some sort of buffering mechanism?).

JoeriExelmans (Fri, 30 Nov 2018 13:17:09 GMT):
One more question: when sending 1000 simultaneous deployment transactions with the 'contracts' abstraction in burrow.js (which uses SendTxSync), the returned promise resolves almost immediately (well, 800ms). But the node process is kept alive for a while after (I guess something in the event loop is waiting for the block to be committed... some sort of buffering mechanism?).

JoeriExelmans (Fri, 30 Nov 2018 13:17:09 GMT):
One more question: when sending 100 simultaneous deployment transactions with the 'contracts' abstraction in burrow.js (which uses SendTxSync), the returned promise resolves almost immediately (well, about 80ms). But the node process is kept alive for a while after (I guess something in the event loop is waiting for the block to be committed... some sort of buffering mechanism?).

JoeriExelmans (Fri, 30 Nov 2018 13:17:09 GMT):
One more question: when sending 100 simultaneous deployment transactions with the 'contracts' abstraction in burrow.js (which uses SendTxSync), the returned promise resolves almost immediately (well, about 80ms). But the node process is kept alive for a while (about 1s) after (I guess something in the event loop is waiting for the block to be committed... some sort of buffering mechanism?).

JoeriExelmans (Fri, 30 Nov 2018 13:17:09 GMT):
(edited, my previous question was because of a mistake i made) When sending 10 simultaneous deployment transactions with the 'contracts' abstraction in burrow.js (which uses SendTxSync), the returned promise resolves almost immediately (well, about 80ms). Should it not to wait for the block to be committed?

dev-d (Fri, 30 Nov 2018 16:52:31 GMT):
Hello all, I had setuped multi node (2 nodes) local system for HL Burrow and it was working fine .. Now I m planning to setup nodes in different machines in same network .. If any one has done it then please help me wth Config file ..

dev-d (Fri, 30 Nov 2018 16:52:56 GMT):
For Multinode at same machine I had follow below config

dev-d (Fri, 30 Nov 2018 16:53:20 GMT):
Node 0 ---->

dev-d (Fri, 30 Nov 2018 16:53:29 GMT):
[Tendermint] Seeds = "" SeedMode = false PersistentPeers = "" ListenAddress = "tcp://0.0.0.0:20000" ExternalAddress = "" Moniker = "val_node_0" TendermintRoot = ".burrow_node0" AuthorizedPeers = "" CreateEmptyBlocks = true CreateEmptyBlocksInterval = 0 [Execution] CallStackMaxDepth = 0 DataStackInitialCapacity = 1024 DataStackMaxDepth = 0 [Keys] GRPCServiceEnabled = true AllowBadFilePermissions = false RemoteAddress = "" KeysDirectory = ".keys" [RPC] [RPC.Info] Enabled = true ListenAddress = "tcp://127.0.0.1:20001" [RPC.Profiler] Enabled = false ListenAddress = "tcp://127.0.0.1:6060" [RPC.GRPC] Enabled = true ListenAddress = "127.0.0.1:10997" [RPC.Metrics] Enabled = false ListenAddress = "tcp://127.0.0.1:9102" MetricsPath = "/metrics" BlockSampleSize = 100 [Logging] ExcludeTrace = false NonBlocking = false [Logging.RootSink] [Logging.RootSink.Output] OutputType = "stderr" Format = "json"

dev-d (Fri, 30 Nov 2018 16:53:35 GMT):
Node 1 ---->

dev-d (Fri, 30 Nov 2018 16:53:40 GMT):
================

dev-d (Fri, 30 Nov 2018 16:54:09 GMT):
[Tendermint] Seeds = "" SeedMode = false PersistentPeers = "xxxxxxxxxxxxxxxxxxxxxxxx@10.0.0.13:20000" ListenAddress = "tcp://0.0.0.0:30000" ExternalAddress = "" Moniker = "val_node_1" TendermintRoot = ".burrow_node1" AuthorizedPeers = "" CreateEmptyBlocks = true CreateEmptyBlocksInterval = 0 [Execution] CallStackMaxDepth = 0 DataStackInitialCapacity = 1024 DataStackMaxDepth = 0 [Keys] GRPCServiceEnabled = true AllowBadFilePermissions = false RemoteAddress = "" KeysDirectory = ".keys" [RPC] [RPC.Info] Enabled = true ListenAddress = "tcp://127.0.0.1:30001" [RPC.Profiler] Enabled = false ListenAddress = "tcp://127.0.0.1:6060" [RPC.GRPC] Enabled = true ListenAddress = "127.0.0.1:30002" [RPC.Metrics] Enabled = false ListenAddress = "tcp://127.0.0.1:9102" MetricsPath = "/metrics" BlockSampleSize = 100 [Logging] ExcludeTrace = false NonBlocking = false [Logging.RootSink] [Logging.RootSink.Output] OutputType = "stderr" Format = "json"

dev-d (Fri, 30 Nov 2018 16:54:43 GMT):
apprecaite any suggestion in change of config when running different machine or any Help link..

carlosfaria (Fri, 30 Nov 2018 17:46:26 GMT):
Hi! I was trying to understand how gas is calculated during the contract execution (https://github.com/hyperledger/burrow/blob/master/execution/evm/vm.go#L220), and I saw it only account a limited number of opcodes: https://github.com/hyperledger/burrow/blob/master/execution/evm/gas.go Should not account for all opcodes (https://ethereum.github.io/yellowpaper/paper.pdf Appendix G )?

NursultanMakhanov (Sat, 01 Dec 2018 15:26:32 GMT):
Has joined the channel.

stewartf (Sun, 02 Dec 2018 16:38:19 GMT):
Has joined the channel.

JoeriExelmans (Mon, 03 Dec 2018 10:04:46 GMT):
Hi, I've ran a "stability test" with 2 local nodes, deploying 50 contracts every 10 minutes and another 100 regular transactions every 5 minutes. Ran this setup for 64 hours and everything kept running nicely, except that memory usage kept going up (up to 1 GB), in a seemingly linear fashion. After restarting one of the burrow processes, the memory usage of the restarted process is normal again (85 MB), but I'm getting Tendermint error "Cannot add ourselves with address c2415d39937568f915668a78fd21dcc1f243b718@84.22.116.145:30000"

JoeriExelmans (Mon, 03 Dec 2018 10:06:58 GMT):

Memory usage over time while periodically deploying contracts (at the end, about 20,000 have been deployed)

Cliff.Huang (Tue, 04 Dec 2018 09:35:18 GMT):
Has joined the channel.

silasdavis (Tue, 04 Dec 2018 10:06:43 GMT):
@JoeriExelmans that looks a bit leaky to me... Would you be able to post a bug report to https://github.com/hyperledger/burrow/issues ?

silasdavis (Tue, 04 Dec 2018 10:06:48 GMT):
What version of Burrow are you using

JoeriExelmans (Tue, 04 Dec 2018 10:10:09 GMT):
that was done with the linux binary (github.com/hyperledger/burrow/releases/download/v0.23.1/burrow_0.23.1_Linux_x86_64.tar.gz), version 0.23.1+2018-11-14T18:42:35Z

JoeriExelmans (Tue, 04 Dec 2018 10:10:35 GMT):
i'll post a bug report

JoeriExelmans (Tue, 04 Dec 2018 10:11:17 GMT):
so it's not the case that burrow intentionally keeps a lot of data in RAM for performance?

JoeriExelmans (Tue, 04 Dec 2018 10:26:50 GMT):
Bug report created: https://github.com/hyperledger/burrow/issues/973

JoeriExelmans (Tue, 04 Dec 2018 10:30:59 GMT):
Btw, I'm running the same experiment again now, this time with empty blocks disabled and with PersistentPeers = "xxxxxxx@127.0.0.1:port" instead of external IP address, I'll post if there's anything interesting to report

carlosfaria (Tue, 04 Dec 2018 10:39:46 GMT):
Hi! I was trying to understand how gas is calculated during the contract execution (https://github.com/hyperledger/burrow/blob/master/execution/evm/vm.go#L220), and I saw it only account a limited number of opcodes: https://github.com/hyperledger/burrow/blob/master/execution/evm/gas.go Should not account for all opcodes (https://ethereum.github.io/yellowpaper/paper.pdf Appendix G )?

silasdavis (Tue, 04 Dec 2018 10:44:03 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=9RHi8EHAuahgJzksW) @JoeriExelmans The approach we use is a mixture of a high watermark block height on the client and pg_notify from postgres. The way it works is: - Every transaction a clients sends synchronously gets the block height the tx was included in as part of the TxExecution return - the client just stores (globally is fine but can be finer grain) the highest block height it has seen in a return from a transactions. - Vent consumes events a block at a time and each time it atomically inserts events for a block a NOTIFY is triggered for that block height (the latest block height as a payload) - If the client wants to ensure that that it is querying the database state after the effect of that transaction has come into effect it just has to LISTEN for the notify of the block height from its high watermark (or snapshot of its high watermark at the point it wants to serialise txs between chain and DB If we want to be very specific we can also query for events at specific heights - the NOTIFY still allows us to subscribe. Effectively we use block height as a sequence number - it works quite well and doesn't really require further dependencies. (Vent is here BTW: https://github.com/monax/bosmarmot/tree/develop/vent)

silasdavis (Tue, 04 Dec 2018 10:45:51 GMT):
@JoeriExelmans we do have various caches included an LRU for the merkle tree/storage but it should not be getting that high. There is an optional profiling service that you can start which makes look at these things quite nice. Not sure how experienced you are with Go, but if you could provide me with a dump of it that would be great

silasdavis (Tue, 04 Dec 2018 10:47:19 GMT):
if you change `Enabled = true` in the burrow.toml in: ``` [RPC.Profiler] Enabled = false ListenAddress = "tcp://127.0.0.1:6060" ```

silasdavis (Tue, 04 Dec 2018 10:48:06 GMT):
then if you have Go installed once the memory is ramped up a bit run

silasdavis (Tue, 04 Dec 2018 10:48:11 GMT):
`go tool pprof -top http://localhost:6060/debug/pprof/heap`

silasdavis (Tue, 04 Dec 2018 10:50:55 GMT):
it will generate a heap profile which I expect would give me a good clue what's going on

silasdavis (Tue, 04 Dec 2018 10:52:22 GMT):
@JoeriExelmans thanks, also btw we have a PR open to add burrow support to Caliper: https://github.com/hyperledger/caliper/pull/246 the hyperledger benchmarking tool

silasdavis (Tue, 04 Dec 2018 10:52:34 GMT):
it sounds like some of the testing you are doing might be useful for there

silasdavis (Tue, 04 Dec 2018 10:52:46 GMT):
I could also consider how we could work it into test nets

silasdavis (Tue, 04 Dec 2018 10:56:25 GMT):
I take it you didn't see any levelling off of memory usage?

JoeriExelmans (Tue, 04 Dec 2018 11:15:31 GMT):
It was too soon to tell if memory usage would level off. I'll try to get some useful info with the profiler and post results in the github issue.

silasdavis (Tue, 04 Dec 2018 11:16:02 GMT):
@dev-d at a glance what you have looks fine, see also our helm charts: https://github.com/agreements-network/charts https://github.com/helm/charts/tree/master/incubator/burrow

silasdavis (Tue, 04 Dec 2018 11:16:25 GMT):
1 GB seems very large - not impossible but not with those contracts

silasdavis (Tue, 04 Dec 2018 11:16:38 GMT):
once it is over a few hundred i'd be interested

silasdavis (Tue, 04 Dec 2018 11:20:16 GMT):
@carlosfaria gas in Burrow is really a means to ensure that computation halts. We do have some plans to introduce a pluggable gas schedule - but currently note though we meter gas we do not charge for it (we do not deduct gas*gasPrice from the value transferred)! So there is not much point tweaking it.

carlosfaria (Tue, 04 Dec 2018 11:46:13 GMT):
@silasdavis thank you for the input! One more question: how you describe a NativeContract? My interpretation form the src code: functions which can be called at the level of the contract?

carlosfaria (Tue, 04 Dec 2018 11:46:13 GMT):
@silasdavis thank you for the input! One more question: how you describe a NativeContract?

carlosfaria (Tue, 04 Dec 2018 11:47:18 GMT):
My interpretation form the src code: protocol functionality that can be called at the level of the contract?

JoeriExelmans (Tue, 04 Dec 2018 11:50:49 GMT):
@silasdavis Perhaps too soon to tell but now with empty blocks disabled, memory usage seems stable at about 160 MB. My day ends now, the "stability test" will keep running and I will update tomorrow if memory usage is indeed stable now. I will still try to reproduce the original problem by re-enabling empty blocks and running the profiler.

JoeriExelmans (Tue, 04 Dec 2018 11:51:20 GMT):
All findings will also be posted in the github issue of course

silasdavis (Tue, 04 Dec 2018 11:52:12 GMT):
the functionality can be anything you like really provided it is deterministic. You describe a NativeContract and its methods, implementing with a fixed signature in Go and then those contracts can be called as if they were deployed at an address determined by the hash of their name

silasdavis (Tue, 04 Dec 2018 11:52:25 GMT):
if you type `make snatives` you can see the generated solidity interface to use

silasdavis (Tue, 04 Dec 2018 11:53:19 GMT):
we have plans to develop the SNative functionality in a few ways - to provide all transaction types as snatives, and also to provide pluggability through allowing WASM contracts - this needs to be specced out though

silasdavis (Tue, 04 Dec 2018 11:53:32 GMT):
@JoeriExelmans thanks for your help

silasdavis (Tue, 04 Dec 2018 11:53:34 GMT):
if you have time

silasdavis (Tue, 04 Dec 2018 11:53:44 GMT):
hitting the `go tool pprof` now will still be of interest

silasdavis (Tue, 04 Dec 2018 11:53:59 GMT):
`go tool pprof -top http://localhost:6060/debug/pprof/heap`

styleish (Wed, 05 Dec 2018 05:01:35 GMT):
Has joined the channel.

styleish (Wed, 05 Dec 2018 05:02:08 GMT):
how to deploy contract in hyperledger burrow

bd (Wed, 05 Dec 2018 09:49:57 GMT):
@styleish you can use this way https://github.com/hyperledger/burrow/blob/develop/docs/quickstart/deploy-contracts.md or burrow.js to deploy https://github.com/monax/bosmarmot/tree/develop/burrow.js#burrowcontractsdeploy

PramodDhumal (Wed, 05 Dec 2018 12:22:15 GMT):
Has joined the channel.

JoeriExelmans (Wed, 05 Dec 2018 14:17:05 GMT):
@silasdavis I've updated the bug report. In a new experiment, again memory usage was very high but only on one of the processes. While the experiment was running, at some point new transactions no longer completed (from burrow.js perspective), probably because the experiment kept submitting (too many?) transactions in too small amount of time (also it was running on a shared machine where other people are also doing CPU intensive stuff sometimes). I did not notice this because I left the experiment running unattended. But the results could still interest you. I'm running the experiment again but this time with only half the "load" as last time.

calvin.heo (Wed, 05 Dec 2018 16:58:50 GMT):
Has joined the channel.

nflaig (Wed, 05 Dec 2018 18:44:04 GMT):
Has joined the channel.

DiegoLeal (Wed, 05 Dec 2018 19:35:49 GMT):
Has joined the channel.

compleatang (Wed, 05 Dec 2018 20:04:08 GMT):
Definitely interesting to us! Thanks for running these!

DiegoLeal (Wed, 05 Dec 2018 21:49:10 GMT):
Hello everyone, I'm trying to run through the burrow quick start tutorials and I can't seem to get the seed-nodes example to work. I've run through the example a couple of times now and my seeder node wont advance from block one. Looking into the consensus tab it seems that all the validator nodes are there but the prevotes and precommits show up as 'nil-Vote'. Since I'm pretty new to burrow I'm not even sure what logs would be useful for debugging this issue so please let me know if I can help by providing any other information.

compleatang (Thu, 06 Dec 2018 10:43:21 GMT):
@DiegoLeal can you illuminate a bit more about your setup in terms of number of nodes, etc.? Also please see the `/net-info` endpoint on each of your nodes to ensure they are able to connect to one another over the p2p layer.

carlosfaria (Thu, 06 Dec 2018 12:04:15 GMT):
@silasdavis thanks, understood! The SNative only functionality is to manage account permissions, right? Or do you think its possible to use SNative's to do more than that? For instance, we have a use case, where we want the smart contract paying for the gas of a given "pending" transaction, not an account.

DiegoLeal (Thu, 06 Dec 2018 15:31:57 GMT):
@compleatang The setup is with one seed node and three validator nodes trying to connect to it. The network says the nodes are not connected to each other. Reading through the logs all three validator nodes trying to connect have similar log files saying, "component":"Tendermint", "err":"EOF","log_channel":"Info","message":"Blockpool has no peers"

compleatang (Thu, 06 Dec 2018 17:16:43 GMT):
Diego, that'll explain why it isn't making blocks. You need to point the burrow.toml on the connecting nodes to the IP and port of the first.

DiegoLeal (Thu, 06 Dec 2018 17:53:56 GMT):
Yeah I did that and it didn't seem to work

DiegoLeal (Thu, 06 Dec 2018 17:54:33 GMT):
Although I turned seedmode to false and ran through the tutorial again and now its working strangely

HaiTranThanh (Fri, 07 Dec 2018 15:08:35 GMT):
Has joined the channel.

HaiTranThanh (Fri, 07 Dec 2018 15:17:26 GMT):
Hi everyone, I'm a beginner in Burrow. I'm trying to deploy first single full node, follow by https://github.com/hyperledger/burrow/blob/develop/docs/quickstart/single-full-node.md I have successed in creating burrow.toml as below: [GenesisDoc] GenesisTime = 2018-12-07T14:48:50Z ChainName = "BurrowChain_FAB3C1" [GenesisDoc.Params] ProposalThreshold = 3 [GenesisDoc.GlobalPermissions] [GenesisDoc.GlobalPermissions.Base] Perms = "send | call | createContract | createAccount | bond | name | proposal | input | batch | hasBase | hasRole" SetBit = "root | send | call | createContract | createAccount | bond | name | proposal | input | batch | hasBase | setBase | unsetBase | setGlobal | hasRole | addRole | removeRole" [[GenesisDoc.Accounts]] Address = "F09DA6F2120E9992A379EDB7E5BBE8D00E491E14" PublicKey = "{\"CurveType\":\"ed25519\",\"PublicKey\":\"6D056B52289E87ECD5A2DE12EE48A174BB8F54DADEFDAB7C3EEF5820977519C7\"}" Amount = 99999999999999 Name = "Full_0" [GenesisDoc.Accounts.Permissions] [GenesisDoc.Accounts.Permissions.Base] Perms = "root | send | call | createContract | createAccount | bond | name | proposal | input | batch | hasBase | setBase | unsetBase | setGlobal | hasRole | addRole | removeRole" SetBit = "root | send | call | createContract | createAccount | bond | name | proposal | input | batch | hasBase | setBase | unsetBase | setGlobal | hasRole | addRole | removeRole" [[GenesisDoc.Accounts]] Address = "1232559BF849E07DF7E3F21F1C17C9AF1C78FF32" PublicKey = "{\"CurveType\":\"ed25519\",\"PublicKey\":\"CE125CB465697647773310EADE086990751D209FAE57F7EAC8EE28944887307D\"}" Amount = 9999999999 Name = "Participant_0" [GenesisDoc.Accounts.Permissions] [GenesisDoc.Accounts.Permissions.Base] Perms = "send | call | name | proposal | input | hasRole" SetBit = "send | call | name | proposal | input | hasRole" [[GenesisDoc.Validators]] Address = "F09DA6F2120E9992A379EDB7E5BBE8D00E491E14" PublicKey = "{\"CurveType\":\"ed25519\",\"PublicKey\":\"6D056B52289E87ECD5A2DE12EE48A174BB8F54DADEFDAB7C3EEF5820977519C7\"}" Amount = 9999999999 Name = "Full_0" [[GenesisDoc.Validators.UnbondTo]] Address = "F09DA6F2120E9992A379EDB7E5BBE8D00E491E14" PublicKey = "{\"CurveType\":\"ed25519\",\"PublicKey\":\"6D056B52289E87ECD5A2DE12EE48A174BB8F54DADEFDAB7C3EEF5820977519C7\"}" Amount = 9999999999 [Tendermint] Seeds = "" SeedMode = false PersistentPeers = "" ListenAddress = "tcp://0.0.0.0:26656" ExternalAddress = "" Moniker = "" TendermintRoot = ".burrow" AuthorizedPeers = "" CreateEmptyBlocks = true CreateEmptyBlocksInterval = 0 [Execution] CallStackMaxDepth = 0 DataStackInitialCapacity = 1024 DataStackMaxDepth = 0 [Keys] GRPCServiceEnabled = true AllowBadFilePermissions = false RemoteAddress = "" KeysDirectory = ".keys" [RPC] [RPC.Info] Enabled = true ListenAddress = "tcp://127.0.0.1:26658" [RPC.Profiler] Enabled = false ListenAddress = "tcp://127.0.0.1:6060" [RPC.GRPC] Enabled = true ListenAddress = "127.0.0.1:10997" [RPC.Metrics] Enabled = false ListenAddress = "tcp://127.0.0.1:9102" MetricsPath = "/metrics" BlockSampleSize = 100 [Logging] ExcludeTrace = false NonBlocking = false [Logging.RootSink] [Logging.RootSink.Output] OutputType = "stderr" Format = "json" And when I use next command: ./burrow start --validator-index=0 I have this error:

HaiTranThanh (Fri, 07 Dec 2018 15:18:18 GMT):
Sourcing config from first of: Config file at 'burrow.toml' then defaults Sourcing config from Config file at 'burrow.toml' Using validator address: F09DA6F2120E9992A379EDB7E5BBE8D00E491E14 panic: Error initializing DB: resource temporarily unavailable [recovered] panic: Error initializing DB: resource temporarily unavailable Can someone help me? Many thanks

efn (Fri, 07 Dec 2018 17:02:23 GMT):
Has joined the channel.

efn (Fri, 07 Dec 2018 17:02:27 GMT):
Hi, I'm trying to run some experiments in hyperledger burrow, I need to execute smart contracts calls, is there an API to do that or should I use def.Client API?

efn (Fri, 07 Dec 2018 17:02:27 GMT):
Hi, I'm trying to run some experiments in hyperledger burrow, I need to execute smart contracts calls, is there a go API to do that or should I use def.Client API?

mikd (Fri, 07 Dec 2018 21:45:38 GMT):
Has joined the channel.

compleatang (Sat, 08 Dec 2018 23:00:28 GMT):
@efn you can use burrow deploy's library or def.client if you like. you're call.

compleatang (Sat, 08 Dec 2018 23:01:32 GMT):
@HaiTranThanh that looks like either an old .burrow folder from a previous deployment or incorrect file permissions on your system. make sure to check that the user you're running `burrow start` from has permissions to create a `.burrow` folder in the `pwd`.

efn (Sun, 09 Dec 2018 20:34:14 GMT):
where is the library @compleatang

efn (Sun, 09 Dec 2018 20:34:14 GMT):
where is the library @compleatang ?

compleatang (Sun, 09 Dec 2018 21:03:56 GMT):
https://github.com/hyperledger/burrow/tree/develop/deploy

mansoor (Sun, 09 Dec 2018 23:27:28 GMT):
Hi all, are there any docs or examples on how to use the gRPC API? I'm trying to transition old code that used the JSON-RPC API and I can't seem to find any reference material for the new API

efn (Mon, 10 Dec 2018 08:09:09 GMT):
@compleatang def is inside "compile", so is that the only way to use burrow? basically use the functions in `def.client`. Why is it calling `dial()` every time, that seems very inefficient

efn (Mon, 10 Dec 2018 08:09:09 GMT):
@compleatang def is inside deploy library, so is that the only way to use burrow? basically use the functions in `def.client`. Why is it calling `dial()` every time, that seems very inefficient

sly514 (Mon, 10 Dec 2018 15:17:11 GMT):
Has joined the channel.

sly514 (Mon, 10 Dec 2018 15:19:17 GMT):
Hi, could anyone please explain to me where the 256 comes from in the type *Word256* if this type consists of 32 bytes? thx

sly514 (Mon, 10 Dec 2018 15:19:17 GMT):
Hi, I had a stupid question sorry

knkski (Mon, 10 Dec 2018 15:30:29 GMT):
@sly514: 32 bytes * 8 bits per byte = 256 bits

bd (Mon, 10 Dec 2018 15:42:10 GMT):
hi folks, it's possible estimateGas in burrow?

efn (Mon, 10 Dec 2018 16:03:55 GMT):
@bd from looking at the code I think everything costs 0 or 1 gas

bd (Mon, 10 Dec 2018 16:31:58 GMT):
yes but i want to change this "table" of costs and calculate the cost before any transaction that's payed.

bd (Mon, 10 Dec 2018 16:36:51 GMT):
the question is, if not exist any method of estimate gas cost, and it's possible to implement, where i need to look on the code to make this?

efn (Mon, 10 Dec 2018 16:53:24 GMT):
@bd look in execution/evm/gas.go

efn (Mon, 10 Dec 2018 16:55:37 GMT):
Is the storage of a smart contract in Burrow put in a merkle tree of some sort?

efn (Mon, 10 Dec 2018 16:55:37 GMT):
Is the storage of a smart contract in Burrow put in a merkle tree of some sort? If not, is not possible then to prove the state of a variable in a contract?!

efn (Mon, 10 Dec 2018 16:55:37 GMT):
Is the storage of a smart contract in Burrow put in a merkle tree of some sort? If not, is not possible then to prove the state of a variable in a contract using only a block's header?!

efn (Mon, 10 Dec 2018 16:55:37 GMT):
Is the storage of a smart contract in Burrow put in a merkle tree of some sort? If not, is not possible then to prove the state of a variable in a contract using only a block's header and a merkle path?!

bd (Mon, 10 Dec 2018 16:57:29 GMT):
@efn thx

compleatang (Mon, 10 Dec 2018 23:24:34 GMT):
@efn there are more or less three ways to use burrow. 1. from another go program use the abstractions built into the deploy library. 2. use the GRPC and protobuf files to create a client library in any language. 3. use burrow.js from a node program. As to the `dial()` @seanyoung can help clear up the thinking there.

compleatang (Mon, 10 Dec 2018 23:25:30 GMT):
@mansoor the docs for the RPC are here -> https://godoc.org/github.com/hyperledger/burrow/rpc

efn (Tue, 11 Dec 2018 08:21:46 GMT):
Thank you @compleatang, I need proving the state by just looking at block headers, I think Burrow cannot do that, right?! :|

efn (Tue, 11 Dec 2018 08:21:46 GMT):
Thank you @compleatang

bd (Tue, 11 Dec 2018 10:49:59 GMT):
hi, it's possible on the final of each transaction call one method of snative passing some values of transaction like gas used and this snative call the service name to get address of other contract to change his state ?

bd (Tue, 11 Dec 2018 10:54:55 GMT):
in other words i want one way to send gas used and the address of tx.origin / caller to store this values in other "normal Smart contract"

bd (Tue, 11 Dec 2018 10:56:03 GMT):
on each of payed transaction

Nammalvar (Tue, 11 Dec 2018 12:09:20 GMT):
Has joined the channel.

bd (Wed, 12 Dec 2018 10:33:02 GMT):
Hi @silasdavis, sorry for disturb it's possible one snative call name register to get one Address using Name register? if yes how i can import the right files and call respective method on `snatives.go` ?

bd (Wed, 12 Dec 2018 18:42:46 GMT):
docker

efn (Thu, 13 Dec 2018 08:08:52 GMT):
Hi, Is it possible to get the root hash of a specific account? I see the keys in the storage are composed of (account address, key) => value. So an application does not really have a state trie?!

efn (Thu, 13 Dec 2018 08:08:52 GMT):
Hi, Is it possible to get the root hash of a specific account? I see the keys in the storage are composed of (account address, key) => value. So an account does not really have a state trie?!

sairak (Thu, 13 Dec 2018 09:22:17 GMT):
Has joined the channel.

sairak (Thu, 13 Dec 2018 09:22:23 GMT):
hi

bd (Thu, 13 Dec 2018 16:54:11 GMT):
hi, in burrow.js when i put this.burrow.query.GetAccount('FEBD7F4059107B2C6C22087C5D8A5E54F92A9CFA'); i get this error:

bd (Thu, 13 Dec 2018 16:54:22 GMT):
`Error: 13 INTERNAL: grpc: error unmarshalling request: error unmarshallling address '144043EC5E34E7DD74EC1D82E82DB6D3CEC2E43F00E44E7817DD80F42140' from bytes: 30 bytes but should have 20 bytes at Object.exports.createStatusError (node_modules/grpc/src/common.js:87:15) at Object.onReceiveStatus (node_modules/grpc/src/client_interceptors.js:1188:28) at InterceptingListener._callNext (node_modules/grpc/src/client_interceptors.js:564:42) at InterceptingListener.onReceiveStatus (node_modules/grpc/src/client_interceptors.js:614:8) at callback (node_modules/grpc/src/client_interceptors.js:841:24)`

bd (Thu, 13 Dec 2018 16:54:45 GMT):
what is wrong where ?

bd (Thu, 13 Dec 2018 16:54:45 GMT):
what is wrong here ?

bd (Thu, 13 Dec 2018 17:12:41 GMT):
i already found the error thx

bd (Thu, 13 Dec 2018 17:12:48 GMT):
Buffer.from('0xFEBD7F4059107B2C6C22087C5D8A5E54F92A9CFA', 'hex')

Abhinavgrg074 (Fri, 14 Dec 2018 06:13:02 GMT):
Has joined the channel.

JoeriExelmans (Fri, 14 Dec 2018 12:51:08 GMT):
Hello again, another question: Is there a way to perform a simulated call against a past (= not the current) EVM state?

bd (Fri, 14 Dec 2018 13:04:57 GMT):
so in python web3 its possible and ethereum, token_contract.functions.myBalance().call(block_identifier=-2) you need to pass the block but in burrow.js this is not implemented i think, i still exploring this burrow.js :D

bd (Fri, 14 Dec 2018 13:07:51 GMT):
and in web3.js is not implemented as well https://web3js.readthedocs.io/en/1.0/web3-eth-contract.html#methods-mymethod-call

silasdavis (Fri, 14 Dec 2018 13:59:51 GMT):
--- Burrow workshop ----

guoger (Fri, 14 Dec 2018 13:59:53 GMT):
we need command!

emiliomarin (Fri, 14 Dec 2018 13:59:54 GMT):
Has joined the channel.

silasdavis (Fri, 14 Dec 2018 14:00:23 GMT):
For this you will need the lovely jq....

silasdavis (Fri, 14 Dec 2018 14:00:27 GMT):
`curl localhost:26658/network | jq '.result.peers[] | .node_info'`

silasdavis (Fri, 14 Dec 2018 14:00:29 GMT):
once we are up...

silasdavis (Fri, 14 Dec 2018 14:00:36 GMT):
this will let us take a look at connected peers

silasdavis (Fri, 14 Dec 2018 14:07:54 GMT):
@phymbert

silasdavis (Fri, 14 Dec 2018 14:08:04 GMT):
``` PersistentPeers = "tcp://08ab85cd06742e9bc3004323f9b99072617b4ee5@000.peers.workshop.agreements.network:26656,tcp://642dacac7c93913625f262d6a168125c2fb26f4b@001.peers.workshop.agreements.network:26656,tcp://0475556b0330d0184c7263a7416113b1e33a2294@002.peers.workshop.agreements.network:26656,tcp://b969867ab7e39845c2e2f1d9e6ab2b3623dd234b@003.peers.workshop.agreements.network:26656,tcp://6276E8791D8D5BCF9014653DC243917AC8E99198@10.63.96.225:26656" ```

swetha (Fri, 14 Dec 2018 14:09:15 GMT):
Has joined the channel.

phymbert (Fri, 14 Dec 2018 14:13:45 GMT):
@silasdavis You can disable this check by modified default tendermint/config.go:46 ```go conf.P2P.AddrBookStrict = false ```

silasdavis (Fri, 14 Dec 2018 14:21:48 GMT):
yeah we should add that

silasdavis (Fri, 14 Dec 2018 14:21:51 GMT):
Grab solc! https://github.com/ethereum/solidity/releases/tag/v0.4.25

gskerry (Fri, 14 Dec 2018 14:22:13 GMT):
Has joined the channel.

silasdavis (Fri, 14 Dec 2018 14:22:43 GMT):
solc-static-linux easiest on linux

silasdavis (Fri, 14 Dec 2018 14:24:08 GMT):
mac: brew update brew upgrade brew tap ethereum/ethereum brew install solidity brew linkapps solidity

silasdavis (Fri, 14 Dec 2018 14:28:27 GMT):
https://github.com/hyperledger/burrow/blob/develop/tests/jobs_fixtures/app05-deploy_query_contracts_and_testing_rendering_solc_int_type/deploy.yaml

bd (Fri, 14 Dec 2018 14:30:27 GMT):
hi i'm working on one solution like truffle for burrow.js and i get some issues like ` const accountToCheck = '0x0694A27F6B8B92902CBCEA272946E57FF8A2CF7D'; const initialBalance = await this.burrow.query.GetAccount(Buffer.from(accountToCheck, 'hex')); console.log('​\n\n\n initialBalance', initialBalance); ` so for get the account balance i put this and the result is ` initialBalance { Address: , PublicKey: { CurveType: 0, PublicKey: }, Sequence: '0', Balance: '1337', Code: , Permissions: { Base: { Perms: '16862', SetBit: '131071' }, Roles: [] } } ` the account balance using burrow deploy getBalance.yaml is 10 beacause i send 10 to this 0x0694A27F6B8B92902CBCEA272946E57FF8A2CF7D account why Balance is 1337 ? https://github.com/hyperledger/burrow/blob/develop/execution/state.go#L155 anyone can help on this please ?

silasdavis (Fri, 14 Dec 2018 14:31:40 GMT):
`burrow deploy --mempool-signing --address BE601DEE6E3AFD05BBB976CC98B9E7ACFD9C3DB8`

silasdavis (Fri, 14 Dec 2018 14:31:47 GMT):
Workshop ^^^ deploy cmd

silasdavis (Fri, 14 Dec 2018 14:32:55 GMT):
@bd you have actually pulled the global permission address, which rather unfortunately is also the zero address

silasdavis (Fri, 14 Dec 2018 14:33:03 GMT):
The reason I believe is that

silasdavis (Fri, 14 Dec 2018 14:33:11 GMT):
`const accountToCheck = '0x0694A27F6B8B92902CBCEA272946E57FF8A2CF7D';`

silasdavis (Fri, 14 Dec 2018 14:33:13 GMT):
should be

silasdavis (Fri, 14 Dec 2018 14:33:17 GMT):
`const accountToCheck = '0694A27F6B8B92902CBCEA272946E57FF8A2CF7D';`

silasdavis (Fri, 14 Dec 2018 14:33:21 GMT):
no 0x

silasdavis (Fri, 14 Dec 2018 14:33:37 GMT):
I guess buffer.from does not handle that

bd (Fri, 14 Dec 2018 14:33:42 GMT):
but how i can set this in burrow.js ?

silasdavis (Fri, 14 Dec 2018 14:33:52 GMT):
though I would expect this to err...

silasdavis (Fri, 14 Dec 2018 14:34:05 GMT):
address :+

silasdavis (Fri, 14 Dec 2018 14:34:05 GMT):
your address :=

bd (Fri, 14 Dec 2018 14:34:42 GMT):
hum...

bd (Fri, 14 Dec 2018 14:35:48 GMT):
if i put ` const initialBalance = await this.burrow.query.GetAccount(accountToCheck); console.log('​\n\n\n initialBalance', initialBalance); `

bd (Fri, 14 Dec 2018 14:35:58 GMT):
and const accountToCheck = '0694A27F6B8B92902CBCEA272946E57FF8A2CF7D';

bd (Fri, 14 Dec 2018 14:36:09 GMT):
a get this

bd (Fri, 14 Dec 2018 14:36:11 GMT):
` 0 passing (16ms) 1 failing 1) Contract: Snative Testing get Snative gas value: : Error: 13 INTERNAL: grpc: error unmarshalling request: error unmarshallling address 'D3AF78036EC5E81F01F76F74D82042100DBBDBDE3A139EC517C036085EC3' from bytes: 30 bytes but should have 20 bytes at Object.exports.createStatusError (node_modules/grpc/src/common.js:87:15) at Object.onReceiveStatus (node_modules/grpc/src/client_interceptors.js:1188:28) at InterceptingListener._callNext (node_modules/grpc/src/client_interceptors.js:564:42) at InterceptingListener.onReceiveStatus (node_modules/grpc/src/client_interceptors.js:614:8) at callback (node_modules/grpc/src/client_interceptors.js:841:24) `

silasdavis (Fri, 14 Dec 2018 14:36:50 GMT):
the error there is your friend: `30 bytes but should have 20 bytes`

silasdavis (Fri, 14 Dec 2018 14:37:02 GMT):
issue in your js somewhere

silasdavis (Fri, 14 Dec 2018 14:38:36 GMT):
`burrow deploy --mempool-signing --address BE601DEE6E3AFD05BBB976CC98B9E7ACFD9C3DB8`

silasdavis (Fri, 14 Dec 2018 14:38:36 GMT):
Workshop:: `burrow deploy --mempool-signing --address BE601DEE6E3AFD05BBB976CC98B9E7ACFD9C3DB8`

Dan (Fri, 14 Dec 2018 14:45:17 GMT):
https://www.slideshare.net/RachDavidson/burrow-in-basel

silasdavis (Fri, 14 Dec 2018 16:24:00 GMT):
``` { "Height": 5312, "Tx": { "Signatories": [ { "Address": "BE601DEE6E3AFD05BBB976CC98B9E7ACFD9C3DB8", "PublicKey": { "CurveType": "ed25519", "PublicKey": "67A644D165140CA74F2791DDF7163A136F4D12FBCD46E8EFBF2CE21C91A15E5E" }, "Signature": { "CurveType": 1, "Signature": "h1y2LwaQlc7WnMtqctJOunlYRujhsqlFNtitVKlYmxdUClhAlr0XW0Bdole7jMM/cT/eCZ99EoV/E3MvjOpIBQ==" } } ], "Tx": { "ChainID": "workshop.agreements.network-086AEE", "Type": "CallTx", "Payload": { "Input": { "Address": "BE601DEE6E3AFD05BBB976CC98B9E7ACFD9C3DB8", "Amount": 9999, "Sequence": 1 }, "GasLimit": 1111111111, "Fee": 9999, "Data": "608060405234801561001057600080FD5B5061011E806100206000396000F3FE608060405260043610604D576000357C0100000000000000000000000000000000000000000000000000000000900480632A1AFCD914605257806360FE47B114607A5780636D4CE63C1460B1575B600080FD5B348015605D57600080FD5B50606460D9565B6040518082815260200191505060405180910390F35B348015608557600080FD5B5060AF60048036036020811015609A57600080FD5B810190808035906020019092919050505060DF565B005B34801560BC57600080FD5B5060C360E9565B6040518082815260200191505060405180910390F35B60005481565B8060008190555050565B6000805490509056FEA165627A7A723058205A2EE61DC231D5ED54C6D012C1DB0C0B3E4EC719D65061509C4D2E2EF40568730029" } } } } { "Height": 5313, "Tx": { "Signatories": [ { "Address": "BE601DEE6E3AFD05BBB976CC98B9E7ACFD9C3DB8", "PublicKey": { "CurveType": "ed25519", "PublicKey": "67A644D165140CA74F2791DDF7163A136F4D12FBCD46E8EFBF2CE21C91A15E5E" }, "Signature": { "CurveType": 1, "Signature": "sJhLVvfC5jaSdpo8WjT17PseoFqb/ZE4/gelE6pWfepQUuxWSO0tGYb73Cn9zuY3Eac+O08PSJjsBRdSUDIiCA==" } } ], "Tx": { "ChainID": "workshop.agreements.network-086AEE", "Type": "CallTx", "Payload": { "Input": { "Address": "BE601DEE6E3AFD05BBB976CC98B9E7ACFD9C3DB8", "Amount": 9999, "Sequence": 3 }, "Address": "2D1482398A3D83E2FFA7F3D42504EBA861E8D3B2", "GasLimit": 1111111111, "Fee": 9999, "Data": "60FE47B10000000000000000000000000000000000000000000000000000000000000005" } } } } ```

silasdavis (Fri, 14 Dec 2018 16:24:13 GMT):
`burrow dump txs 5312:5313 | jq '.'`

bd (Fri, 14 Dec 2018 16:30:19 GMT):
with snatives its possible "mint valid accounts " ?

bd (Fri, 14 Dec 2018 16:30:38 GMT):
i made one snative and added this line

bd (Fri, 14 Dec 2018 16:30:41 GMT):
> state.AddToBalance(args.Account, args.Amount)

bd (Fri, 14 Dec 2018 16:30:59 GMT):
when i get the balance on next line

bd (Fri, 14 Dec 2018 16:31:05 GMT):
> balanceAcc := state.GetBalance(args.Account)

bd (Fri, 14 Dec 2018 16:31:16 GMT):
the return value is correct

bd (Fri, 14 Dec 2018 16:32:05 GMT):
but the real balance not changed! when i make the GetAccount with burrow

bd (Fri, 14 Dec 2018 16:33:12 GMT):
what its possible to do with Snatives?

silasdavis (Fri, 14 Dec 2018 16:39:25 GMT):
`burrow dump blocks 5111:5113 | jq '.header.lastblock_id'`

silasdavis (Fri, 14 Dec 2018 16:39:25 GMT):
`burrow dump blocks 5111:5113 | jq '.header.last_block_id'`

bd (Fri, 14 Dec 2018 16:44:28 GMT):
@dennismckinnon maybe you can help with this in burrow.js how i can call burrow.query.GetAccount ?

bd (Fri, 14 Dec 2018 16:46:07 GMT):
any examples ?

compleatang (Fri, 14 Dec 2018 17:26:14 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=pdXQJcoscvu6pn6bW) @JoeriExelmans It is possible but we don't have any tooling that makes it easy. If you could dump an issue with what you'd like then we can take a look at making it straight forward for users.

compleatang (Fri, 14 Dec 2018 17:28:03 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=JujBTjJC5ikPDLgnn) @efn That's corect. The whole state exists within the larger state trie. You can get the information for a specific account from the info rpc (see godocs link via repo readme) or from the grpc port as well..

compleatang (Fri, 14 Dec 2018 17:29:36 GMT):
@bd just for context we're a bit overloaded right now cause its Hyperledger Global Summit in Basel. I'll ask @dennismckinnon to help as soon as he can.

dennismckinnon (Fri, 14 Dec 2018 17:37:22 GMT):
@bd hi

dennismckinnon (Fri, 14 Dec 2018 17:37:31 GMT):
I don't have any examples

dennismckinnon (Fri, 14 Dec 2018 17:37:42 GMT):
but it shouldn't be hard

dennismckinnon (Fri, 14 Dec 2018 17:38:08 GMT):
that function calls the grpc endpoint with this object https://github.com/monax/bosmarmot/blob/develop/burrow.js/protobuf/rpcquery.proto#L25-L27

bd (Fri, 14 Dec 2018 17:39:00 GMT):
what is the param for the address? `this.burrow.query.GetAccount('0694A27F6B8B92902CBCEA272946E57FF8A2CF7D', (e, a) => { console.log("​e,a", e, a) }); `

bd (Fri, 14 Dec 2018 17:39:09 GMT):
can't be string right?

dennismckinnon (Fri, 14 Dec 2018 17:39:12 GMT):
so it should be sufficient to pass burrow.query.GetAccount an object of the form {Address: Buffer of address} and a callback

dennismckinnon (Fri, 14 Dec 2018 17:39:28 GMT):
though the callback is optional, it will return a promise if you don't pass it

dennismckinnon (Fri, 14 Dec 2018 17:40:50 GMT):
{Address: [BufferOfAddress]}

dennismckinnon (Fri, 14 Dec 2018 17:41:21 GMT):
thats the formula for talking to the grpc methods, always pass an object with the named fields according to the spec and a callback

bd (Fri, 14 Dec 2018 17:42:01 GMT):
hum ok

bd (Fri, 14 Dec 2018 17:42:10 GMT):
`{ Address: Buffer.from('0694A27F6B8B92902CBCEA272946E57FF8A2CF7D') }`

dennismckinnon (Fri, 14 Dec 2018 17:42:17 GMT):
exactly

bd (Fri, 14 Dec 2018 17:42:40 GMT):
i have this error

bd (Fri, 14 Dec 2018 17:42:43 GMT):
`e,a { Error: 13 INTERNAL: grpc: error unmarshalling request: error unmarshallling address '307830363934413237463642384239323930324342434541323732393436453537464638413243463744' from bytes: 42 bytes but should have 20 bytes at Object.exports.createStatusError`

dennismckinnon (Fri, 14 Dec 2018 17:43:03 GMT):
oops

bd (Fri, 14 Dec 2018 17:43:08 GMT):
a don't know why my address is translated to 307830363934413237463642384239323930324342434541323732393436453537464638413243463744

dennismckinnon (Fri, 14 Dec 2018 17:43:22 GMT):
you need Buffer.from('address', 'hex')

dennismckinnon (Fri, 14 Dec 2018 17:43:39 GMT):
buffer.from needs to know its hex encoded or it tries to do ascii encoding

bd (Fri, 14 Dec 2018 17:44:07 GMT):
finally :D

bd (Fri, 14 Dec 2018 17:44:09 GMT):
thx

dennismckinnon (Fri, 14 Dec 2018 17:44:12 GMT):
no problem

bd (Fri, 14 Dec 2018 17:44:23 GMT):
you know about snatives ?

dennismckinnon (Fri, 14 Dec 2018 17:44:38 GMT):
in what sense?

bd (Fri, 14 Dec 2018 17:44:49 GMT):
i try to make one snative for mint native accounts

bd (Fri, 14 Dec 2018 17:44:52 GMT):
like this

dennismckinnon (Fri, 14 Dec 2018 17:45:31 GMT):
Ahh yes i see you mentioning it above

bd (Fri, 14 Dec 2018 17:45:37 GMT):
yes

bd (Fri, 14 Dec 2018 17:45:50 GMT):
` state.AddToBalance(args.Account, args.Amount) balanceAcc := state.GetBalance(args.Account)`

bd (Fri, 14 Dec 2018 17:46:02 GMT):
i get the correct added balance

bd (Fri, 14 Dec 2018 17:46:12 GMT):
but not saved in the blockchain

dennismckinnon (Fri, 14 Dec 2018 17:46:23 GMT):
hmmm sounds like a burrow-side issue

dennismckinnon (Fri, 14 Dec 2018 17:46:38 GMT):
silas would be most knowledgable about that

bd (Fri, 14 Dec 2018 17:46:47 GMT):
hum ok

bd (Fri, 14 Dec 2018 17:47:26 GMT):
its possible one snative call other contract ?

dennismckinnon (Fri, 14 Dec 2018 17:47:42 GMT):
i'm scrolling higher to see if i can be any more help

dennismckinnon (Fri, 14 Dec 2018 17:51:21 GMT):
you are talking about in the smart contracts correct?

bd (Fri, 14 Dec 2018 17:51:31 GMT):
yes

dennismckinnon (Fri, 14 Dec 2018 17:51:40 GMT):
It might be a permissioning thing of the contract itself

dennismckinnon (Fri, 14 Dec 2018 17:52:00 GMT):
bacuase you are trying to modify the balances of accounts

bd (Fri, 14 Dec 2018 17:53:06 GMT):
yes like my idea is One contract using one Snative contract mint real accounts of burrow

dennismckinnon (Fri, 14 Dec 2018 17:53:44 GMT):
oh so you have a contract calling an snative?

bd (Fri, 14 Dec 2018 17:54:44 GMT):
and other question is i can now comunicate with this direction "normal Smart contract " to - > Snative, and it's possible one Snative call other normal Smart contract via go ? to get like two directions of comunication

bd (Fri, 14 Dec 2018 17:54:51 GMT):
yes

bd (Fri, 14 Dec 2018 17:55:01 GMT):
i have one Smart contract

bd (Fri, 14 Dec 2018 17:55:11 GMT):
calling one Snative method

bd (Fri, 14 Dec 2018 17:55:15 GMT):
like this

bd (Fri, 14 Dec 2018 17:55:30 GMT):
`func mint(state Interface, caller crypto.Address, gas *uint64, logger *logging.Logger, a interface{}) (interface{}, error) { args := a.(*payGasArgs) accountX := args.Account fmt.Printf("||||||||||||||||||||||||||||||||||||||||||||| %s \n\n\n\n\n\n\n\n\n\n\n\n", accountX) state.AddToBalance(args.Account, args.Amount) balanceAcc := state.GetBalance(args.Account) // state.writeState.commit() return payGasRets{Result: balanceAcc}, nil } `

bd (Fri, 14 Dec 2018 17:55:40 GMT):
this is Snative

bd (Fri, 14 Dec 2018 17:56:02 GMT):
and one deploy by burrow.js

bd (Fri, 14 Dec 2018 17:56:48 GMT):
my intention is get one way to have like a ERC20 mintable, to native coin burrow

dennismckinnon (Fri, 14 Dec 2018 17:57:16 GMT):
Oh

dennismckinnon (Fri, 14 Dec 2018 17:57:26 GMT):
you are making a new snative from go

dennismckinnon (Fri, 14 Dec 2018 17:57:36 GMT):
not deploying a contract that calls an snative

dennismckinnon (Fri, 14 Dec 2018 17:57:42 GMT):
i see

dennismckinnon (Fri, 14 Dec 2018 17:57:56 GMT):
Ok this is definitely out of my wheelhouse

bd (Fri, 14 Dec 2018 17:58:35 GMT):
:D

bd (Fri, 14 Dec 2018 17:58:38 GMT):
ok

dennismckinnon (Fri, 14 Dec 2018 17:58:50 GMT):
@silasdavis will be the person to weigh in on making new snatives. I do wonder however if you might be better served by simply sending the money to an account

dennismckinnon (Fri, 14 Dec 2018 17:59:04 GMT):
He is busy right now though so

bd (Fri, 14 Dec 2018 17:59:10 GMT):
ok

dennismckinnon (Fri, 14 Dec 2018 17:59:14 GMT):
you might have to wait a bit for a response

bd (Fri, 14 Dec 2018 18:01:27 GMT):
ok, i have some questions for Snatives :D what is really the features

dennismckinnon (Fri, 14 Dec 2018 18:03:19 GMT):
SNatives are supposed to be administrative access-like tasks

dennismckinnon (Fri, 14 Dec 2018 18:04:09 GMT):
so most if not all have special permission requirements for accessing them

bd (Fri, 14 Dec 2018 18:04:28 GMT):
hum ok

dennismckinnon (Fri, 14 Dec 2018 18:05:14 GMT):
we generally don't write a new one unless there is deficiency of functionality

bd (Fri, 14 Dec 2018 18:05:38 GMT):
thanks for the help @dennismckinnon

dennismckinnon (Fri, 14 Dec 2018 18:05:42 GMT):
np

compleatang (Fri, 14 Dec 2018 22:43:49 GMT):
@bd probably better to use burrows native token and govTx for that.

silasdavis (Sat, 15 Dec 2018 13:22:58 GMT):
---Workshop Begins---

silasdavis (Sat, 15 Dec 2018 13:25:22 GMT):
https://solidity.readthedocs.io/en/v0.4.25/installing-solidity.html

silasdavis (Sat, 15 Dec 2018 13:26:00 GMT):
grab this release: https://github.com/ethereum/solidity/releases/tag/v0.4.25

silasdavis (Sat, 15 Dec 2018 13:32:29 GMT):
Make sure you have: ``` burrow --version 0.23.1+commit.v0.23.1+2018-12-15 ```

neewy (Sat, 15 Dec 2018 13:34:28 GMT):
Has joined the channel.

neewy (Sat, 15 Dec 2018 13:34:57 GMT):
I've got `0.23.1+2018-11-14T18:42:35Z` from the latest release

neewy (Sat, 15 Dec 2018 13:38:00 GMT):
This solidity version does not compile on Mojave: ``` Unsupported macOS version. We only support Mavericks, Yosemite, El Capitan, Sierra and High Sierra. ```

neewy (Sat, 15 Dec 2018 13:38:21 GMT):
Can I use any newer release?

silasdavis (Sat, 15 Dec 2018 13:40:12 GMT):
For the next steps perform them in a clean directory (not in chains/)

silasdavis (Sat, 15 Dec 2018 13:41:45 GMT):
Apologies we've tweaked things since yesterday - we won't need solc (unless we hit extra credit part)

neewy (Sat, 15 Dec 2018 13:41:54 GMT):
:ok_woman_tone2:

neewy (Sat, 15 Dec 2018 13:45:39 GMT):
Can you copy the link for the slides here?

neewy (Sat, 15 Dec 2018 13:51:28 GMT):
@silad

neewy (Sat, 15 Dec 2018 13:51:28 GMT):
@silasdavis

r0g1er (Sat, 15 Dec 2018 13:53:35 GMT):
Has joined the channel.

r0g1er (Sat, 15 Dec 2018 13:53:37 GMT):
https://bit.ly/2QPkhuL

neewy (Sat, 15 Dec 2018 13:53:42 GMT):
thanks

gregdhill (Sat, 15 Dec 2018 13:53:45 GMT):
https://www.slideshare.net/RachDavidson/burrow-in-basel

silasdavis (Sat, 15 Dec 2018 16:06:24 GMT):
https://agreements.network/

silasdavis (Sat, 15 Dec 2018 16:06:37 GMT):
demo of Monax Platform: https://geeks.app.monax.io/

silasdavis (Sat, 15 Dec 2018 16:06:54 GMT):
https://monax.io/

compleatang (Sat, 15 Dec 2018 17:19:26 GMT):
+++++ end burrow workshop ++++

compleatang (Sat, 15 Dec 2018 17:19:42 GMT):
our thanks to everyone that attended one of the two burrow workshops. hope it was a helpful tour of the framework!

silasdavis (Sun, 16 Dec 2018 22:01:44 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=23DstkFNEjdMS6XdC) @compleatang I need a bit of time to get back to issues in this room. But when we started using a versioned state tree I always had in mind running simulated call against a previous block height. It should be very easy to implement against RWTree and we will at some point, the groundwork is done.

silasdavis (Sun, 16 Dec 2018 22:02:00 GMT):
@JoeriExelmans

silasdavis (Sun, 16 Dec 2018 22:04:03 GMT):
Height would be an optional parameter for callsim and state query endpoints

bd (Mon, 17 Dec 2018 10:54:20 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=BYeLCByfbEH8wXxZK) @compleatang Thanks for the help, we, i and my team are investigation the Burrow project for more than 1 month and other project's Evm compatible and we decide make some tools like Truffle development framework and make some tweak on the Burrow, all help of the burrow community its appreciated, so back to the Snatives question, for remove all doubts of Snatives: 1) I can't change the blockchain state like balances with Go Snatives? 2) It's possible on the final of each transaction call one Snative with computation cost's (Gas) ? 3) It's possible one Snative call other one Smart Contract ?

bd (Mon, 17 Dec 2018 10:54:20 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=BYeLCByfbEH8wXxZK) @compleatang Thanks for the help, we, i and my team are investigation the Burrow project for more than 1 month and other project's Evm compatible and we decide make some tools like Truffle development framework and make some tweak on the Burrow, all help of the burrow community its appreciated, so back to the Snatives question, for remove all doubts of Snatives: 1) Can I change the blockchain state (e.g a balance of a burrow native token or a balance of a smart contract with Snative written in GO)? 2) Is it possible to call an snative method at the end of each transaction and pass as a param the computation cost (Gas) of that transaction ? 3) Is it possible to invoke a method on a smart contract from an Snative

sly514 (Mon, 17 Dec 2018 12:47:54 GMT):
Hi would there be a way to use burrow with sawtooth transaction processors to get tendermint consensus (bypassing the EVM)?

knkski (Mon, 17 Dec 2018 20:27:57 GMT):
@compleatang: Would there be any interest in having a branch in the burrow repo with these changes? https://github.com/knkski/burrow

knkski (Mon, 17 Dec 2018 20:28:22 GMT):
Until https://github.com/hyperledger/burrow/issues/908 and https://github.com/hyperledger/burrow/issues/909 are fixed

knkski (Mon, 17 Dec 2018 20:28:39 GMT):
So that we can stop doing this over in Seth: https://github.com/hyperledger/sawtooth-seth/commit/667a6da40fec2a6ef02ad3ecf2fa47f69ba8d016#diff-34a050f7b683d5a01f7e6592f03fe6fcR81

mogamboizer (Mon, 17 Dec 2018 20:50:37 GMT):
Has joined the channel.

greg2git (Mon, 17 Dec 2018 21:17:15 GMT):
Has left the channel.

phymbert (Tue, 18 Dec 2018 06:45:23 GMT):
BLOCKHASH is fixed already

compleatang (Tue, 18 Dec 2018 10:36:59 GMT):
@knkski We're happy to. I just push `seth-fixes` if you PR into that branch we can then get it in there. As @phymbert said, BLOCKHASH is done and is in code review. It's been a bit tied up because it sits at the chain/app intersection and in our work on dump|restore we have had some other niggles and changes along that interface that we want to make sure work with Pierrick's work on BLOCKHASH. Once we're thru that tranche then we should be able to look at 908 as well. In general with the holidays this probably puts us at mid-Jan to get these finalized for you -- so entirely reasonable we keep a branch with your fixes in burrow.

compleatang (Tue, 18 Dec 2018 10:39:32 GMT):
@bd those are all edge cases we haven't yet explored. we have govTx which is coming along nicely and can affect native token balance. It can be routed through a proposal mechanism for multi-sig level voting. These questions would be better in GH issues because I fear that some of the nuance of what you're looking for is getting lost in a fast moving chat room. What would help us is exactly what you're looking to achieve and what you've done to date that has been blocked. We'd be excited to see a Truffle like tool and will do our best to answer your questions.

bd (Tue, 18 Dec 2018 10:50:19 GMT):
@compleatang thx, @carlosfaria already made an git issue here :point_right:(_ https://github.com/hyperledger/burrow/issues/981 _)

wangrangli (Wed, 19 Dec 2018 09:41:27 GMT):
Has joined the channel.

sly514 (Wed, 19 Dec 2018 13:14:19 GMT):
Hi, concerning multiple validators setup, could you please explain to me where to get the value for Validator 2 's PersistentPeers? ( "PUT_HERE_NODE_0_ID@LISTEN_EXTERNAL_ADDRESS")

sly514 (Wed, 19 Dec 2018 13:14:19 GMT):
Hi, concerning multiple validators setup, could you please explain to me where to get the value for Validator 2 's PersistentPeers? ( what is the NODE_0_ID and LISTEN_EXTERNAL_ADDRESS")

sly514 (Wed, 19 Dec 2018 13:14:19 GMT):
Hi, concerning multiple validators setup, could you please explain to me where to get the value for Validator 2 's PersistentPeers? ( what is the NODE_0_ID (moniker?)and LISTEN_EXTERNAL_ADDRESS")

sly514 (Wed, 19 Dec 2018 13:14:19 GMT):
Hi, concerning multiple validators setup, could you please explain to me where to get the value for Validator 2 's PersistentPeers? ( what is the NODE_0_ID (moniker?)and LISTEN_EXTERNAL_ADDRESS")update: I figured it out

efn (Wed, 19 Dec 2018 16:41:55 GMT):
If a contract self-destructs, how do you delete all the keys for that contract? As I see keys are stored as (contract addr + key) in the tree. If you don't know the key, how can you clean the state of the contrat?

efn (Wed, 19 Dec 2018 16:41:55 GMT):
If a contract self-destructs, how do you delete all the keys for that contract? As I see keys are stored as (contract addr + key) in the tree. If you don't know the key, how can you clean the state of the contract?

amundson (Wed, 19 Dec 2018 19:53:31 GMT):
@compleatang I think what we really want are stable branches of burrow were fixes can be applied for point releases (as opposed to a fork of burrow for seth)

compleatang (Wed, 19 Dec 2018 20:45:55 GMT):
@amundson moving to #burrow-downstream just to confirm a few details.

seanyoung (Thu, 20 Dec 2018 12:51:50 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=XHcszbYWqvFxaYbsX) @compleatang burrow deploy only creates a connection using Dial() if necessary. This is to speed up build-only deploy files. Once established, it reuses the same connection. See https://github.com/hyperledger/burrow/blob/develop/deploy/def/client.go#L50

seanyoung (Thu, 20 Dec 2018 12:59:54 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=Rtp8xsxi3k2CuPc2R) @efn "burrow deploy" now only makes a connection when it is needed, which makes it possible to run a burrow deploy file with only build jobs without a chain. When a connection is made it reused, so it not reconnect every time. See https://github.com/hyperledger/burrow/blob/develop/deploy/def/client.go#L50

efn (Thu, 20 Dec 2018 13:03:14 GMT):
Cool, thanks for the change :) I modified the state, so contracts have also a tree of their own. So we can prove storage properties of accounts

seanyoung (Thu, 20 Dec 2018 13:03:21 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=daTMo3j4crM8eYnvp) @bd It would be great to have snatives to access name register, this currently does not exist yet. Patches welcome ;)

efn (Thu, 20 Dec 2018 13:03:40 GMT):
I don't know if the project is interested in it

seanyoung (Thu, 20 Dec 2018 13:05:57 GMT):
@efn putting contracts in their own tree would be a useful feature, so duplicate contracts can be stored just once. So contracts can be accessed by contract hash. This is needed to store contract abi in burrow.

efn (Thu, 20 Dec 2018 13:09:58 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=rqQXYCyYh5zw9kTBu) @seanyoung I think contracts having their own state doesn't help with duplicate contracts, cause they will still need their own storage

silasdavis (Thu, 20 Dec 2018 13:11:55 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=BkPEsRZMiMJndqfs9) @efn This is something we had lost when going under a single IAVL tree (a prefix tree would give you this 'for free') - I'd be interested to see your code

efn (Thu, 20 Dec 2018 13:16:25 GMT):
Sure, I'd be happy to make it public, probably there are some bugs that I didn't think about :|

silasdavis (Thu, 20 Dec 2018 13:27:04 GMT):
that's fine - it would be good to talk about the implementation

silasdavis (Thu, 20 Dec 2018 13:27:25 GMT):
my plan for doing it was to create a forest of IAVL trees organised in a prefix tree

silasdavis (Thu, 20 Dec 2018 13:27:27 GMT):
and do this for all state

bd (Thu, 20 Dec 2018 16:24:20 GMT):
Hi folks, what is the difference between useGasNegative, st.useGas. both use *gas as same time ?

bd (Thu, 20 Dec 2018 16:24:20 GMT):
Hi folks, what is the difference between `useGasNegative`, `st.useGas`. both use *gas as same time ?

bd (Thu, 20 Dec 2018 16:24:20 GMT):
Hi folks, what is the difference between `useGasNegative`, `st.useGas`. both use *gas as same time, i mean it's the continuous gas to spend ?

bd (Thu, 20 Dec 2018 16:26:43 GMT):
if i have to make some pre-transaction or post-transaction hooks to work with somethings like call one smart contract at the end of all tx actions, what methods/ files i need to change/apply ?

bd (Thu, 20 Dec 2018 16:27:50 GMT):
for example if one post-hook on transaction call one Smart Contract with some values to change, here i need to change call_context.go ?

bd (Thu, 20 Dec 2018 16:27:50 GMT):
for example if one post-hook on transaction call one Smart Contract with some values to change, here i need to change `call_context.go` ?

silasdavis (Thu, 20 Dec 2018 16:29:52 GMT):
@efn if you are able to push that code just so I can see the approach you have used - I am likely to start working on something related

efn (Thu, 20 Dec 2018 17:04:52 GMT):
@silasdavis The way I did it was very simple, just created a `map[crypto.Address]*storage.RWTree` for each account. I added a `storageHash` in the `Account` structure as well. So I can prove state variables from there

efn (Thu, 20 Dec 2018 17:05:25 GMT):
Do you know where are the signatures for the blocks stored? Thanks

efn (Thu, 20 Dec 2018 17:30:03 GMT):
Looks like it is the same thing @bd

efn (Thu, 20 Dec 2018 17:31:54 GMT):
I think you can take a look in the `Deliver` function, in `call_context.go`, from there you go to `vmach.Call` which executes the vm code in the contract, or just calls

efn (Thu, 20 Dec 2018 17:31:54 GMT):
I think you can take a look in the `Deliver` function, in `call_context.go`, from there you go to `vmach.Call` which executes the vm code in the contract

efn (Thu, 20 Dec 2018 17:31:54 GMT):
I think you can take a look in the `Deliver` function, in `call_context.go`, the function calls `vmach.Call` which executes the vm code in the contract

bd (Thu, 20 Dec 2018 17:40:28 GMT):
ok thanks, how i can calculate OpCodes to call one VM, like if i had to call vm to change some State in one Smart Contract, like pay(address, amount)??? exist some function to do this ?

bd (Thu, 20 Dec 2018 17:42:30 GMT):
for example: ret, exception := vmach.Call(txCache, ctx.txe, caller, callee, code, ctx.tx.Data, value, &gas)

bd (Thu, 20 Dec 2018 17:43:24 GMT):
i need to calculate code opcodes for pay(address, amount ), right? and the callee is the S. Contract Address

bd (Thu, 20 Dec 2018 17:44:20 GMT):
and the evm execute all operations and Save the state on blockchain i think???

efn (Thu, 20 Dec 2018 17:45:48 GMT):
what do you mean calculate code opcodes?

bd (Thu, 20 Dec 2018 17:46:51 GMT):
code param to VM

bd (Thu, 20 Dec 2018 17:48:01 GMT):
i want to do one post hook in each transaction, like if someone call one Contract, i want this transaction call the pay in other Contract

bd (Thu, 20 Dec 2018 17:49:51 GMT):
i mean encode signature of pay() + paramters to VM execute

efn (Thu, 20 Dec 2018 17:50:33 GMT):
add code after the `Call(` function

bd (Thu, 20 Dec 2018 17:50:35 GMT):
vmach.Call(txCache, ctx.txe, caller, callee, *code*, ctx.tx.Data, value, &gas)

bd (Thu, 20 Dec 2018 17:51:52 GMT):
if i call two VM's in one tx all state on both contracts is saved ?

bd (Thu, 20 Dec 2018 17:53:57 GMT):
beacause if AccountA "call contract X"-> create vm "Contract X" on the final this, i create/call vm (to pay() method for Contract Z)

bd (Thu, 20 Dec 2018 17:54:22 GMT):
all state is changed ?

efn (Thu, 20 Dec 2018 17:59:41 GMT):
I think all state is changed

efn (Thu, 20 Dec 2018 18:00:00 GMT):
Do you know where are the validators' signatures kept?!

efn (Thu, 20 Dec 2018 18:00:00 GMT):
Do you know where are the validators' signatures for a block kept?!

bd (Thu, 20 Dec 2018 18:00:29 GMT):
:sweat_smile: it's quite confuse !

efn (Thu, 20 Dec 2018 18:11:40 GMT):
I don't think it goes in the header, which is weird, how can we get a light client, for instance, without the votes not in the header

efn (Thu, 20 Dec 2018 18:11:40 GMT):
I don't think it goes in the header, how can we get a light client, for instance, without the votes not in the header

efn (Thu, 20 Dec 2018 18:11:40 GMT):
I don't think it goes in the header, how can we get a light client, for instance, without the votes in the header

bd (Thu, 20 Dec 2018 18:18:54 GMT):
:shrug:

bd (Thu, 20 Dec 2018 18:20:12 GMT):
why you want a light client ? for test's

bd (Thu, 20 Dec 2018 18:20:12 GMT):
why you want a light client ? for tests

efn (Thu, 20 Dec 2018 18:32:08 GMT):
trying to implement some other protocol on top of burrow, I need some light-client features

efn (Thu, 20 Dec 2018 18:33:10 GMT):
the block saves the hash of the precommits, but not the voted themselves, so those have to be gossiped somehow?!

bd (Thu, 20 Dec 2018 18:40:22 GMT):
Maybe @silasdavis can help you with this, i don't know

gut (Fri, 21 Dec 2018 11:43:58 GMT):
Has joined the channel.

gut (Fri, 21 Dec 2018 12:06:58 GMT):
Hi. I'm trying to launch the single-full-nude sample. It is launching "validator-index of 0 given but only 0 validators specified in GenesisDoc" error, but the validator account is already there, and I'm providing its index. It specifies version 1.10 or above. I've got "go1.11.1 linux/amd64". Any addressed Go version issue?

phymbert (Fri, 21 Dec 2018 12:24:15 GMT):
Hi, go 1.11 works fine

phymbert (Fri, 21 Dec 2018 12:24:49 GMT):
it looks you missed somehow genesis file step

phymbert (Fri, 21 Dec 2018 12:25:00 GMT):
there is no validators inside

gut (Fri, 21 Dec 2018 13:05:53 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=mpahFrWCBpzGuS7BJ) @phymbert Dumb error, I named the file "genesis.toml" instead "burrow.toml". Just annoyed with the error output.

silasdavis (Fri, 21 Dec 2018 17:21:36 GMT):
@gut what was the error output? If you're able to I would really like to improve any errors that are unhelpful. They can be a bad first impression...

silasdavis (Fri, 21 Dec 2018 17:21:36 GMT):
@gut what was the error output? I would really like to improve any errors that are unhelpful. They can be a bad first impression...

silasdavis (Fri, 21 Dec 2018 17:22:03 GMT):
(even better if you can fix it :) )

bd (Mon, 24 Dec 2018 14:40:44 GMT):
Hi, i'm try to understand how burrow submit new state to blockchain, every time i call one smart contract via burrow.js is a CallSim, why ?

bd (Mon, 24 Dec 2018 14:41:21 GMT):
anyone ?

Yeou (Tue, 25 Dec 2018 02:28:38 GMT):
Has joined the channel.

Druckzentrum-3D (Tue, 25 Dec 2018 05:20:56 GMT):
Has joined the channel.

Aschi (Thu, 27 Dec 2018 08:20:18 GMT):
Has joined the channel.

rsingh (Fri, 28 Dec 2018 18:09:14 GMT):
Has joined the channel.

rsingh (Fri, 28 Dec 2018 18:09:48 GMT):
Hi, can anyone tell me the difference between Hyperledger Sawtooth and Hyperledger Burrow ?

MartinYakimov (Sun, 30 Dec 2018 07:40:20 GMT):
Has joined the channel.

MartinYakimov (Sun, 30 Dec 2018 07:40:23 GMT):
Hello, do I need to pay gas for Hyperledger burrow?

MartinYakimov (Sun, 30 Dec 2018 07:40:23 GMT):
Hello, do I need to pay gas for Hyperledger Burrow?

MartinYakimov (Sun, 30 Dec 2018 07:42:01 GMT):
@rsingh https://www.sdxcentral.com/articles/news/whats-the-difference-between-the-5-hyperledger-blockchain-projects/2017/09/

saranshj07 (Sun, 30 Dec 2018 23:27:16 GMT):
Has joined the channel.

JonGeater (Mon, 31 Dec 2018 12:31:44 GMT):
Has joined the channel.

rsingh (Mon, 31 Dec 2018 18:27:00 GMT):
Hi, all can anyone help me to understand how the .yaml file is being formed from .sol file. Is there any way to form the .yaml file or we need to write it with ourself.

hteng (Tue, 01 Jan 2019 08:08:47 GMT):
Has joined the channel.

Ishee (Wed, 02 Jan 2019 12:19:56 GMT):
Is it necessary to have go version above 1.10 ?

seanyoung (Wed, 02 Jan 2019 17:17:37 GMT):
@rsingh you'll have to write the yaml file yourself. There are various examples in tests/jobs_fixtures/

seanyoung (Wed, 02 Jan 2019 17:18:23 GMT):
@Ishee go version 1.10 will work fine

NedSnark (Wed, 02 Jan 2019 19:43:53 GMT):
Has joined the channel.

compleatang (Thu, 03 Jan 2019 12:32:11 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=j2LhfirRwZiydQXaq) @MartinYakimov tl.dr we utilize a gas schedule but it's a 0 cost communist system. see also, https://chat.hyperledger.org/channel/burrow?msg=dZk4Gnj9rrHpa6g4B and https://chat.hyperledger.org/channel/burrow?msg=NjykeWid7Zf2AuEPZ

compleatang (Thu, 03 Jan 2019 12:32:11 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=j2LhfirRwZiydQXaq) @MartinYakimov tl.dr burrow utilizes a gas schedule but it's a 0 cost communist system. see also, https://chat.hyperledger.org/channel/burrow?msg=dZk4Gnj9rrHpa6g4B and https://chat.hyperledger.org/channel/burrow?msg=NjykeWid7Zf2AuEPZ

sly514 (Fri, 04 Jan 2019 15:24:54 GMT):
Hi all, could any one tell me what the rpc error: code = Unavailable desc means when deploying to a multi node setup? Thx

seanyoung (Fri, 04 Jan 2019 15:47:15 GMT):
@sly514 usually that is followed by more information, like: rpc error: code = Unavailable desc = all SubConns are in TransientFailure, latest connection error: connection error: desc = "transport: Error while dialing dial tcp 127.0.0.1:10997: connect: connection refused"

seanyoung (Fri, 04 Jan 2019 15:47:43 GMT):
however from memory usually this means that there was a tcp connection error

sly514 (Fri, 04 Jan 2019 16:13:10 GMT):
Ok thanks, I get simply, Unavailable Desc = transport is closing. I am trying to deploy a simple transaction and I think my multi node config is messed up. I have set the ports in my docker .yaml but I have to properly copy the configs for each one of the nodes. This is done by mounting the partitions right?

sly514 (Fri, 04 Jan 2019 16:13:10 GMT):
Ok thanks, I get simply, Unavailable Desc = transport is closing. I am trying to deploy a simple transaction and I think my multi node config is messed up. I have set the ports in my docker .yaml but I have to properly copy the configs for each one of the nodes.

MHBauer (Fri, 04 Jan 2019 18:59:03 GMT):
Has joined the channel.

gokulalex (Sun, 06 Jan 2019 13:49:15 GMT):
Has joined the channel.

gut (Mon, 07 Jan 2019 14:48:51 GMT):
@silasdavis Dear Silas. I've gone to JIRA to open a new BUR issue, but I've realized that there are no boards there. I think that it's better that someone that manages well the Burrow code solves the issue. So I describe it here for someone to take it: If I configure my _genesis-spec.toml_ and assign `burrow configure -s genesis-spec.toml -m "burrowChain" > *genesis*.toml` instead of `burrow configure -s genesis-spec.toml -m "burrowChain" > *burrow*.toml`. When I execute `burrow start --validator-index=0` the response is _could not update burrow config: unable to set ValidatorAddress from provided validator-index since no GenesisDoc/GenesisSpec provided_ instead of some point to the genesis.toml file.

gut (Mon, 07 Jan 2019 14:52:40 GMT):
[continue] ...`burrow start --help` states that the genesis can be forced through -g option. But `burrow start --validator-index=0 -g genesis.toml` prints the `could not update burrow config: validator-index of 0 given but only 0 validators specified in GenesisDoc` error. The simple solution can be to add a note at the docs where it says that genesis file name must be forced to _burrow.toml_. But maybe I am missing something. Thanks.

compleatang (Mon, 07 Jan 2019 21:36:53 GMT):
@gut Burrow team tracks issues on github -> https://github.com/hyperledger/burrow/issues . In any event, to get your node started however use the `--config` flag (short flag `-c` with your `genesis.toml` that you've generated). The `-g` or `--genesis` flag only works on a genesis.json which has been produced by `burrow configure` with the `--separate-genesis-doc` or `-w` flag. Since your `burrow configure` command is not leveraging a separate genesis.json then burrow will consider only the config file so that's why you should use that flag.

gut (Tue, 08 Jan 2019 10:22:08 GMT):
@compleatang Thank you for your support. Using -c flag instead of -g it works as expected. My mistake was a documentation and help command misunderstanding. But as Silas said, a little help box at github or a change on explanation (you explained it so clear in your response...) from some expert at --help options could avoid a bad first impression for new developers interested on Burrow.

sly514 (Tue, 08 Jan 2019 10:49:48 GMT):
Hi, working from the docker container for a multiple validator setup I cannot run the command"NODE_0_URL=`curl -s 127.0.0.1:20001/network | jq -r '.result.ThisNode | [.ID, .ListenAddress] | join("@") | ascii_downcase'`" because curl is not installed. I'm about to use the ubuntu 16.04 docker and build things in there, is this the right way or would you suggest something else?

phymbert (Tue, 08 Jan 2019 11:27:07 GMT):
Hi,

phymbert (Tue, 08 Jan 2019 11:27:26 GMT):
apt-get install curl in your docker file

phymbert (Tue, 08 Jan 2019 11:29:00 GMT):
probably you will also need to install jq

phymbert (Tue, 08 Jan 2019 11:29:26 GMT):
you can replace curl by wget installed by default on ubuntu afaik

saeedi (Tue, 08 Jan 2019 12:05:43 GMT):
Has joined the channel.

sstone1 (Tue, 08 Jan 2019 16:02:36 GMT):
Has left the channel.

compleatang (Tue, 08 Jan 2019 18:59:32 GMT):
@sly514 you can easily build a dockerfile via ubuntu, the burrow dockerfiles are based on alpine so you'd run `apk add --update curl jq` in the dockerfile.

sly514 (Tue, 08 Jan 2019 19:44:01 GMT):
@completeang Thanks++

DmitriPlakhov (Thu, 10 Jan 2019 12:01:04 GMT):
Has joined the channel.

sly514 (Thu, 10 Jan 2019 20:06:12 GMT):
hi there could you help me resolve this error? Kernel shutting down due to panic: panic occurred in abci.App/InitChain: validator 5C5B28B19233FA5F53B92569DDF0B688F08B317D has power 9999999999 from Tendermint but power 0 from Burrow

vinken (Thu, 10 Jan 2019 20:08:41 GMT):
Has joined the channel.

sly514 (Thu, 10 Jan 2019 21:30:18 GMT):
Hi it's me again, I would appreciate a hint on this error I got from a 2 validator setup:

sly514 (Thu, 10 Jan 2019 21:30:20 GMT):
burrow0 | Burrow_BurrowChain_B8849F-28214B_ValidatorID:06F23C9274EC1BE9BA46351D1DAD141E8E7A1E98: Kernel shutting down due to panic: panic occurred in abci.App/InitChain: validator 5C5B28B19233FA5F53B92569DDF0B688F08B317D has power 9999999999 from Tendermint but power 0 from Burrow burrow0 | goroutine 1 [running]: burrow0 | runtime/debug.Stack(0xc0008bb688, 0x7f3a4b8b7560, 0xc0001a87b0) burrow0 | /usr/lib/go/src/runtime/debug/stack.go:24 +0xa9 burrow0 | github.com/hyperledger/burrow/consensus/tendermint/abci.(*App).InitChain.func1(0xc0001b6280) burrow0 | /root/go/src/github.com/hyperledger/burrow/consensus/tendermint/abci/app.go:103 +0x70 burrow0 | panic(0x7f3a4b8b7560, 0xc0001a87b0) burrow0 | /usr/lib/go/src/runtime/panic.go:513 +0x1bd burrow0 | github.com/hyperledger/burrow/consensus/tendermint/abci.(*App).InitChain(0xc0001b6280, 0x0, 0xed3c9596f, 0x0, 0xc000232600, 0x19, 0xc000188cc0, 0xc0001207e0, 0x2, 0x2, ...)

sly514 (Thu, 10 Jan 2019 21:30:36 GMT):
etc..

chanwitkepha (Fri, 11 Jan 2019 02:18:44 GMT):
Has joined the channel.

dappaule (Fri, 11 Jan 2019 07:56:03 GMT):
Has joined the channel.

dappaule (Fri, 11 Jan 2019 08:02:23 GMT):
Hello, I am looking for an Ethereum based permissioned platform solution and am unsure whether to start with Burrow or Quorum. My understanding is that a key difference is that Quorum has private transactions (i.e. makes transactions visible only to participants) while Burrow does not. Is this accurate and does anyone know if private transactions are planned in Burrow? Is this an limitation imposed through the tendermint consensus? thanks!

chanwitkepha (Fri, 11 Jan 2019 09:50:06 GMT):
Hello, I'm try to deploy contract accord to tutorial document. https://github.com/hyperledger/burrow/blob/develop/docs/quickstart/deploy-contracts.md But it show error like this. *****Executing Job***** Job Name => defaultAddr *****Executing Job***** Job Name => deployStorageK Error compiling contracts: Language error: storage.sol:16:22: ParserError: The state mutability modifier "constant" was removed in version 0.5.0. Use "view" or "pure" instead. function getBool() constant public returns (bool retBool) { ^------^ storage.sol:24:23: ParserError: The state mutability modifier "constant" was removed in version 0.5.0. Use "view" or "pure" instead. function getBool2() constant public returns (bool retBool) { ^------^ storage.sol:32:21: ParserError: The state mutability modifier "constant" was removed in version 0.5.0. Use "view" or "pure" instead. function getInt() constant public returns (int retInt) { ^------^ storage.sol:40:22: ParserError: The state mutability modifier "constant" was removed in version 0.5.0. Use "view" or "pure" instead. function getUint() constant public returns (uint retUint) { ^------^ storage.sol:48:25: ParserError: The state mutability modifier "constant" was removed in version 0.5.0. Use "view" or "pure" instead. function getAddress() constant public returns (address retAddress) { ^------^ storage.sol:56:23: ParserError: The state mutability modifier "constant" was removed in version 0.5.0. Use "view" or "pure" instead. function getBytes() constant public returns (bytes32 retBytes) { ^------^ storage.sol:64:24: ParserError: The state mutability modifier "constant" was removed in version 0.5.0. Use "view" or "pure" instead. function getString() constant public returns (string retString) { ^------^ Please help My solc compiler version is Version: 0.5.2+commit.1df8f40c.Linux.g++ Thank you

seanyoung (Fri, 11 Jan 2019 13:18:01 GMT):
@chanwitkepha in your Solidity source code, replace constant with view or pure (dependant on whether the functions reads contract storage or not). You could try both and see if the solidity complains.

sly514 (Fri, 11 Jan 2019 14:21:41 GMT):
Hi, I have been struggling with the multiple validator setup for quite some time and have a few questions regarding my setup. Is it possible to have the two validators in a docker .yaml file? for instance, the command: NODE_0_URL=`curl -s 127.0.0.1:20001/network | jq -r '.result.ThisNode | [.ID, .ListenAddress] | join("@") | ascii_downcase'` sed -i s%PUT_HERE_NODE_0_ID@LISTEN_EXTERNAL_ADDRESS%${NODE_0_URL}% .burrow_val1.toml runs in the command line fine but not in the entrypoint: because of the "@" Also wouldn't curl -s 127.0.0.1:20001/network call the container's address and retreive the container's own info? I have tried creating a static network, this is my first node's config: https://pastebin.com/ANxUs4ad

sly514 (Fri, 11 Jan 2019 14:21:41 GMT):
Hi, I have been struggling with the multiple validator setup for quite some time and have a few questions regarding my setup. Is it possible to have the two validators in a docker .yaml file? for instance, the command: NODE_0_URL=`curl -s 127.0.0.1:20001/network | jq -r '.result.ThisNode | [.ID, .ListenAddress] | join("@") | ascii_downcase'` sed -i s%PUT_HERE_NODE_0_ID@LISTEN_EXTERNAL_ADDRESS%${NODE_0_URL}% .burrow_val1.toml runs in the command line fine but not in the entrypoint: because of the "@" Also wouldn't curl -s 127.0.0.1:20001/network call the container's address and retreive the container's own info? I have tried creating a static network, this is my first node's config: https://pastebin.com/ANxUs4ad

sly514 (Fri, 11 Jan 2019 14:21:41 GMT):
Hi, I have been struggling with the multiple validator setup for quite some time and have a few questions regarding my setup. Is it possible to have the two validators in a docker .yaml file? for instance, the command: NODE_0_URL=`curl -s 127.0.0.1:20001/network | jq -r '.result.ThisNode | [.ID, .ListenAddress] | join("@") | ascii_downcase'` sed -i s%PUT_HERE_NODE_0_ID@LISTEN_EXTERNAL_ADDRESS%${NODE_0_URL}% .burrow_val1.toml runs in the command line fine but not in the .yaml entrypoint: because of the "@" Also wouldn't curl -s 127.0.0.1:20001/network call the container's address and retreive the container's own info? I have tried creating a static network, this is my first node's config: https://pastebin.com/ANxUs4ad

sly514 (Fri, 11 Jan 2019 14:21:51 GMT):
thank you

sly514 (Fri, 11 Jan 2019 14:36:20 GMT):
Hi, I have been struggling with the multiple validator setup for quite some time and have a few questions regarding my setup. Is it possible to have the two validators in a docker .yaml file? for instance, the command: NODE_0_URL=`curl -s 127.0.0.1:20001/network | jq -r '.result.ThisNode | [.ID, .ListenAddress] | join("@") | ascii_downcase'` sed -i s%PUT_HERE_NODE_0_ID@LISTEN_EXTERNAL_ADDRESS%${NODE_0_URL}% .burrow_val1.toml runs in the command line fine but not in the .yaml entrypoint: because of the "@" Also wouldn't curl -s 127.0.0.1:20001/network call the container's address and retreive the container's own info? I have tried creating a static network, this is my first node's config: https://pastebin.com/ANxUs4ad

sly514 (Fri, 11 Jan 2019 14:36:20 GMT):
Hi, I have been struggling with the multiple validator setup for quite some time and have a few questions regarding my setup. Is it possible to have the two validators in a docker .yaml file? for instance, the command: NODE_0_URL=`curl -s 127.0.0.1:20001/network | jq -r '.result.ThisNode | [.ID, .ListenAddress] | join("@") | ascii_downcase'` sed -i s%PUT_HERE_NODE_0_ID@LISTEN_EXTERNAL_ADDRESS%${NODE_0_URL}% .burrow_val1.toml runs in the command line fine but not in the .yaml entrypoint: because of the "@" Also wouldn't curl -s 127.0.0.1:20001/network call the container's address and retreive the container's own info? I have tried creating a static network, this is my first node's config: https://pastebin.com/ANxUs4ad

sly514 (Fri, 11 Jan 2019 14:36:20 GMT):
Hi, I have been struggling with the multiple validator setup for quite some time and have a few questions regarding my setup. Is it possible to have the two validators in a docker .yaml file? for instance, the command: NODE_0_URL=`curl -s 127.0.0.1:20001/network | jq -r '.result.ThisNode | [.ID, .ListenAddress] | join("@") | ascii_downcase'` sed -i s%PUT_HERE_NODE_0_ID@LISTEN_EXTERNAL_ADDRESS%${NODE_0_URL}% .burrow_val1.toml runs in the command line fine but not in the .yaml entrypoint: because of the "@" Also wouldn't curl -s 127.0.0.1:20001/network call the container's address and retreive the container's own info? I have tried creating a static network, this is my first node's config: https://pastebin.com/ANxUs4ad for this thsi is the output I get: burrow0 | {"appHeight":0,"caller":"replay.go:275","component":"Tendermint","log_channel":"Info","message":"ABCI Replay Blocks","module":"consensus","run_id":"294f97aa-15ae-11e9-8aab-aa9b70dc0f37","scope":"tendermint.NewNode","stateHeight":0,"storeHeight":0,"time":"2019-01-11T14:35:37.360137753Z"} burrow0 | Burrow_BurrowChain_B8849F-B5F979_ValidatorID:A0AAA0F4D30F4766242B923ECF102D81265B8E02: Kernel shutting down due to panic: panic occurred in abci.App/InitChain: validator 5C5B28B19233FA5F53B92569DDF0B688F08B317D has power 9999999999 from Tendermint but power 0 from Burrow thanks

chanwitkepha (Fri, 11 Jan 2019 23:24:09 GMT):
@seanyoung Thank you very much.

JoeriExelmans (Mon, 14 Jan 2019 09:18:22 GMT):
Question: I understand that an event's Index is relative to the event's transaction Index, which is relative to the block height (right?). Unlike standard ethereum where the log index is relative to the block. Then why does a GRPC response to GetEvents not include the transaction index? When receiving an event this way, it's not possible to know if it happened before or after some point in blockchain (where a "point in blockchain" is a tuple (event index, tx index, block height). My current workaround is to use GetTxs instead of GetEvents.

shubhendu-abhishek (Thu, 17 Jan 2019 10:05:06 GMT):
Has joined the channel.

JoeriExelmans (Thu, 17 Jan 2019 11:16:22 GMT):
Another question: I understand accounts in Burrow have permissions (such as: send, call, createContract) that are supposedly checked on the EVM level, but I haven't noticed these permissions actually being enforced. For instance, I was able to deploy a contract with an account that does not have the 'createContract' permission. What is the status here?

sly514 (Fri, 18 Jan 2019 14:16:35 GMT):
Hi could you please instruct me (if possible) on how to communicate with the keys server other than through the command line?

sly514 (Fri, 18 Jan 2019 14:16:35 GMT):
Hi could you tell me if my setup is ok?

dimchansky (Fri, 18 Jan 2019 15:02:56 GMT):
Has joined the channel.

dimchansky (Fri, 18 Jan 2019 15:03:21 GMT):
Hi all, Does the burrow have Ethereum JSON RPC compatible endpoint?

seanyoung (Fri, 18 Jan 2019 15:37:38 GMT):
@sly514 communication with the keys server over tcp port 10997. The protocol is grpc, the protobuf file for this here: https://github.com/hyperledger/burrow/blob/develop/protobuf/keys.proto you will need to generate a client for your language of choice.

compleatang (Fri, 18 Jan 2019 15:41:52 GMT):
@JoeriExelmans check the global permissions on the chain; these set the defaults for new accounts. By default createContract is turned on IIRC.

compleatang (Fri, 18 Jan 2019 15:42:21 GMT):
@dimchansky no, we use GRPC predominantly. There's an http->JSON endpoint as well for more information.

compleatang (Fri, 18 Jan 2019 15:43:19 GMT):
Joeri, on your other question probably better to drop an issue on GH with what you'd like from the query endpoint to help your use case. We can take a look at it. Of course PRs welcome :)

mabhi (Sun, 20 Jan 2019 17:22:12 GMT):
Has joined the channel.

sly514 (Mon, 21 Jan 2019 16:11:54 GMT):
Hi, could you tell me if my setup is correct? /home/burrow # curl -s 192.168.144.5:20001/consensus { "jsonrpc": "2.0", "id": "", "result": { "round_state": { "height": "1", "round": "0", "step": 1, "start_time": "2019-01-21T16:08:15.7393207Z", "commit_time": "0001-01-01T00:00:00Z", "validators": { "validators": [ { "address": "0AFD6FA0F51612658E4708425C493B0F3ADCF80E", "pub_key": { "type": "tendermint/PubKeyEd25519", "value": "1OdXg6aqXCsAuAUnnvI7DAy+0r0qlGj1bKAiNlfddxY=" }, "voting_power": "9999999999", "proposer_priority": "-19999999998" }, { "address": "51D8DC34B7FF2400A6379D7DDCB632882767132A", "pub_key": { "type": "tendermint/PubKeyEd25519", "value": "kveDHicsiY2RpL8h4Bc2D7jkw0nQ3JT8jxV++4sL6PA=" }, "voting_power": "9999999999", "proposer_priority": "0" } ], "proposer": { "address": "0AFD6FA0F51612658E4708425C493B0F3ADCF80E", "pub_key": { "type": "tendermint/PubKeyEd25519", "value": "1OdXg6aqXCsAuAUnnvI7DAy+0r0qlGj1bKAiNlfddxY=" }, "voting_power": "9999999999", "proposer_priority": "-19999999998" } }, "proposal": null, "proposal_block": null, "proposal_block_parts": null, "locked_round": "-1", "locked_block": null, "locked_block_parts": null, "valid_round": "-1", "valid_block": null, "valid_block_parts": null, "votes": [ { "round": "0", "prevotes": [ "nil-Vote", "nil-Vote" ], "prevotes_bit_array": "BA{2:__} 0/19999999998 = 0.00", "precommits": [ "nil-Vote", "nil-Vote" ], "precommits_bit_array": "BA{2:__} 0/19999999998 = 0.00" } ], "commit_round": "-1", "last_commit": null, "last_validators": { "validators": [], "proposer": null } }, "peers": [] }

sly514 (Mon, 21 Jan 2019 16:13:17 GMT):
curl -s 192.168.144.5:20001/consensus { "jsonrpc": "2.0", "id": "", "result": { "round_state": { "height": "1", "round": "0", "step": 1, "start_time": "2019-01-21T16:08:15.7393207Z", "commit_time": "0001-01-01T00:00:00Z", "validators": { "validators": [ { "address": "0AFD6FA0F51612658E4708425C493B0F3ADCF80E", "pub_key": { "type": "tendermint/PubKeyEd25519", "value": "1OdXg6aqXCsAuAUnnvI7DAy+0r0qlGj1bKAiNlfddxY=" }, "voting_power": "9999999999", "proposer_priority": "-19999999998" }, { "address": "51D8DC34B7FF2400A6379D7DDCB632882767132A", "pub_key": { "type": "tendermint/PubKeyEd25519", "value": "kveDHicsiY2RpL8h4Bc2D7jkw0nQ3JT8jxV++4sL6PA=" }, "voting_power": "9999999999", "proposer_priority": "0" } ], "proposer": { "address": "0AFD6FA0F51612658E4708425C493B0F3ADCF80E", "pub_key": { "type": "tendermint/PubKeyEd25519", "value": "1OdXg6aqXCsAuAUnnvI7DAy+0r0qlGj1bKAiNlfddxY=" }, "voting_power": "9999999999", "proposer_priority": "-19999999998" } }, "proposal": null, "proposal_block": null, "proposal_block_parts": null, "locked_round": "-1", "locked_block": null, "locked_block_parts": null, "valid_round": "-1", "valid_block": null, "valid_block_parts": null, "votes": [ { "round": "0", "prevotes": [ "nil-Vote", "nil-Vote" ], "prevotes_bit_array": "BA{2:__} 0/19999999998 = 0.00", "precommits": [ "nil-Vote", "nil-Vote" ], "precommits_bit_array": "BA{2:__} 0/19999999998 = 0.00" } ], "commit_round": "-1", "last_commit": null, "last_validators": { "validators": [], "proposer": null } }, "peers": [] }

sly514 (Mon, 21 Jan 2019 16:13:17 GMT):
Hi can anyone validate my setup? thx curl -s 192.168.144.5:20001/consensus { "jsonrpc": "2.0", "id": "", "result": { "round_state": { "height": "1", "round": "0", "step": 1, "start_time": "2019-01-21T16:08:15.7393207Z", "commit_time": "0001-01-01T00:00:00Z", "validators": { "validators": [ { "address": "0AFD6FA0F51612658E4708425C493B0F3ADCF80E", "pub_key": { "type": "tendermint/PubKeyEd25519", "value": "1OdXg6aqXCsAuAUnnvI7DAy+0r0qlGj1bKAiNlfddxY=" }, "voting_power": "9999999999", "proposer_priority": "-19999999998" }, { "address": "51D8DC34B7FF2400A6379D7DDCB632882767132A", "pub_key": { "type": "tendermint/PubKeyEd25519", "value": "kveDHicsiY2RpL8h4Bc2D7jkw0nQ3JT8jxV++4sL6PA=" }, "voting_power": "9999999999", "proposer_priority": "0" } ], "proposer": { "address": "0AFD6FA0F51612658E4708425C493B0F3ADCF80E", "pub_key": { "type": "tendermint/PubKeyEd25519", "value": "1OdXg6aqXCsAuAUnnvI7DAy+0r0qlGj1bKAiNlfddxY=" }, "voting_power": "9999999999", "proposer_priority": "-19999999998" } }, "proposal": null, "proposal_block": null, "proposal_block_parts": null, "locked_round": "-1", "locked_block": null, "locked_block_parts": null, "valid_round": "-1", "valid_block": null, "valid_block_parts": null, "votes": [ { "round": "0", "prevotes": [ "nil-Vote", "nil-Vote" ], "prevotes_bit_array": "BA{2:__} 0/19999999998 = 0.00", "precommits": [ "nil-Vote", "nil-Vote" ], "precommits_bit_array": "BA{2:__} 0/19999999998 = 0.00" } ], "commit_round": "-1", "last_commit": null, "last_validators": { "validators": [], "proposer": null } }, "peers": [] }

sly514 (Mon, 21 Jan 2019 19:37:16 GMT):
failed to list key: rpc error: code = Unavailable desc = all SubConns are in TransientFailure, latest connection error: connection error: desc = "transport: Error while dialing dial tcp 172.26.0.2:10997: connect: connection refused"

sly514 (Mon, 21 Jan 2019 19:54:29 GMT):
thank you @seanyoung

AnhDinh (Tue, 22 Jan 2019 07:13:14 GMT):
Has joined the channel.

AnhDinh (Tue, 22 Jan 2019 07:14:38 GMT):
Question: it says "Burrow exposes REST and JSON-RPC endpoints to interact with the blockchain network". But where are the endpoints? Are there REST APIs or NodeJS APIs that one can use to write a client to interact with Burrow?

seanyoung (Tue, 22 Jan 2019 09:25:56 GMT):
@AnhDinh see https://www.npmjs.com/package/@monax/burrow

harishbm34 (Tue, 22 Jan 2019 10:14:59 GMT):
Has joined the channel.

harishbm34 (Tue, 22 Jan 2019 10:16:34 GMT):
Hi All, I am preparing the test-net for Hyperledger - burrow. To do this, how can we generate private key, public key and validators for the nodes?

sly514 (Tue, 22 Jan 2019 10:34:57 GMT):
Hi, I have setup my keys server in a separate container and after having exposed and published 10997 I get : failed to list key: rpc error: code = Unavailable desc = transport is closing This is from a command line from another container within the docker network or from my host. Will the command line work remote also or grpc client is mandatory?

sly514 (Tue, 22 Jan 2019 12:24:09 GMT):
getting messages like this: "caller":"switch.go:493","component":"Tendermint","err":"incompatible: Peer is on a different network. Got BurrowChain_B8849F-D84959, expected BurrowChain_B8849F-07E27F","log_channel":"Info","message":"Inbound Peer rejected","module":"p2p","numPeers":0,"run_id":"a31f6078-1e3e-11e9-868a-e14dbc98940e","scope":"tendermint.NewNode","time":"2019-01-22T12:10:02.8677948Z"}

sly514 (Tue, 22 Jan 2019 14:29:25 GMT):
keys --host 192.168.192.3 list failed to list key: rpc error: code = Unavailable desc = all SubConns are in TransientFailure, latest connection error: connection error: desc = "transport: Error while dialing dial tcp 192.168.192.3:10997: connect: connection refused"

seanyoung (Tue, 22 Jan 2019 15:03:26 GMT):
sly514: that looks like a networking problem. How are you setting up your burrow network?

seanyoung (Tue, 22 Jan 2019 15:03:36 GMT):
@sly514 ^^

sly514 (Tue, 22 Jan 2019 15:17:18 GMT):
Hi this is my docker .yaml https://pastebin.com/1vAqtaHq

sly514 (Tue, 22 Jan 2019 15:17:41 GMT):
So a container for esch node and one for the keys server

sly514 (Tue, 22 Jan 2019 15:17:41 GMT):
So a container for each node and one for the keys server

seanyoung (Tue, 22 Jan 2019 15:48:13 GMT):
I can't see what test3.py is or what it does

seanyoung (Tue, 22 Jan 2019 15:49:35 GMT):
you need to make sure that the keys server is running in the container, and that it is listening. You can check that with ss -tl

sly514 (Tue, 22 Jan 2019 16:56:34 GMT):
# netstat -l Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 127.0.0.11:46493 0.0.0.0:* LISTEN tcp 0 0 localhost:10997 0.0.0.0:* LISTEN udp 0 0 127.0.0.11:45196 0.0.0.0:*

compleatang (Tue, 22 Jan 2019 17:55:07 GMT):
@harishbm34 `burrow keys` is the starting point you can use.

sly514 (Tue, 22 Jan 2019 20:44:12 GMT):
Hi! still cant' get my keys server to work outside of the container.... Can you tell me anything about the [Keys] section of the config file?

sly514 (Tue, 22 Jan 2019 20:44:12 GMT):
Hi! still cant' get my keys server to work outside of the container.... Can you tell me anything about the [Keys] section of the .burrow_val0.toml file?

sly514 (Tue, 22 Jan 2019 20:44:14 GMT):
[Keys] GRPCServiceEnabled = true AllowBadFilePermissions = true RemoteAddress = "" KeysDirectory = "/root/.keys"

sly514 (Tue, 22 Jan 2019 21:08:58 GMT):
@seanyoung this is the content of the test3.python

sly514 (Tue, 22 Jan 2019 21:09:00 GMT):
import toml import json import socket from dotenv import load_dotenv, find_dotenv import os import subprocess import time def main(): try: with open('/root/.sawtooth/keys/my_key.priv') as key_fd: private_key_str = key_fd.read().strip() except OSError as err: raise Exception( 'Failed to read private key {}: {}'.format(key_file, str(err))) subprocess.Popen(['burrow', 'keys', 'server', '--dir', '/root/.keys' ]) time.sleep(3) out = subprocess.check_output(["burrow", "keys", "import", "-n", "-t", "secp256k1", private_key_str]) while(1): time.sleep(3) print('burrow_key_server') if __name__ == "__main__": main()

sly514 (Tue, 22 Jan 2019 21:09:15 GMT):
Just starting the server and importing some keys

sly514 (Wed, 23 Jan 2019 14:20:24 GMT):
Hi again, I think I am getting closer to where my problem lies. would the EnvVar: "MONAX_KEYS_HOST" and EnvVar: "MONAX_KEYS_PORT" have anything to do with me not being able to connect by any chance?

sly514 (Wed, 23 Jan 2019 14:20:40 GMT):
I do not have these variables set

seanyoung (Wed, 23 Jan 2019 15:12:25 GMT):
@sly514 you do not need to have those environment variables set. Most likely your python script is not starting burrow keys correctly. You are starting burrow keys with subprocess.Popen() but you are not reading the output of the popen, so any errors will be lost

seanyoung (Wed, 23 Jan 2019 15:12:41 GMT):
(if I'm reading it correctly)

sly514 (Wed, 23 Jan 2019 15:21:46 GMT):
ok super thx

sly514 (Wed, 23 Jan 2019 16:59:28 GMT):
@seanyoung if I log in toi my keys server container the output of ps aux is:

sly514 (Wed, 23 Jan 2019 16:59:29 GMT):
ps aux PID USER TIME COMMAND 1 root 0:00 python /root/test3.py 9 root 0:00 burrow keys server --dir /root/.keys 31 root 0:00 sh 58 root 0:00 ps aux

sly514 (Wed, 23 Jan 2019 16:59:35 GMT):
So my server is running

seanyoung (Wed, 23 Jan 2019 17:28:33 GMT):
does "burrow keys list" do anything in the container?

sly514 (Wed, 23 Jan 2019 17:57:51 GMT):
yes

sly514 (Wed, 23 Jan 2019 17:57:57 GMT):
it lists the keys

sly514 (Wed, 23 Jan 2019 19:35:05 GMT):
Thanks for your help Sean this looks more and more like a docker issue

harishbm34 (Thu, 24 Jan 2019 04:35:14 GMT):
Hi, Could you please someone help me to setup the testnet of Hyperledger-burrow?

harishbm34 (Thu, 24 Jan 2019 09:00:04 GMT):
Hi, Why do we get the below error?

harishbm34 (Thu, 24 Jan 2019 09:00:07 GMT):
Sourcing config from first of: Config file at 'burrow.toml' then defaults Sourcing config from Config file at 'burrow.toml' could not obtain config: unknown permission 16383

harishbm34 (Thu, 24 Jan 2019 09:00:29 GMT):
when trying to setup the testnet

compleatang (Thu, 24 Jan 2019 10:12:09 GMT):
can you pastebin your burrow.toml?

compleatang (Thu, 24 Jan 2019 10:12:25 GMT):
which step in the example tutorials are you on which is causing this?

seanyoung (Thu, 24 Jan 2019 10:16:41 GMT):
@harishbm34 in burrow 0.23 we changed the permissions field in the genesis doc. It used to be number which was interpreted as bit fields, now it is strings which is much more readable: "GlobalPermissions": { "Base": { "Perms": "send | call | createContract | createAccount | bond | name | proposal | input | batch | hasBase | hasRole", "SetBit": "root | send | call | createContract | createAccount | bond | name | proposal | input | batch | hasBase | setBase | unsetBase | setGlobal | hasRole | addRole | removeRole" } },

seanyoung (Thu, 24 Jan 2019 10:16:53 GMT):
you might need to re-generate your genesis doc

harishbm34 (Thu, 24 Jan 2019 10:50:03 GMT):
@compleatang : I am trying to set up the test - net with two nodes. As a first step, I have run the burrow with the following option "burrow spec -p2 -f2 | burrow configure -s- > burrow.toml " . After this step, "burrow.toml" will have 2 accounts , 2 validators and 2 participants. After this, I have added the address@ip_address of one node to the PersistancePeers="". Similarly, added the address of another node to the "persistancePeer="" of another node. Then, I am trying to run the burrow with the following option "burrow start --validator-index=0". But this is not working. Could you please share the steps to set-up the test-node if you have please.

harishbm34 (Thu, 24 Jan 2019 10:50:03 GMT):
@compleatang : I am trying to set up the test - net with two nodes. As a first step, I have run the burrow with the following option "burrow spec -p2 -f2 | burrow configure -s- > burrow.toml " . After this step, "burrow.toml" will have 2 accounts , 2 validators and 2 participants. After this, I have added the address@ip_address:port to "burrow.toml" of one node at the PersistancePeers="" section. Similarly, added the address of another node to the "persistancePeer="" section of "burrow.toml" of another node. Then, I am trying to run the burrow with the following option "burrow start --validator-index=0". But this is not working. Could you please share the steps to set-up the test-node if you have please.

harishbm34 (Thu, 24 Jan 2019 10:53:11 GMT):
@seanyoung : yes, you are right.. If I follow the same step on "linux" i am getting the permission as you said. But on Mac, it is completely different. Please guide me on this..!!

NitheshS (Thu, 24 Jan 2019 11:37:44 GMT):
Has joined the channel.

compleatang (Thu, 24 Jan 2019 12:02:08 GMT):
https://github.com/hyperledger/burrow/blob/develop/docs/quickstart/multiple-validators.md

compleatang (Thu, 24 Jan 2019 12:02:45 GMT):
@harishbm34 you may have an old burrow on your osx machine. make sure you have the same version as that changed between (i think) 0.21. and now.

harishbm34 (Thu, 24 Jan 2019 14:50:36 GMT):
@compleatang : Thanks a lot.!! I am able to set-up :)

sly514 (Thu, 24 Jan 2019 17:46:33 GMT):
Hi, was wondering how to setup the config file if I am to run "burrow keys server --config keyserver_conf_file.toml". Do I fill in the [Keys] section only or how does this work?

sly514 (Thu, 24 Jan 2019 17:46:33 GMT):
Hi, was wondering how to setup the config file if I am to run "burrow keys server --config keyserver_conf_file.toml". Do I fill in the [Keys] section only or how does this work? What about the --keys-url flag for burrow configure?

sly514 (Thu, 24 Jan 2019 17:46:33 GMT):
ah ok unc DefaultKeysConfig() *KeysConfig { return &KeysConfig{ // Default Monax keys port GRPCServiceEnabled: true, AllowBadFilePermissions: false, RemoteAddress: "", KeysDirectory: DefaultKeysDir, } }

sly514 (Thu, 24 Jan 2019 17:46:33 GMT):
unc DefaultKeysConfig() *KeysConfig { return &KeysConfig{ // Default Monax keys port GRPCServiceEnabled: true, AllowBadFilePermissions: false, RemoteAddress: "", KeysDirectory: DefaultKeysDir, } }

sly514 (Thu, 24 Jan 2019 22:59:40 GMT):
I assume =the remote address field is going to be the address of the keys server

sly514 (Thu, 24 Jan 2019 22:59:40 GMT):
I assume the remote address field is going to be the address of the keys server, in that case what format? tcp://address:port?

Spar (Fri, 25 Jan 2019 01:50:26 GMT):
Has joined the channel.

seanyoung (Fri, 25 Jan 2019 09:38:46 GMT):
@sly514 just hostL:post

Spar (Fri, 25 Jan 2019 14:45:46 GMT):
I have followed the installation instructions on github and I've created the burrow binary. However when I follow the create single node instructions I get bash: burrow: command not found. This is from inside the burrow directory. I'm on macOS Mojave.

Spar (Fri, 25 Jan 2019 14:55:04 GMT):
I have also run the burrow binary and I get the start up dialog that shows usage syntax and commands but any burrow command I type gets that error.

Spar (Fri, 25 Jan 2019 17:31:15 GMT):
go version go1.11.4 darwin/amd64

compleatang (Fri, 25 Jan 2019 17:42:52 GMT):
@Spar that's a basic path issue. Make sure your gopath/bin is in your path. There's lots of help on google for this. It's a matter of how go deals with things. Or if you ran make build then just call the binary directly. Or move the binary somewhere into your path.

Spar (Fri, 25 Jan 2019 17:49:08 GMT):
Thats kind of what I thought. Ill keep screwing around with it, Thanks.

Spar (Fri, 25 Jan 2019 19:06:14 GMT):
I got it running, thanks!

compleatang (Sun, 27 Jan 2019 22:33:31 GMT):
:-)

mwklein (Mon, 28 Jan 2019 02:03:29 GMT):
Has joined the channel.

peter.danko (Mon, 28 Jan 2019 11:33:53 GMT):
Has joined the channel.

peter.danko (Mon, 28 Jan 2019 11:41:08 GMT):
Has left the channel.

XristosPatsonakis (Tue, 29 Jan 2019 09:48:51 GMT):
Has joined the channel.

XristosPatsonakis (Tue, 29 Jan 2019 09:49:48 GMT):
Hello everyone, I would like to ask if HyperLedger burrow has a working lightweight node implementation?

compleatang (Wed, 30 Jan 2019 10:15:01 GMT):
not at this time.

efn (Wed, 30 Jan 2019 13:16:27 GMT):
Hi, where can I see the rpc methods supported? for instance, I want to make a call to get a block, how can I do so?! I'm using deploy/def/client.go for the client implementation

efn (Wed, 30 Jan 2019 13:16:27 GMT):
Hi, where can I see the rpc methods supported? for instance, I want to make a call to get a block, how can I do so?! I'm using deploy/def/client.go for the client implementation

seanyoung (Wed, 30 Jan 2019 13:19:03 GMT):
@efn Look at the files that match rpc*.proto in https://github.com/hyperledger/burrow/tree/develop/protobuf

seanyoung (Wed, 30 Jan 2019 13:19:17 GMT):
They define the grpc interface burrow provides

efn (Wed, 30 Jan 2019 13:19:27 GMT):
Do you recommend a different language implementation for implementing a client?

seanyoung (Wed, 30 Jan 2019 13:19:37 GMT):
The server implementation is https://github.com/hyperledger/burrow/tree/develop/rpc

seanyoung (Wed, 30 Jan 2019 13:22:18 GMT):
grpc is pretty well supported in any language, so I'm not sure there is a language we can recommend. That being said, there is an example of a golang client in the source, so presumably it's easier to use that as an example

efn (Wed, 30 Jan 2019 13:29:25 GMT):
Thanks, do you know where's the example of the client?

seanyoung (Wed, 30 Jan 2019 13:30:22 GMT):
https://github.com/hyperledger/burrow/blob/develop/deploy/def/client.go#L51

seanyoung (Wed, 30 Jan 2019 13:30:50 GMT):
https://github.com/hyperledger/burrow/blob/develop/cmd/burrow/commands/dump.go

seanyoung (Wed, 30 Jan 2019 13:31:31 GMT):
and another example: https://github.com/hyperledger/burrow/blob/develop/cmd/burrow/commands/keys.go#L25

efn (Wed, 30 Jan 2019 13:33:56 GMT):
Thanks, I'll try something

seanyoung (Wed, 30 Jan 2019 13:40:13 GMT):
btw here is an example of blocks being retrieved: https://github.com/hyperledger/burrow/blob/develop/vent/service/consumer.go#L143

bdjidi (Wed, 30 Jan 2019 20:11:30 GMT):
Has left the channel.

duckthatquantum (Thu, 31 Jan 2019 01:37:18 GMT):
Has joined the channel.

efn (Thu, 31 Jan 2019 08:26:23 GMT):
Cool, manage to use the library at `rpc/rpcinfo/infoclient``

efn (Thu, 31 Jan 2019 08:26:23 GMT):
Cool, manage to use the library at `rpc/rpcinfo/infoclient`

efn (Thu, 31 Jan 2019 08:27:18 GMT):
Do you know if there is a way to subscribe to events in burrow? Like whenever a block is created

efn (Thu, 31 Jan 2019 08:27:18 GMT):
Do you know if there is a way to subscribe to events in burrow? Like whenever a block is created

seanyoung (Thu, 31 Jan 2019 09:32:41 GMT):
@efn the GetBlocks() can be called in a streaming fashion. That's exactly what happens here https://github.com/hyperledger/burrow/blob/develop/vent/service/consumer.go#L143

seanyoung (Thu, 31 Jan 2019 09:33:17 GMT):
That means the connection will remain open and any new blocks will be published as soon as they are committed

efn (Thu, 31 Jan 2019 09:59:49 GMT):
I need in fact is the signed headers, but I already did the methods to get them, will try to modify them accordingly, Thanks a lot :)

compleatang (Thu, 31 Jan 2019 17:15:02 GMT):
@efn rhe infoRPC is really for simple http based requests that return json whereas the grpc uses protobufs and is much more feature rich in terms of the information it can retrieve, filter for, stream etc. If it doesn't have info you need in either please do let us know via GH issues and we'll see about getting the information added. That said we already expose pretty much all the info.

mossmanpete (Thu, 31 Jan 2019 22:47:53 GMT):
Has joined the channel.

efn (Fri, 01 Feb 2019 16:57:30 GMT):
I need to get a structure with a header and the commits for the header, much like `SignedHeader` in tendermint. I'm implementing in the same fashion as the grpc to get stream of blocks. Any hints where can I get the Commit and Header inside `executionEventsServer`?

efn (Fri, 01 Feb 2019 17:13:52 GMT):
found a way to put it inside the Query grpc, `rpcquery.proto`. I can access the `tendermint.nodeView` from there, and get it there

efn (Fri, 01 Feb 2019 17:13:52 GMT):
found a way to put it inside the Query grpc, `rpcquery.proto`. I can access the `tendermint.nodeView` from there, and get it there, thanks a lot for the input :)

mossmanpete (Fri, 01 Feb 2019 23:12:34 GMT):
hello all! i am evaluating sawtooth vs burrow for a project i'm starting at Pueblo.Global

mossmanpete (Fri, 01 Feb 2019 23:13:40 GMT):
wanted to know if anyone can tell me why i'd want to use Burrow rather than Sawtooth for any reason other than PBFT security?

mossmanpete (Fri, 01 Feb 2019 23:15:39 GMT):
i am not excited about the SGX enclave support for BFT in sawtooth, but everything else about it looks to have more opportunity than Burrow ... though i don't think i'll be able to wait for the PBFT engine in sawtooth to be ready.

silasdavis (Tue, 05 Feb 2019 09:12:28 GMT):
@efn did you find you needed to modify Burrow code? I can see that this is useful data and I'd be very open to adding it to the rpcquery interface. Perhaps you would be able to make a contribution via a pull request?

silasdavis (Tue, 05 Feb 2019 09:13:51 GMT):
@mossmanpete Sawtooth actually have an early version of PBFT support - https://github.com/hyperledger/sawtooth-pbft/. It lacks some of the optimisations and maturity of Tendermint - but it is looking good.

silasdavis (Tue, 05 Feb 2019 09:18:52 GMT):
As for comparison, it is difficult to answer in such broad strokes, but I'll try not to cop out: For Sawtooth: - Flexible modular framework - Nice architecture - Multiple transactions processors - More developers - Web3 support with EVM integration For Burrow: - Fast/light single binary with everything included (bootstrapping Burrow can be done entirely with the single binary - deployment, SQL cache generation (via Vent), key serving daemon. The 'Redis of blockchain' (as I dubiously coined some time ago) - First class EVM support / EVM only (Sawtooth uses our implementation) - Extensible as a Go library (always trying to improve this

silasdavis (Tue, 05 Feb 2019 09:18:52 GMT):
As for comparison, it is difficult to answer in such broad strokes, but I'll try not to cop out: For Sawtooth: - Flexible modular framework - Nice architecture - Multiple transactions processors - More developers - Web3 support with EVM integration For Burrow: - Fast/light single Go binary with everything included (bootstrapping Burrow can be done entirely with the single binary - deployment, SQL cache generation (via Vent), key serving daemon. The 'Redis of blockchain' (as I dubiously coined some time ago) - First class EVM support / EVM only (Sawtooth uses our implementation) - Extensible as a Go library (always trying to improve this - Tendermint BFT (much closer to maturity than any other PoS/PoA supporting system I know) - Focus on running public permissioned processes (contrast the consortia focus of other Hyperledger projects - though that is historical more than fundamental)

silasdavis (Tue, 05 Feb 2019 09:22:08 GMT):
The scope of the Sawtooth project is in some ways more ambitious than Burrow, but because of that they do have more moving parts

silasdavis (Tue, 05 Feb 2019 09:22:41 GMT):
Also for what it's worth Burrow is an older codebase (though several refactors deep) than any other project in Hyperledger

efn (Tue, 05 Feb 2019 10:27:15 GMT):
@silasdavis Is really not well done right now, when I have more time I'd try to understand better how the `Query` works for matching things. Thanks

DJEMOA (Tue, 05 Feb 2019 13:14:40 GMT):
Has joined the channel.

DJEMOA (Tue, 05 Feb 2019 13:15:10 GMT):
Hi, Hi

DJEMOA (Tue, 05 Feb 2019 13:20:28 GMT):
Hello everyone,``` ``` please, I would like to know if it is possible to generate abi ans bytecode from a chaincode ? ``` In fact as we can use burrow to run solidity smart contract in Hyperledger fabric, I wanted to know if we could run chaincode written in go in Ethereum by generating ABI and ByteCode.``` Thanks a lot in advance and best regards ``` ```

seanyoung (Tue, 05 Feb 2019 13:24:14 GMT):
@DJEMOA there is no golang compiler which can target evm bytecode/abi.

seanyoung (Tue, 05 Feb 2019 13:25:25 GMT):
golang can target wasm and wasm would be a great to have supported in burrow. This is why I've started the solang project: https://github.com/hyperledger-labs/solang

seanyoung (Tue, 05 Feb 2019 13:26:50 GMT):
With all of that in place we can have chaincode written in rust, golang and solidity. But it is not finished yet

seanyoung (Tue, 05 Feb 2019 13:27:25 GMT):
Ethereum also have plans to move to wasm but there is not much code written to make that possible

seanyoung (Tue, 05 Feb 2019 13:27:40 GMT):
(again solang would help here too)

seanyoung (Tue, 05 Feb 2019 13:28:41 GMT):
evm bytecode is awful and could never be a target of a golang/rust compiler

compleatang (Tue, 05 Feb 2019 17:49:05 GMT):
to add to what @seanyoung said @DJEMOA in terms of directly connecting existing fabric chaincode to EVM contracts within a fabric-EVM system you'd need to ask over in the #fabric-evm room as that is really on their end rather than the burrow end.

silasdavis (Tue, 05 Feb 2019 21:21:30 GMT):
@efn btw if you are after commits then you will want the rpcinfo endpoint, in particular `http ':26658/block?height=7' | jq '.result.Block.last_commit'` will get you the commit for height 6 (note the query is for height 7). SignedCommit doesn't really buy you anything over block since it needs to have block n+1 to get you the commit for block n (it comes from last_commit), so it is really just a helper around that. We provide block headers from the GRPC because they have a protobuf definition. Commits don't and so it is easier to provide them as JSON over HTTP. Casey is right to say there is much richer information on GRPC regarding the execution - i.e. 'our side' rather than Tendermint's

silasdavis (Tue, 05 Feb 2019 21:22:33 GMT):
I'd be interested to know what you are trying to achieve - perhaps there is something we might include in the execution events

mossmanpete (Tue, 05 Feb 2019 22:19:35 GMT):
@silasdavis thank you for that info! looks to me like burrow would be easier to get setup and running... whereas sawtooth will have more flexibility and complexity

mossmanpete (Tue, 05 Feb 2019 22:27:49 GMT):
@silasdavis all i can tell from the sawtooth-pbft github is that "there is still a long way to go" ... guess we'll launch with CFT and hope for the best while contributing to the PBFT algo.

mossmanpete (Tue, 05 Feb 2019 22:52:37 GMT):
it is looking like we may have use for multiple blockchains, and the ability to boot up a blockchain on demand, so some uses for burrow on non-central systems may be best for our situation. tahnks!

mossmanpete (Wed, 06 Feb 2019 01:50:18 GMT):
was wondering... is anyone working on a WASM VM for Burrow?

mossmanpete (Wed, 06 Feb 2019 01:51:13 GMT):
doing more research, i think i may launch with Burrow, and use OTX [ http://opentransactions.org ] for a cross-chain/off-chain application layer i was planning to work with.

silasdavis (Wed, 06 Feb 2019 09:48:50 GMT):
Sawtooth also have no squirrel support...

silasdavis (Wed, 06 Feb 2019 09:49:44 GMT):
I do a lot of work in the form of talking about how great it would be (to have WASM)

silasdavis (Wed, 06 Feb 2019 11:18:25 GMT):
It is my intention to try and add a WASM VM alongside the EVM

silasdavis (Wed, 06 Feb 2019 11:19:03 GMT):
but work has not started on that and is not scheduled this quarter - I think we have spoken about Q2/Q3

Spar (Wed, 06 Feb 2019 16:54:56 GMT):
I'm interested in contributing to the burrow project. Where is a good place to get started? I"m learning golang and solidity.

compleatang (Wed, 06 Feb 2019 17:19:46 GMT):
hi @Spar that would be super! we have a number of issues marked as good starter issues and/or help wanted. those are always a good place to start! :-) https://github.com/hyperledger/burrow/issues?q=is%3Aopen+is%3Aissue+label%3A%22status%2Fhelp+wanted%22

mossmanpete (Wed, 06 Feb 2019 20:45:45 GMT):
@silasdavis i just noticed the WASM execution feature on the Q1 2019 roadmap

mossmanpete (Wed, 06 Feb 2019 20:48:31 GMT):
i'm really excited to be working with Burrow now, at first i thought "more features, good!" but Burrow does everything i want it to, and is a better fit. Seems that with all the open source Solidity contracts, DApps, and off-chain channels that have been designed, this is at least a superior blockchain without the downfalls of the Ethereum network.

mossmanpete (Wed, 06 Feb 2019 20:49:53 GMT):
i'm trying to find anything about hardware requirements for Burrow though... i remember when i could no longer mine ETH on my GPUs due to mempool exceeding my physical memory. this is obviously lightweight in comparison, but can i run it on a RasPi?

compleatang (Wed, 06 Feb 2019 23:48:27 GMT):
we routinely run nodes in containers which have less compute and memory than a RaspPi would so resources wise it *should* be ok. AFAIK there are no current issues compiling to arm (but if there are we'd like to know). to be clear, we're unlikely to ship full WASM in Q1. We do intend to begin our experimentation in that area. If WASM is of interest, there is also a Hyperledger Labs project headed by @seanyoung to work on compiling solidity into WASM which may be of interest to you as well.

compleatang (Wed, 06 Feb 2019 23:48:46 GMT):
finally, Welcome to the community! Glad you find Burrow appealing @mossmanpete !

Spar (Thu, 07 Feb 2019 15:15:17 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=5BcRKuN9F2d6HBZC4) @compleatang I'm looking at the starter issues but I'm still not sure how to approach them. This is my first open source project and I'm just learning go. I'm tired of doing programming exercises (exercism.io.) and would like to start building something. I have burrow in my gopath. I have some knowledge of git. I understand blockchain. I'm not a programmer. I'm an attorney that is excited about the potential of smart contracts. I guess I'm having problems understanding the code base. Would you mind explaining how I should approach understanding it? Thanks!

compleatang (Thu, 07 Feb 2019 15:46:50 GMT):
moving to dm.

circlespainter (Sat, 09 Feb 2019 10:25:30 GMT):
Has joined the channel.

SandaruSahan (Sun, 10 Feb 2019 07:24:23 GMT):
Has joined the channel.

SandaruSahan (Sun, 10 Feb 2019 07:24:31 GMT):
Hi i'm sahan. I'm an undergraduate who are working on a blockchain project as my final year project. It's about creating a remote e-voting application. I'm currently struggling with finding a good approach for my application. I've tried ethereum but having pay gas price for each vote(each transaction with blockchain) seems not a good option for me. Since i already worked on solidity. I'm planing on going with hyperledger burrow. But i'm still worried that i will be able to overcome my problem with hyperledger. Thank you

compleatang (Sun, 10 Feb 2019 21:40:07 GMT):
hi sahan, what is hte problem you're trying to overcome?

compleatang (Sun, 10 Feb 2019 21:40:30 GMT):
if it's gas, burrow uses gas but it's a non-economic cost and only their to prevent network seizure

pravn1729 (Mon, 11 Feb 2019 10:09:42 GMT):
Has joined the channel.

tiennv (Tue, 12 Feb 2019 04:43:06 GMT):
Has joined the channel.

loneimmortal (Tue, 12 Feb 2019 15:47:25 GMT):
Has joined the channel.

kelly_ (Tue, 12 Feb 2019 22:02:22 GMT):
Hey all! Burrow has an update due to the TSC this week. Remember we are now using Confluence: https://wiki.hyperledger.org/display/HYP/TSC+Project+Updates @compleatang @silasdavis

efn (Wed, 13 Feb 2019 15:22:11 GMT):
Hi, From the `MutableForest` I need to get a merkle proof from a tree inside it, let's say an account. Any idea how can I do this now with this new design?

efn (Wed, 13 Feb 2019 15:42:58 GMT):
Was thinking about getting a proof from the `commitsTree`, but before the keys were more simple, "a" + address, now, "a" itself is a tree, if I understood correctly, and I need a path that goes from the top of the `commitsTree` down to the key inside "a"

efn (Wed, 13 Feb 2019 16:17:58 GMT):
I think I understand now, I need two merkle trees, one that says the hash for the prefix "a" from commitsTree is X, and one that does the address -> account, with root X

efn (Wed, 13 Feb 2019 16:24:21 GMT):
Why is the accounts handled in this way but the storage still keeps its keys at "s"+key?

efn (Wed, 13 Feb 2019 16:24:21 GMT):
Why are accounts handled in this way but the storage still keeps its keys at "s"+key?

jayapalreddy (Thu, 14 Feb 2019 10:32:39 GMT):
Has joined the channel.

jayapalreddy (Thu, 14 Feb 2019 10:32:53 GMT):
is there a rodmap in burrow to support Wallets and crytptoken development

suchitrotti (Thu, 14 Feb 2019 10:41:07 GMT):
Has joined the channel.

toniyasundaram (Thu, 21 Feb 2019 04:03:03 GMT):
Hi All.. I am trying to use @monax/burrow npm module. When I use burrow.executionEvents.GetTx method I get this error "Error: 2 UNKNOWN: transaction with hash 20744BBA297C0768C14D4B3BA46AF562F3216BCB not found in state" .. Can someone advice how can I solve this

toniyasundaram (Thu, 21 Feb 2019 04:03:04 GMT):
?

haggs (Thu, 21 Feb 2019 06:02:50 GMT):
Has joined the channel.

pravn1729 (Thu, 21 Feb 2019 12:52:30 GMT):
Hi Everyone, Can i connect burrow network through RPC or web3js .If so could you please provide methods of rpc. Will burrow support private data concept ?

pravn1729 (Thu, 21 Feb 2019 12:52:30 GMT):
Hi Everyone, Can i connect burrow network through RPC or web3js .If so could you please provide reference link to methods of rpc. Will burrow support private data concept ?

zorrothefox (Thu, 21 Feb 2019 13:15:27 GMT):
Has joined the channel.

toniyasundaram (Fri, 22 Feb 2019 02:34:22 GMT):
@pravn1729 library to connect to burrow GRPC https://www.npmjs.com/package/@monax/burrow

compleatang (Fri, 22 Feb 2019 10:07:21 GMT):
@toniyasundaram never seen that error before when the tx was actually in the chain. you can query the info port for the block to make sure it's there with curl or postman or whatever....

koq 1 (Fri, 22 Feb 2019 10:24:57 GMT):
Has joined the channel.

efn (Fri, 22 Feb 2019 12:43:56 GMT):
Hi, is there a reason the CREATE opcode behaves differently in burrow than in Ethereum?

efn (Fri, 22 Feb 2019 12:43:56 GMT):
Hi, is there a reason the CREATE opcode behaves differently in burrow than in Ethereum? For instance, the transaction hash is appended in the nonce when calculating

toniyasundaram (Fri, 22 Feb 2019 13:28:44 GMT):
sure thanks @compleatang

JoeriExelmans (Fri, 22 Feb 2019 16:31:26 GMT):
Hello again, I'm trying to implement signing transactions without the burrow key server. So far not much success, my own generated signatures give `Error: 13 INTERNAL: grpc: error unmarshalling request: proto: illegal wireType 7`. So now I'm investigating the behavior of the 'SignTx' function of the keys service, but I've noticed that the signature returned by SignTx is 68 bytes long instead of 64 bytes. If I strip the first 4 bytes (leaving 64 bytes) it is a valid signature according to the ed25519 NPM package. What are the first 4 bytes for?

JoeriExelmans (Fri, 22 Feb 2019 16:31:26 GMT):
Hello again, I'm trying to implement signing transactions without the burrow key server. So far not much success, my own generated signatures give `Error: 13 INTERNAL: grpc: error unmarshalling request: proto: illegal wireType 7`. So now I'm investigating the behavior of the 'SignTx' function of the keys service, and I've noticed that the signature returned by SignTx is 68 bytes long instead of 64 bytes. If I strip the first 4 bytes (leaving 64 bytes) it is a valid signature according to the ed25519 NPM package. What are the first 4 bytes for?

pravn1729 (Sat, 23 Feb 2019 13:24:16 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=4YNxGR4TnaY8hAYYT) @toniyasundaram Thank you. Is Burrow production ready ?

pravn1729 (Sat, 23 Feb 2019 13:24:16 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=4YNxGR4TnaY8hAYYT) @toniyasundaram Thank you.

pravn1729 (Sat, 23 Feb 2019 13:24:16 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=4YNxGR4TnaY8hAYYT) @toniyasundaram Thank you. Is it production ready ?

nikolay (Mon, 25 Feb 2019 03:00:41 GMT):
Has joined the channel.

seanyoung (Mon, 25 Feb 2019 12:33:45 GMT):
@efn for the ProposalTx we need addresses which we can predict, so when proposal is ratified, we know what the addresses for the deployed contracts is going to be. So, the way the nonce is calculated is different than ethereum. In general the EVM should match ethereum though, and it seems unlikely that code depends on how the address is calculated. What problems are you encountering?

efn (Mon, 25 Feb 2019 12:43:24 GMT):
@seanyoung I need a more deterministic way to create new contracts from other contracts, but I can do that with create2 now. Was just curious about this modification.

seanyoung (Mon, 25 Feb 2019 12:52:31 GMT):
@JoeriExelmans the error you have is from grpc. It is trying to protobuf-decode the message and failing. The return value from Sign() method in the keys server is https://github.com/hyperledger/burrow/blob/develop/protobuf/keys.proto#L108

sungwook.won (Tue, 26 Feb 2019 01:22:42 GMT):
Has joined the channel.

sungwook.won (Tue, 26 Feb 2019 01:26:51 GMT):
Hello! I'm trying to use Burrow json-rpc via RESTful. It looks not compatible with ethereum json-rpc methods. Is there any future plan to expose ethereum compatible methods?

silasdavis (Tue, 26 Feb 2019 13:49:58 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=TDEyQ2QA6JP7uhnpQ) @jayapalreddy @jayapalreddy this could mean a few things, accounts on a Burrow network can act as hot wallets for our internal token, and our key signing service is effectively a wallet, and anything behind the burrow keys interface could act as this. Support for public wallets such as metamask are something I have thought about, would like in the abstract, but have not had the impetus to build - this relates to the subsequent question on web3 support which I am about to get to answering...

Keegan-Lee (Tue, 26 Feb 2019 19:59:48 GMT):
Has joined the channel.

compleatang (Tue, 26 Feb 2019 20:56:11 GMT):
@sungwook.won we're always looking for help! https://github.com/hyperledger/burrow/issues/331

JoeriExelmans (Wed, 27 Feb 2019 08:31:07 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=7zEZfuJFWfowe4thW) @seanyoung That's not my question. Meanwhile I managed to get local signing with ed25519 keys (in JavaScript) to work, it seems the Signature (https://github.com/hyperledger/burrow/blob/develop/protobuf/crypto.proto#L30) really is a Buffer of 68 bytes. The last 64 bytes are the actual signature and the first 4 bytes are always (in hex:) '08011240', probably the uint32 field "CurveType", but a strange 4 bytes those are!

JoeriExelmans (Wed, 27 Feb 2019 08:34:15 GMT):
If you're interested I'll upload the 76-line TypeScript module that I use for local signing so you can have a look at it. The reason I developed it is because transactions need to be signed on an end-user device (smartphone) that cannot be expected to run a burrow keys server.

silasdavis (Wed, 27 Feb 2019 09:01:06 GMT):
Hi @JoeriExelmans our signature type is described by protobuf, you can use https://www.npmjs.com/package/protobufjs in javascript. I would be very interested to see what you are working on and if you are interesting in contributing to Burrow it is something we would be pleased to add to burrow.js

silasdavis (Wed, 27 Feb 2019 09:10:13 GMT):
The byte you see are `0x08 0x01` == field number 1 (curvetype) is a varint and equals 1, `0x12 0x40` == field number 2 (signature) is length prefixed (bytes) and has length 64. The first byte for each fields encodes the wire type (last three bytes) and the field number with the rest of the bytes.

silasdavis (Wed, 27 Feb 2019 09:10:51 GMT):
You could parse this yourself but I don't recommend it, since it will break if we every change the signature type - whereas by design protobuf will not

silasdavis (Wed, 27 Feb 2019 09:11:23 GMT):
https://developers.google.com/protocol-buffers/docs/encoding

silasdavis (Wed, 27 Feb 2019 09:12:54 GMT):
@seanyoung I note that the KeyClient has a lot of methods for generating keys and whatnot - there used to be a more minimal one - the minimum you need for signing - I think just Sign - do we need PublicKey?

silasdavis (Wed, 27 Feb 2019 09:14:18 GMT):
@JoeriExelmans like I say we should talk about this - signing transactions locally with burrow.js is very much in scope (though not currently supported0 - are you able to use that library?

JoeriExelmans (Wed, 27 Feb 2019 09:21:37 GMT):
We are not using burrow.js because I don't like the design decision to keep one account in the 'burrow' object that is used for all transactions. On each node, possibly multiple accounts are kept in the keystore and for each transaction, a different account could be used. Also I've built my own abstraction library already that encodes calls according to the Ethereum ABI and can use both Burrow and Ethermint as a backend. From that library, it's simpler to just use GRPC directly. I like the GRPC interface and I think effort should be mainly be directed at improving it and its documentation.

JoeriExelmans (Wed, 27 Feb 2019 09:23:44 GMT):
Right now the bytes '08011240' are hardcoded in my solution, I'll look into protobufjs for properly encoding the CurveType and signature length

JoeriExelmans (Wed, 27 Feb 2019 09:25:37 GMT):
Here's my current solution, very much ad-hoc as you can see.: ``` import * as crypto from "crypto"; const ed25519 = require('ed25519'); // Result of GRPC call to rpctransact's FormulateTx. export interface BurrowUnsignedTransaction { ChainID: string; Type: string; Payload: { Input: { Address: string; Sequence?: number; } Address: string; GasLimit: number; Data: string; } } // Param for GRPC call to rpctransact's BroadcastTxSync. export interface BurrowSignedTransaction { Envelope: { Signatories: Array<{ Address: Buffer; PublicKey: { CurveType: number; PublicKey: Buffer; } // The data in 'Tx', signed with the private key of the sender Signature: Buffer; }>; // This will be the JSON.stringified data of BurrowUnsignedTransaction, // with Payload.Input.Sequence filled in. Tx: Buffer; } } export class BurrowKeyPair { readonly address: Buffer; readonly publicKey: Buffer; readonly privateKey: Buffer; constructor(address: Buffer, publicKey: Buffer, privateKey: Buffer) { this.address = address; this.publicKey = publicKey; this.privateKey = privateKey; } sign(tx: BurrowUnsignedTransaction, nonce: number) : BurrowSignedTransaction { tx.Payload.Input.Sequence = nonce+1; // Burrow nonces start counting at 1, as opposed to 0 with Ethereum const message = Buffer.from(JSON.stringify(tx)); const signature = ed25519.Sign(message, this); const signatureWithPrefix = Buffer.concat( [Buffer.from("08011240", 'hex'), // Burrow expects these 4 bytes to precede the signature. They probably indicate the CurveType, although it's a strange thing. signature]); const signedTx = { Envelope: { Signatories: [ { Address: this.address, PublicKey: { CurveType: 1, PublicKey: this.publicKey, }, Signature: signatureWithPrefix, }, ], Tx: message, }, }; return signedTx; } static generate() : BurrowKeyPair { const randomSeed = crypto.randomBytes(32); const {publicKey, privateKey} = ed25519.MakeKeypair(randomSeed); const address = crypto.createHash('sha256').update(publicKey).digest().slice(0,20); return new BurrowKeyPair(address, publicKey, privateKey); } } ```

JoeriExelmans (Wed, 27 Feb 2019 09:25:37 GMT):
Here's my current solution, very much ad-hoc as you can see.: ``` import * as crypto from "crypto"; const ed25519 = require('ed25519'); // Result of GRPC call to rpctransact's FormulateTx. export interface BurrowUnsignedTransaction { ChainID: string; Type: string; Payload: { Input: { Address: string; Sequence?: number; } Address: string; GasLimit: number; Data: string; } } // Param for GRPC call to rpctransact's BroadcastTxSync. export interface BurrowSignedTransaction { Envelope: { Signatories: Array<{ Address: Buffer; PublicKey: { CurveType: number; PublicKey: Buffer; } // The data in 'Tx', signed with the private key of the sender Signature: Buffer; }>; // This will be the JSON.stringified data of BurrowUnsignedTransaction, // with Payload.Input.Sequence filled in. Tx: Buffer; } } export class BurrowKeyPair { readonly address: Buffer; readonly publicKey: Buffer; readonly privateKey: Buffer; constructor(address: Buffer, publicKey: Buffer, privateKey: Buffer) { this.address = address; this.publicKey = publicKey; this.privateKey = privateKey; } sign(tx: BurrowUnsignedTransaction, nonce: number) : BurrowSignedTransaction { tx.Payload.Input.Sequence = nonce+1; // Burrow nonces start counting at 1, as opposed to 0 with Ethereum const message = Buffer.from(JSON.stringify(tx)); const signature = ed25519.Sign(message, this); const signatureWithPrefix = Buffer.concat( [Buffer.from("08011240", 'hex'), // Burrow expects these 4 bytes to precede the signature. They probably indicate the CurveType, although it's a strange thing. signature]); const signedTx = { Envelope: { Signatories: [ { Address: this.address, PublicKey: { CurveType: 1, PublicKey: this.publicKey, }, Signature: signatureWithPrefix, }, ], Tx: message, }, }; return signedTx; } static generate() : BurrowKeyPair { const randomSeed = crypto.randomBytes(32); const {publicKey, privateKey} = ed25519.MakeKeypair(randomSeed); const address = crypto.createHash('sha256').update(publicKey).digest().slice(0,20); return new BurrowKeyPair(address, publicKey, privateKey); } } ```

silasdavis (Wed, 27 Feb 2019 09:36:07 GMT):
Is the library you have written open source? Do you use web3 for ethermint?

silasdavis (Wed, 27 Feb 2019 09:36:51 GMT):
Reading on a bus, but your signing code looks on the right tracks

silasdavis (Wed, 27 Feb 2019 09:37:56 GMT):
Are you using grpc lib? Because that will handle encoding of signature etc

JoeriExelmans (Wed, 27 Feb 2019 09:40:47 GMT):
No web3. For Ethermint plain JSON-RPC is used, the NPM package `ethjs-provider-http` handles connection with the backend there (the most lightweight solution I could find). For both Burrow and Ethermint, `ethereumjs-abi` does the ABI encoding.

JoeriExelmans (Wed, 27 Feb 2019 09:41:48 GMT):
The `grpc` and `@grpc/proto-loader` NPM packages are used for GRPC

JoeriExelmans (Wed, 27 Feb 2019 09:45:18 GMT):
I specifically like GRPC for its use of Node native streams when subscribing to events. In Ethereum's JSON-RPC, subscribing to logs is a disaster. Web3 does some really awful things under the hood (and so do I).

JoeriExelmans (Wed, 27 Feb 2019 09:47:07 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=abef413b-e7a3-49c9-942e-e3c3210fe4f0) @silasdavis I think the problem is that the signature is type 'bytes' in the spec (https://github.com/hyperledger/burrow/blob/develop/protobuf/txs.proto#L34) where it should be crypto.Signature

silasdavis (Wed, 27 Feb 2019 09:48:00 GMT):
Your issue with signature is that you are using a buffer rather than the signature type

silasdavis (Wed, 27 Feb 2019 09:49:23 GMT):
Sorry let me respond properly when at desk

JoeriExelmans (Wed, 27 Feb 2019 09:53:52 GMT):
The library is not open source. I've written it but the copyright does not belong to me :(

silasdavis (Wed, 27 Feb 2019 10:21:59 GMT):
The state of the signature type is effectively a bug - an incomplete refactoring

silasdavis (Wed, 27 Feb 2019 10:22:32 GMT):
well I guess in a sense it is not a bug since it works, but it is not what ought to be

silasdavis (Wed, 27 Feb 2019 10:23:58 GMT):
When I first introduced gogoproto/protobuf for Burrow's internal types, Tx and signature was around the first place I started, after that I introduced a proper Signature message type

silasdavis (Wed, 27 Feb 2019 10:24:55 GMT):
but gogoproto has a custom serialisation feature I was using to make Signature a named type although it was just bytes. Because of this Burrow is protobuf encoding into a protobuf message, which makes you do the dance you are doing

silasdavis (Wed, 27 Feb 2019 10:25:43 GMT):
I am just putting together a fix for this

silasdavis (Wed, 27 Feb 2019 10:25:53 GMT):
and I will try and get it in the imminent 0.24.0 release

JoeriExelmans (Wed, 27 Feb 2019 10:27:33 GMT):
Nice!

silasdavis (Wed, 27 Feb 2019 11:08:05 GMT):
Fix is here: https://github.com/hyperledger/burrow/pull/1039/files#diff-88d58be0c34618c84f3403a398496c44R34

silasdavis (Wed, 27 Feb 2019 11:08:52 GMT):
That should remove any need for you to worry about encoding

silasdavis (Wed, 27 Feb 2019 11:09:04 GMT):
glad that you spotted it

bmann (Wed, 27 Feb 2019 16:44:08 GMT):
Has joined the channel.

bmann (Wed, 27 Feb 2019 16:44:44 GMT):
@silasdavis thanks for your responses on Twitter about EVM compatibility

bmann (Wed, 27 Feb 2019 16:45:01 GMT):
I'm looking to find out how different groups "track" their compatibility, especially at the opcode level

bmann (Wed, 27 Feb 2019 16:45:34 GMT):
Do you reference the yellow paper and/or the Jello Paper and do you have a list somewhere of what opcodes you support

bmann (Wed, 27 Feb 2019 16:46:09 GMT):
The context is -- I believe that there are many more groups working on EVM and could do from helping each other out, especially on the specification and correctness layer

JoeriExelmans (Thu, 28 Feb 2019 08:41:37 GMT):
Thanks Silas, extremely helpful, as always

compleatang (Thu, 28 Feb 2019 10:48:31 GMT):
There's a Jello paper?

aashishshrestha977 (Thu, 28 Feb 2019 16:19:01 GMT):
Has joined the channel.

aashishshrestha977 (Thu, 28 Feb 2019 16:19:09 GMT):
hello

aashishshrestha977 (Thu, 28 Feb 2019 16:19:44 GMT):
i am getting this error when I do go get github.com/hyperledger/burrow can't load package: package github.com/hyperledger/burrow: no buildable Go source files in /home/aashish/go/src/github.com/hyperledger/burrow

zerppen (Fri, 01 Mar 2019 09:21:15 GMT):
Has joined the channel.

seanyoung (Fri, 01 Mar 2019 10:04:37 GMT):
@aashishshrestha977 you can ignore that message

vahuja4 (Fri, 01 Mar 2019 10:47:14 GMT):
Has left the channel.

bmann (Fri, 01 Mar 2019 18:05:34 GMT):
@compleatang yep! See https://jellopaper.org/

bmann (Fri, 01 Mar 2019 18:06:17 GMT):
We're working on making it the "canonical" specification, and think that anyone using the EVM could join forces to work on it together

bmann (Fri, 01 Mar 2019 18:06:42 GMT):
Or at least, come up with a good way to share which opcodes / features are implemented in any particular public or private network

bmann (Fri, 01 Mar 2019 18:09:13 GMT):
Also: Kyle Mitchell told me to ping you ages ago @compleatang

bmann (Fri, 01 Mar 2019 18:09:15 GMT):
So: hi!

compleatang (Mon, 04 Mar 2019 10:19:18 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=YitXDT82LLuGTH2XA) @aashishshrestha977 If you see this error on `go get` that can safely be ignored. Just `cd $GOPATH/src/github.com/hyperledger/burrow && make install` and you'll be good to go.

compleatang (Mon, 04 Mar 2019 10:20:11 GMT):
@bmann :wave_tone2: back! (Kyle and I go back a wee ways for sure).

bjwswang (Tue, 05 Mar 2019 06:44:11 GMT):
Has joined the channel.

thameursaadi (Tue, 05 Mar 2019 14:51:41 GMT):
Has joined the channel.

thameursaadi (Tue, 05 Mar 2019 14:53:29 GMT):
hello guys i'mtrying to build an app that makes people able to exchange tokens i have to use hyperledger burrow how could i start?????

Keegan-Lee (Tue, 05 Mar 2019 17:52:38 GMT):
I am wondering how I can broadcast a transaction from the front of my app. I am looking into this JS burrow lib, can anyone point me in the right direction? Or comment on whether or not this library is the right one for the job?

Keegan-Lee (Tue, 05 Mar 2019 17:52:38 GMT):
https://github.com/monax/bosmarmot/tree/master/burrow.js/lib

compleatang (Wed, 06 Mar 2019 09:45:03 GMT):
@Keegan-Lee at Monax we use that library heavily. It's well maintained and AFAIK the primary method for interaction in your use case.

compleatang (Wed, 06 Mar 2019 09:45:25 GMT):
@thameursaadi start here -> https://github.com/hyperledger/burrow/tree/develop/docs

compleatang (Wed, 06 Mar 2019 09:45:37 GMT):
feel free to ask any questions you may have along your journey in this room.

klenik (Wed, 06 Mar 2019 11:29:45 GMT):
Has joined the channel.

Keegan-Lee (Wed, 06 Mar 2019 19:54:11 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=dyXYuxNPcELLWqFbN) @compleatang Thank you, I've tinkered with it for the last couple of days. Right now, my company is evaluating several of the hyperledger frameworks. I have to say that burrow has been the easiest to get running so far. Furthermore, it was easy to interact with. Double bonus. Looking into sawtooth now.

PMoura (Wed, 06 Mar 2019 23:42:38 GMT):
Has left the channel.

thameursaadi (Thu, 07 Mar 2019 10:23:03 GMT):
installing burrow

thameursaadi (Thu, 07 Mar 2019 10:24:22 GMT):
after finishing instruction i tried `burrow --version` and i got `burrow: command not found`

thameursaadi (Thu, 07 Mar 2019 10:32:56 GMT):
any suggestion??

seanyoung (Thu, 07 Mar 2019 11:11:33 GMT):
@thameursaadi presumbly burrow has been installed but it's not in your path. If you did `go install ./cmd/burrow/` then burrow should be in `$GOPATH/bin`. See if you can find burrow here and you can execute burrow from there using `./burrow --version` or add it to your path using `export PATH=$PATH:$GOPATH/bin`

lidengjia (Fri, 08 Mar 2019 07:39:23 GMT):
Has joined the channel.

thameursaadi (Fri, 08 Mar 2019 22:53:38 GMT):
@seanyoung it's workin thank you so much

thameursaadi (Mon, 11 Mar 2019 11:14:12 GMT):
hi everyone i was trying to check the https://github.com/monax/bosmarmot/example after executing `burrow deploy` i got this error Deploying Contract name => simplestorage defAddr => 0000000000000000000000000000000000000000 rawErr => rpc error: code = Unknown desc = error signing transaction: stat /home/thamer/Desktop/bosmarmot/example/basic-app-website/.keys/data/0000000000000000000000000000000000000000.json: no such file or directory Error finalizing contract deploy simplestorage.sol: There has been an error talking to your Burrow chain using account 0000000000000000000000000000000000000000. rpc error: code = Unknown desc = error signing transaction: stat /home/thamer/Desktop/bosmarmot/example/basic-app-website/.keys/data/0000000000000000000000000000000000000000.json: no such file or directory

seanyoung (Mon, 11 Mar 2019 11:24:36 GMT):
@thameursaadi you need to specify an address that does the deploy

seanyoung (Mon, 11 Mar 2019 11:24:54 GMT):
`burrow deploy -a Validator_0` for example

SimonSchuler (Mon, 11 Mar 2019 13:48:45 GMT):
Has joined the channel.

SimonSchuler (Mon, 11 Mar 2019 13:50:32 GMT):
Hello fellow Bugseekers, I would like to connect to a Burrow-node from and Android device. Unfortunately I cannot find Documentation for the REST/JSONRPC API of burrow, can anyone maybe help me? Thank you for your time in advance.

SimonSchuler (Mon, 11 Mar 2019 13:51:34 GMT):
It would be a big help to just have an Example with curl or sth, i can probably work out the rest by myself.

compleatang (Tue, 12 Mar 2019 17:44:06 GMT):
@SimonSchuler Unfortunately for your use case the REST/JSONRPC isn't highly interactive. Indeed it is mostly meant for pulling high level information out of burrow. For interactivity from other devices you'll need to leverage the GRPC port. All the RPC is self-documenting via goDocs -> https://godoc.org/github.com/hyperledger/burrow/rpc

SimonSchuler (Wed, 13 Mar 2019 09:04:26 GMT):
@compleatang Thank you for your answer, maybe I understood something wrong? But when I was working with Ethereum it was real easy to setup a JSONRPC and connect to. Maybe it would be better if I ran a node (not validator) on my smartphone and used this to communicate to the other nodes? I am not really familiar with how Burrow is supposed to work concerning Nodes and the permissioned part of it. Dose documentation on this exist (apart from the readme from github)? Thank you for your time.

compleatang (Wed, 13 Mar 2019 14:14:32 GMT):
@SimonSchuler Burrow doesn't have a web3 JSONRPC currently. The way most people handle this is to implement burrow.js on edge devices and use that to connect to blockchain nodes in other locations.

Dvi 19 (Wed, 13 Mar 2019 18:26:02 GMT):
Has joined the channel.

Dvi 19 (Wed, 13 Mar 2019 18:26:31 GMT):
what is the difference between sawtooth seth and sawtooth burrow?

Dvi 19 (Wed, 13 Mar 2019 18:27:56 GMT):
can we use JSON RPC?

SimonSchuler (Thu, 14 Mar 2019 10:19:09 GMT):
@Dvi 19 As I just learned, its not that simple with JSONRPC, just read the answers above to my questions.

thameursaadi (Thu, 14 Mar 2019 15:25:39 GMT):
hi , i just learnead how to make crud and get the api, so i now i need to move to the next step which is the exchange of `Token` between users using their generated adress , is there any exemple or documentation for this ?

hssanbenrhouma (Fri, 15 Mar 2019 09:48:41 GMT):
Has joined the channel.

hssanbenrhouma (Fri, 15 Mar 2019 09:51:13 GMT):
@compleatang what'is the difference between fabric-evm and the burow project ? is fabric-evm a part of burrow project ``` rrow ```

hssanbenrhouma (Fri, 15 Mar 2019 09:51:13 GMT):
@compleatang what'is the difference between fabric-evm and the burow project ? is fabric-evm a part of burrow project ?

seanyoung (Fri, 15 Mar 2019 10:50:21 GMT):
@hssanbenrhouma fabric uses the evm from burrow to support solidity

juliemiller1 (Fri, 15 Mar 2019 15:44:29 GMT):
Has joined the channel.

fastchain (Mon, 18 Mar 2019 07:47:26 GMT):
Has joined the channel.

fastchain (Mon, 18 Mar 2019 07:47:42 GMT):
Hello everyone! I've just set up an burrow chain with one validator, created an account, deployed a contract. How do application can interact with a deployed contract? Is there any API description or client libraries or consoles?

seanyoung (Mon, 18 Mar 2019 10:40:07 GMT):
@fastchain You can interact with it using burrow deploy on the command line, or you can use https://www.npmjs.com/package/@monax/burrow see https://github.com/monax/bosmarmot/tree/develop/burrow.js and https://github.com/monax/bosmarmot/tree/develop/example/basic-app

leowu (Mon, 18 Mar 2019 17:23:45 GMT):
Has joined the channel.

leowu (Mon, 18 Mar 2019 17:28:55 GMT):
Hi everyone. I am new into Hyperledger burrow. I have a question about it. So I know that for burrow we are using Smart Contract instead of Chaincode in the Burrow EVM. So is that possible that we can run the Chaincode and the Solidity Smart Contract Simultaneously?

leowu (Mon, 18 Mar 2019 17:39:32 GMT):
I have successfully installed and run the fabric-chainode-evm and the vote-hyperledger-ethereum and the web3-fabric-voting-dapp. But I just wondering that is it possible I can deploy the Chaincode instead and run Chaincode and Smart Contract simultaneously.

compleatang (Mon, 18 Mar 2019 19:59:47 GMT):
Hi @leowu and welcome. What you imply isn't possible. Burrow is a dlt framework as is fabric. The fabric evm system uses burrows evm as a library. But to accomplish what you want you would use fabric rather than burrow as a standalone dlt.

compleatang (Mon, 18 Mar 2019 20:01:39 GMT):
As far as I know, you can run chaincode and evm contracts on the same fabric network but I am pretty sure that they cannot interact with one another m however you would need to confirm that in the #fabric-evm room just to be sure.

compleatang (Mon, 18 Mar 2019 20:01:39 GMT):
As far as I know, you can run chaincode and evm contracts on the same fabric network but I am pretty sure that they cannot interact with one another. However you would need to confirm that in the #fabric-evm room just to be sure.

leowu (Mon, 18 Mar 2019 20:08:31 GMT):
thanks @compleatang . It is helpful info.

roqs (Tue, 19 Mar 2019 09:44:43 GMT):
Has joined the channel.

efn (Wed, 20 Mar 2019 14:43:03 GMT):
Hi, There's something weird happening when I try to call a contract from another one, for call and static call. The transaction does not happen, but it does not emit any exception. Did someone ever encountered this problem?

efn (Wed, 20 Mar 2019 14:43:03 GMT):
Hi, There's something weird happening when I try to call a contract from another one, for `call` and `static call`. The transaction does fail, but it does not emit any exception. Did someone ever encountered this problem?

efn (Wed, 20 Mar 2019 14:47:54 GMT):
Is this line right? https://github.com/hyperledger/burrow/blob/develop/execution/evm/vm.go#L942

seanyoung (Thu, 21 Mar 2019 15:33:25 GMT):
That is odd. If you have some example solidity/deploy.yaml that would be great!

seanyoung (Thu, 21 Mar 2019 15:33:25 GMT):
@efn That is odd. If you have some example solidity/deploy.yaml that would be great!

efn (Thu, 21 Mar 2019 17:53:20 GMT):
Do I need to give more value to a contract that makes a call? I cannot reproduce it using the `burrow deploy` thing

gWOLF3 (Thu, 21 Mar 2019 18:14:29 GMT):
Has joined the channel.

SimonSchuler (Fri, 22 Mar 2019 10:00:35 GMT):
Hello everyone. I have a question regarding keys/keypairs: When I run 'burrow deploy --address ABCD... -f deploy.yaml -u myip' how is the transaction signed? I know there is the .key directory, but as far as I can tell there are only public keys stored there? Next question: Is there a way to generate a raw transaction (unsigned or signed) that I could send over the network and then deploy on a different machine?

JoeriExelmans (Fri, 22 Mar 2019 10:13:37 GMT):
The .keys directory of burrow contains the public and private keys for all the keypair in your keystore. The keystore is a service that by default is part of your burrow node, but can also be run separately.

JoeriExelmans (Fri, 22 Mar 2019 10:19:53 GMT):
Yes you can "get" raw transactions that you can broadcast later on (signed or unsigned). If they are unsigned, you can only broadcast them on a node that has the keypair in its keystore because the transaction will have to be signed at some point. One way that I'm aware of is the 'rpctransact' endpoint of burrow's GRPC interface has a function 'FormulateTx' for getting an unsigned transaction, and there's 'SignTx' which will give you a signed transaction (both you can broadcast with ' BroadcastTxSync')

JoeriExelmans (Fri, 22 Mar 2019 10:22:37 GMT):
If you want to sign a transaction not on the node itself (e.g. you want to use a keypair that was generated and kept on a mobile device), you can try to run a standalone burrow key server and request it to sign the transaction for you, or you can manually sign in e.g. JavaScript code or whatever you are using. I've posted a TypeScript example a while back in this thread.

SimonSchuler (Fri, 22 Mar 2019 10:23:36 GMT):
@JoeriExelmans Thank You. I will try to find your example.

BernardLin (Fri, 22 Mar 2019 14:29:58 GMT):
Has joined the channel.

Silona (Tue, 26 Mar 2019 18:00:19 GMT):
Has joined the channel.

Emma_Zheng (Tue, 26 Mar 2019 23:54:13 GMT):
Has joined the channel.

lukasA (Fri, 29 Mar 2019 09:40:10 GMT):
Has joined the channel.

lukasA (Fri, 29 Mar 2019 09:41:25 GMT):
Has left the channel.

sunit.versatile (Mon, 01 Apr 2019 08:11:38 GMT):
Has joined the channel.

sunit.versatile (Mon, 01 Apr 2019 08:30:10 GMT):
Has left the channel.

klenik (Mon, 01 Apr 2019 13:08:17 GMT):
Does Burrow's permissioned EVM have restrictions compared to a public EMV implementation? Trying to test some contracts that include ether transfers. Will it work as expected? Or I shouldn't even dream about this?

klenik (Mon, 01 Apr 2019 13:10:06 GMT):
(I know ether is meaningless in a permissioned settings, but since the `gas` concept was kept, I hope the `value` was kept as well. So it's kind of a technical question, not a production use case of course)

compleatang (Mon, 01 Apr 2019 17:40:35 GMT):
yes, we have native tokens and `value`. if they do not work as expected we would be very surprised and hope for a test case.

denis4net (Mon, 01 Apr 2019 20:53:41 GMT):
Hi there, is there opensource web wallet/admin panel for burrow?

efn (Wed, 03 Apr 2019 12:16:40 GMT):
Hi, When I create 2 contracts, at different time, their storage-tree hash are different, despite all the keys being equal. Why is it not deterministic?

efn (Wed, 03 Apr 2019 12:16:40 GMT):
Hi, When I create one contracts, at different time, their storage-tree hash are different, despite all the keys being equal. Why is it not deterministic?

efn (Wed, 03 Apr 2019 12:16:40 GMT):
Hi, When I create one contract, at different time, their storage-tree hash are different, despite all the keys being equal. Why is it not deterministic?

efn (Wed, 03 Apr 2019 12:16:40 GMT):
Hi, When I create one contract, at different times, their storage-tree root hash is different, despite all the keys being equal. Why is it not deterministic?

efn (Wed, 03 Apr 2019 12:16:40 GMT):
Hi, When I create one contract, at different times, their storage-tree root hash is different, despite all the keys and values being the same. Why is it not deterministic?

efn (Wed, 03 Apr 2019 14:27:09 GMT):
Hello,

efn (Wed, 03 Apr 2019 14:30:10 GMT):
Hi, When I create a contract, the hash stored in the commit tree with key `s+addr`, is not deterministic, is this by design? What are the source for this non-deterministic behaviour? Thanks

efn (Wed, 03 Apr 2019 14:30:10 GMT):
Hi, When I create a contract, the hash stored in the commit tree with key `"s"+addr`, is not deterministic, is this by design? What are the source for this non-deterministic behaviour? Thanks

efn (Wed, 03 Apr 2019 14:30:10 GMT):
Hi, When I create a contract, the hash stored in the commit tree with key `"s"+addr`, is not deterministic, is this by design? What are the source for this non-deterministic behaviour? I cannot see where does it come from.

efn (Wed, 03 Apr 2019 14:30:10 GMT):
Hi, When I create a contract, the hash stored in the commit tree with key `"s"+addr`, is not deterministic, is this by design? What are the source for this non-deterministic behaviour? I cannot see where does it come from. Thanks

efn (Wed, 03 Apr 2019 17:31:16 GMT):
Hello, I'm trying to prove some things in the commit storage of `rwt` forest. I recreate the same storage in another machine, with the same key-value pairs, but the root hash is different. Any hints why? This is a snippet that I was trying to debug: https://pastebin.com/zNnrwk04 put in `rwtree_test.go` Why if I save twice (line 15 of the snippet) the hash changes? Thanks a lot

silasdavis (Wed, 03 Apr 2019 17:40:30 GMT):
That looks like the path in the 'forest' to the storage tree for `addr`. Hopefully we are talking about the same thing (think we are). When you say non-determinism do you mean running establishing the same I suspect what you are interpreting as non-determinism is the effect of the version being part of the tree

silasdavis (Wed, 03 Apr 2019 17:40:42 GMT):
ah yes.. that was typed earlier

silasdavis (Wed, 03 Apr 2019 17:43:27 GMT):
yes so I believe I have a test that helps describe this: https://github.com/hyperledger/burrow/blob/develop/storage/rwtree_test.go#L79-L99

silasdavis (Wed, 03 Apr 2019 18:27:55 GMT):
I agree that this is surprising behaviour - it is is essentially down to the fact that our merkle tree library includes the version in every node: https://github.com/tendermint/iavl/blob/master/node.go#L20

silasdavis (Wed, 03 Apr 2019 18:33:38 GMT):
However if you make the same writes at the same version (do the same operations between each commit) then you will get the same hash

silasdavis (Wed, 03 Apr 2019 18:33:54 GMT):
so for the purposes of Burrow's transaction integrity this is not an issue

silasdavis (Wed, 03 Apr 2019 18:36:51 GMT):
however it does seem to me that IAVL doesn't really need to store version in every node - it helps them to track orphaned nodes from deleted tree versions (not a feature we currently use). It could have been done differently. It depends whether you want the state hash to be path dependent or not - I can see uses for both. In a sense IAVL encodes the blockchain history into the hash, but if you just want comparison over the final data you might prefer to not have the version mixed into the hash

silasdavis (Wed, 03 Apr 2019 18:37:38 GMT):
incidentally the mapping between block height and version is 1-to-1 but for _reasons_ there is an offset of one between version and height. Tree version is an implementation detail for us though.

silasdavis (Wed, 03 Apr 2019 18:37:56 GMT):
efn

silasdavis (Wed, 03 Apr 2019 18:37:56 GMT):
Its nice to see someone poking around these deep in the code - may I ask what you are working on?

efn (Thu, 04 Apr 2019 08:23:16 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=7LsjhKtFwTZ9DSKRQ) I'm trying to reconstruct the storage in another instance of burrow, and prove it! I believe that was the main problem, I overlooked the version inside the node. So far I removed the version in the hash construction, but that somehow messed with the proof system Thanks for the answer.

efn (Thu, 04 Apr 2019 08:23:16 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=7LsjhKtFwTZ9DSKRQ) I'm trying to reconstruct the storage in another instance of burrow, and prove it! I believe that was the main problem, I overlooked the version inside the node. So far I removed the version in the node's hash construction, but that somehow messed with the proof system Thanks for the answer.

silasdavis (Thu, 04 Apr 2019 08:56:28 GMT):
I'd recommend you look at our dump/restore functionality that does exactly this

silasdavis (Thu, 04 Apr 2019 08:57:21 GMT):
See: https://github.com/hyperledger/burrow/blob/develop/execution/state/dump.go

silasdavis (Thu, 04 Apr 2019 08:57:54 GMT):
there is also command line tooling for this, but if you want to see the entry point to the code responsible

efn (Thu, 04 Apr 2019 09:32:13 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=w4KMQRoB3EY4FBqCB) @silasdavis It worked, I removed the version from the hash both for proving nodes and constructing the graph :) I don't know all the consequences of tbh

efn (Thu, 04 Apr 2019 09:35:19 GMT):
what are the benefits of doing the forest and not doing a huge tree for everything? Is it to allow writes that don't touch the same state happening concurrently?

silasdavis (Thu, 04 Apr 2019 09:37:34 GMT):
We previously had a big tree for everything

silasdavis (Thu, 04 Apr 2019 09:37:56 GMT):
The reason for having multiple is that with AVL it is the only way to have a hash for sub-states

silasdavis (Thu, 04 Apr 2019 09:38:07 GMT):
for example the storage hash of a single account

silasdavis (Thu, 04 Apr 2019 09:38:47 GMT):
this actually isn't exposed right now but there are number of uses for this, for example a simple check to see if contract state has not change between blocks

silasdavis (Thu, 04 Apr 2019 09:40:14 GMT):
also being able to provide independent proofs on our separate state sub-spaces - like name reg, and possibly in the future WASM or other executor state

silasdavis (Thu, 04 Apr 2019 09:41:08 GMT):
I also have some ideas about burrow multi-state-tenancy - for a kind of authenticated side-channel or cross-chain communication use case

silasdavis (Thu, 04 Apr 2019 09:41:20 GMT):
for that I wanted to be able to have hierarchical state roots

silasdavis (Thu, 04 Apr 2019 09:41:29 GMT):
With prefix trees you get this for free

silasdavis (Thu, 04 Apr 2019 09:42:11 GMT):
AVL has some nice properties but I do have a side project that was a musing on replacing it: https://github.com/monax/trieste

silasdavis (Thu, 04 Apr 2019 09:42:28 GMT):
which is a prefix tree - where you get sub-tree hashes more naturally

silasdavis (Thu, 04 Apr 2019 09:43:12 GMT):
@efn when you say you removed the version - you did this in IAVL?

silasdavis (Thu, 04 Apr 2019 09:45:56 GMT):
> Is it to allow writes that don't touch the same state happening concurrently? That is also a rather interesting idea... Currently we don't assume independence between any of the state trees - because EVM code can generally hit other state. Though this would kind of work for namereg (unless we expose it through snatives). The main concurrency feature is provided by RWTree. We route all reads to the previous (last committed) immutable version - where we can have concurrent reads and long-running iterations without blocking commits which happen on the working 'write' tree.

silasdavis (Thu, 04 Apr 2019 09:51:31 GMT):
BTW @seanyoung just added some docs on dump/restore: https://github.com/hyperledger/burrow/blob/develop/docs/dump-restore.md

efn (Thu, 04 Apr 2019 09:52:29 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=yCQaXDqu7Lo93mhXa) @silasdavis Yes, did it in the IAVL

efn (Thu, 04 Apr 2019 09:55:14 GMT):
I see. Could it be like each account has its own AVL for the storage?

Behzad 2 (Thu, 04 Apr 2019 10:19:37 GMT):
Has joined the channel.

silasdavis (Thu, 04 Apr 2019 10:23:26 GMT):
Currently all account fields are in a single tree, but I did consider whether they should each have their own. We need to keep an eye on any performance issues, but it seems to work fine for storage - so less the could - I haven't done that yet though

silasdavis (Thu, 04 Apr 2019 10:23:48 GMT):
If we did that it would probably make sense to merge the storage and account tree though

silasdavis (Thu, 04 Apr 2019 10:24:01 GMT):
otherwise the individual account trees would barely contain anything

silasdavis (Thu, 04 Apr 2019 10:24:35 GMT):
it would also mean you would not be able to differentiate a change to an account's balance from a change to it's storage

efn (Thu, 04 Apr 2019 16:07:43 GMT):
Btw, @silasdavis I'm trying for ages to get the message signed by validators that gets included in the commit. Do you happen to know what is it? Is not the header.Hash() nor the serialized header

efn (Thu, 04 Apr 2019 16:07:43 GMT):
Btw, @silasdavis I'm trying for ages to get the message signed by validators that get included in the commit. Do you happen to know what is it? Is not the header.Hash() nor the serialized header

PaulBrown (Thu, 04 Apr 2019 19:47:34 GMT):
Has joined the channel.

Emma_Zheng (Fri, 05 Apr 2019 00:19:42 GMT):
Hi guys, we want to deploy burrow network as a service which can run at background without the streaming log. Is there a way to do that? Besides, how can I deploy contract to a remote burrow network which not reside in my local laptop? Thank you for any instructions!

efn (Fri, 05 Apr 2019 11:38:56 GMT):
Nice, I want to confirm something: Let's say I am at block N, and the commit hash at the moment is C(X), this would be the commit for block N-1 right? Now, I move to block N+1, the Commit votes are for block N. So if I want the commit votes for commit tree N, I need to check the commit votes for block N + 2, right?

compleatang (Fri, 05 Apr 2019 12:00:54 GMT):
@Emma_Zheng as to the latter question, use `--chain-url` flag when you run burrow deploy. if you want to run that with transactions signed on the machine that's sending the deploy transactions then you will need a key signer running somewhere and use the appropriate flag on burrow deploy. if you want to sign the transactions with keys that the nodes already have then you just need the `--chain-url` flag. we have a relatively sophisticated logging configuration which enables a range of options. see the godocs int he logging package linked from the repo's readme.

silasdavis (Fri, 05 Apr 2019 12:24:06 GMT):
@Emma_Zheng `burrow configure --logging minimal` will give you a config for a much less chatty log. If you want (almost) complete silence you can delete the `[Logging]` section altogether

silasdavis (Fri, 05 Apr 2019 12:29:47 GMT):
@efn we have to be a little careful because 'commit hash' is a little overloaded, we have at least: the tendermint `LastCommitHash` (the hash of the commits from the last block - set of signed votes), a collection of other state hashes (consensus, validators, results) all after the previous block was applied, and the `AppHash` we control. This is how tendermint sees things: https://github.com/tendermint/tendermint/blob/master/types/block.go#L369-L377

silasdavis (Fri, 05 Apr 2019 12:30:47 GMT):
Now given the context of your previous questions I will assume you mean the hash that comes from `execution/state/stage.go` `commit()`

silasdavis (Fri, 05 Apr 2019 12:31:17 GMT):
which in turn comes from the `MutableForest` and is what we pass as the `AppHash` to tendermint when we get asked to ABCI Commit

efn (Fri, 05 Apr 2019 12:34:30 GMT):
exactly, I was referring to that

efn (Fri, 05 Apr 2019 12:34:30 GMT):
exactly, I was referring to the `AppHash`

silasdavis (Fri, 05 Apr 2019 12:35:10 GMT):
If block N has not been committed, but block N-1 has been (I assume this is what you mean by 'at block N' - i.e. accumulating transactions to go in block N) then when you call `State.Hash()` you will get the state hash after applying all transactions in block N-1

silasdavis (Fri, 05 Apr 2019 12:35:40 GMT):
In generally any reader methods will be routed to already committed/saved state across RWTree, and Forest implementations, and so also state

silasdavis (Fri, 05 Apr 2019 12:36:09 GMT):
Now that `State.Hash()` is actually the `AppHash` that will appear in block N

silasdavis (Fri, 05 Apr 2019 12:36:25 GMT):
which I thin can sometimes be slightly confusing - though logical if you think it through

silasdavis (Fri, 05 Apr 2019 12:36:25 GMT):
which I think can sometimes be slightly confusing - though logical if you think it through

efn (Fri, 05 Apr 2019 12:38:02 GMT):
But the commits for that are going to apper in block N + 1?

silasdavis (Fri, 05 Apr 2019 12:38:05 GMT):
Though if that is not confusing for you, please ignore me. I think I have found it confusing because at the point at which burrow is commiting block header N to state - you already know what the `AppHash` will be for the _next_ block

silasdavis (Fri, 05 Apr 2019 12:38:32 GMT):
again... when you say commits are you talking about votes, or basically what I just said above?

silasdavis (Fri, 05 Apr 2019 12:38:50 GMT):
but I think either way... the answer is yes

efn (Fri, 05 Apr 2019 12:39:34 GMT):
Thanks, it is a bit confusing :)

g3d (Tue, 09 Apr 2019 20:28:17 GMT):
Has joined the channel.

g3d (Tue, 09 Apr 2019 20:32:49 GMT):
Hi folks, Can someone point me what was changed with height generation for smart contact in previous 2 releases? It worked on 0.23.x, but seems not working on 0.24.x/0.25.x When I'm using burrow.js to interact with simple smartcontract, seems I'm receiving height as 0: https://gist.github.com/g3d/e646c5573a91fb3843be2b6f3d13fcb9#file-burrow-js-publish But when I try to perform manual test transaction (according to https://github.com/hyperledger/burrow/blob/develop/docs/quickstart/send-transactions.md), I'm receiving BlockHeight: https://gist.github.com/g3d/e646c5573a91fb3843be2b6f3d13fcb9#file-test-yml-publish I've checked the library sources, seems there were changes https://github.com/molfaras/bosmarmot/commit/f848ce89fa992d4d36544869b372f671a786a0ec, part of them were related to v0.24 release.

haniavis (Wed, 10 Apr 2019 18:22:48 GMT):
Has left the channel.

rjones (Sat, 13 Apr 2019 00:08:04 GMT):
Has joined the channel.

rjones (Sat, 13 Apr 2019 00:08:15 GMT):
Could I ask Burrow maintainers to please join https://lists.hyperledger.org/g/maintainers ? I'd appreciate it.

jimbarritt (Sat, 13 Apr 2019 13:20:46 GMT):
Has joined the channel.

MarLu96 (Mon, 15 Apr 2019 08:32:38 GMT):
Has joined the channel.

dahmad (Mon, 15 Apr 2019 11:40:30 GMT):
Has joined the channel.

dahmad (Mon, 15 Apr 2019 11:40:36 GMT):
Hello

dahmad (Mon, 15 Apr 2019 11:40:58 GMT):
Are there any example deployments with hyperledger burrow ?

dahmad (Mon, 15 Apr 2019 11:41:27 GMT):
I am starting to work a little with hyperledger Burrow.

dahmad (Mon, 15 Apr 2019 11:41:45 GMT):
Can you guide me from where can i start ?

silasdavis (Mon, 15 Apr 2019 12:04:27 GMT):
@rjones done, I'll ask others

efn (Mon, 15 Apr 2019 12:47:24 GMT):
Hi, I'm running burrow to run some benchmarks, with 1s delay from each block, I can get around 40 tx/s, is that normal? I have a lot of accounts in the tree (around 90k)

efn (Mon, 15 Apr 2019 12:47:24 GMT):
Hi, I'm running burrow to run some benchmarks, with 1s delay from each block, I can get around 40 tx/s, is that normal? I have a lot of accounts in the tree (around 90k), but also happens with 10k

efn (Mon, 15 Apr 2019 12:54:13 GMT):
I keep getting blocks very late, with around 1.7s, others with 1s

MarLu96 (Tue, 16 Apr 2019 06:44:35 GMT):
Hi, is it possible to manually modifying the peering when the network is started? Like if I have 4 nodes (1,2,3,4), can manually say 1 is connected to 2, and then after some time, say that 1 is connected to 3 and not 2 anymore? And that without stopping the network or stopping the validator? (Like the admin.addPeer fct of Ethereum)?

SimonSchuler (Tue, 16 Apr 2019 12:07:48 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=mSmapbbqinjLM37G2) @efn Hey, I just came here to ask on how much tx/s burrow would be able to do. Have you found an answer?

efn (Tue, 16 Apr 2019 12:45:24 GMT):
I guess it depends on the type of contracts you do, I'm still testing it

SimonSchuler (Tue, 16 Apr 2019 13:14:32 GMT):
Could you update me? I would really appreciate it :)

MattWilson8 (Wed, 17 Apr 2019 18:57:21 GMT):
Has joined the channel.

efn (Thu, 18 Apr 2019 16:16:18 GMT):
I guess it can do 1000s @SimonSchuler depends a lot on your workload

efn (Sat, 20 Apr 2019 09:37:08 GMT):
Hi, I'm trying to start a network with a seed node, the example (https://github.com/hyperledger/burrow/blob/develop/docs/quickstart/seed-nodes.md) does not work, is this a known issue?

efn (Sun, 21 Apr 2019 11:10:33 GMT):
peers are not exchanged

compleatang (Mon, 22 Apr 2019 09:41:44 GMT):
@efn AFAIK that is NOT a known issue.

efn (Mon, 22 Apr 2019 19:41:41 GMT):
I set the peers as persistent peers and nonetheless doesn't work, what am I doing wrong?!

AkilaVasanthakumar (Tue, 23 Apr 2019 05:47:57 GMT):
Has joined the channel.

Silona (Wed, 24 Apr 2019 02:09:43 GMT):
Hey devs, anything exciting going on? please consider submitting a blog post! http://bit.ly/HLEDSubmission

efn (Wed, 24 Apr 2019 12:08:26 GMT):
Hi, I'm trying to run burrow with 100 validators in a cluster, I find blocks arriving very late, takes +-7s to do. (configured latency is 1s) is that normal?

compleatang (Wed, 24 Apr 2019 13:17:46 GMT):
@efn that sounds about on par with what we've heard from other tendermint based networks. see, e.g., https://forum.cosmos.network/t/governance-adjustment-of-blocks-per-year-to-come-aligned-with-actual-block-time/1682 .... cosmos is currently limited to 100 validators so the numbers seem to be roughly on par with expectations.

compleatang (Wed, 24 Apr 2019 13:18:48 GMT):
the latency is due to the amount of p2p messages which increase dramatically with larger validator pools the configured latency will have little to do with your actual blocktime with larger validator pools.

compleatang (Wed, 24 Apr 2019 13:18:48 GMT):
the latency experienced is due to the amount of p2p messages which increase dramatically with larger validator pools. the configured latency will have little to do with your actual blocktime with larger validator pools.

efn (Wed, 24 Apr 2019 13:31:13 GMT):
@compleatang I think is underperforming, especially comparing to BFT-Smart, that has more or less 3s latency

efn (Wed, 24 Apr 2019 13:33:05 GMT):
and this is in a LAN, I wonder what happens in a WAN.. :/

efn (Wed, 24 Apr 2019 13:50:45 GMT):
without any txs the latency is 1.5s more or less, as soon as I try to put txs there (200/s) the latency goes to 4-5s. Is this normal?!

efn (Wed, 24 Apr 2019 16:21:49 GMT):
Is there a method similar to `BroadcastTxAsync`, to broadcast the tx that doesn't wait for the response? I just want to put the tx in the pool and does not call `Execute`?

efn (Wed, 24 Apr 2019 16:21:49 GMT):
Is there a method similar to `BroadcastTxAsync`, to broadcast the tx that doesn't wait for the execution? I just want to put the tx in the pool and does not call `Execute`?

efn (Wed, 24 Apr 2019 16:28:50 GMT):
Another issue I have is that `BroadcastTxAsync` is taking a long time to put the tx in the pool. I'm still trying to figure out why, in some cases it takes 1s to send 100 tx. I already implemented a method to send in batch and parallelize sending from different clients, with no success. If you have a hint on how can I tackle this I'll appreciate

compleatang (Wed, 24 Apr 2019 17:59:12 GMT):
Cc @silasdavis and @seanyoung

compleatang (Wed, 24 Apr 2019 18:00:39 GMT):
We've had some optimization to look into in our stress tests around the iavl tree which has been slowing some things down but I'm not sure that would impact too much if you were doing simple send transactions. Are you talking to contracts or raising events with those transactions or just sending tokens around.

efn (Wed, 24 Apr 2019 18:06:40 GMT):
Hi @compleatang. I'm doing contracts, but does the `BroadcastTxAsync` waits the tx to execute? I don't think so right? Is just checking inputs. I wonder why it takes so long

compleatang (Thu, 25 Apr 2019 11:42:39 GMT):
i'm not 100% clear if it's related without some profiling information. if the node that receives the transaction is backed up modifying the IAVL tree it could be slower. is it consistently showing you 100TPS or inconsistently? what are you seeing as "normal" throughput if hte latter?

efn (Thu, 25 Apr 2019 12:32:23 GMT):
with 1 validator and 1 client, I try to send 100 txs, it takes a long time, sometimes 1s to call `BroadcastTxAsync` on the 100 txs, I did a method to call them all at once in the server, still takes a long time. The txs are already signed

efn (Thu, 25 Apr 2019 14:26:32 GMT):
I see what the problem is, the problem happens when I have a lot of accounts, namely 90k, there is one tx that takes a lot to respond, I think because is trying to use the disk, or something like that, I'll check it further. Is there a way to maintain a larger cache or something similar?

efn (Thu, 25 Apr 2019 14:26:32 GMT):
I see what the problem is: It happens when I have a lot of accounts, namely 90k, there is one tx that takes a lot to respond, I think because is trying to use the disk, or something like that, I'll check it further. Is there a way to maintain a larger cache or something similar?

efn (Thu, 25 Apr 2019 14:26:32 GMT):
I see what the problem is: It happens when I have a lot of accounts, namely 90k, there is one tx that takes a lot to respond (around 0.6s), I think because is trying to use the disk, or something like that, I'll check it further. Is there a way to maintain a larger cache or something similar?

efn (Thu, 25 Apr 2019 14:26:32 GMT):
I see what the problem is: It happens when I have a lot of accounts, namely 90k, there is one tx that takes a lot to respond (around 600ms), I think because is trying to use the disk, or something like that, I'll check it further. Is there a way to maintain a larger cache or something similar?

efn (Thu, 25 Apr 2019 15:44:20 GMT):
Can I run a burrow node that is not a validator?

efn (Thu, 25 Apr 2019 15:44:20 GMT):
The problem is in Tendermint's mempool, `CheckTx` blocks trying to acquire the mempool lock Can I run a burrow node that is not a validator?

efn (Thu, 25 Apr 2019 15:44:20 GMT):
The problem is in Tendermint's mempool, `CheckTx` blocks trying to acquire the mempool lock Can I run a burrow node that is not a validator?

Fias (Fri, 26 Apr 2019 06:48:50 GMT):
Has joined the channel.

efn (Fri, 26 Apr 2019 11:29:16 GMT):
Found it: Imagine my genesis account has a lot of accounts, and you encode this all the time in here: https://github.com/hyperledger/burrow/blob/7c363eec08ba477e9a8fa287767cf038bcc3563c/bcm/blockchain.go#L179 That is called in the `Commit()` for each block. Kinda sucks :)

efn (Fri, 26 Apr 2019 11:29:16 GMT):
Found it: Imagine a genesis has a lot of accounts, and you encode this all the time in here: https://github.com/hyperledger/burrow/blob/7c363eec08ba477e9a8fa287767cf038bcc3563c/bcm/blockchain.go#L179 That is called in the `Commit()` for each block. Kinda sucks :)

seanyoung (Fri, 26 Apr 2019 14:40:02 GMT):
@efn that's interesting! We shouldn't need to encode that for every block. @silasdavis ^^^

SimonSchuler (Sun, 28 Apr 2019 12:11:20 GMT):
Hello everyone. I was wondering if it is possible to pass data(like in yaml format for deploying things) instead of a file to the burrow executable. I am running a server task with python and I use subprocess to call burrow executable from python. It would be nicer to just dump data instead of creating a file and then passing this file to the executable. Is there a way?

SimonSchuler (Sun, 28 Apr 2019 14:23:09 GMT):
I have another question: Unfortunately I seem to be unable to query data from a SmartContract deployed on burrow: ``` ```

SimonSchuler (Sun, 28 Apr 2019 14:23:09 GMT):
I have another question: Unfortunately I seem to be unable to query data from a SmartContract deployed on burrow: smartcontract method: ``` //get all stored times function get_times() public view allowed_users_only returns (uint[] memory){ return times; } ``` yaml file for deploy: ``` jobs: - name: _get_score query-contract: destination: 9207B3D4E0A78D387D2C3507B06FCA0B6930BA88 function: get_score data: - 1000 ``` All i get as a response is "not enough data" Can someone help me?

SimonSchuler (Sun, 28 Apr 2019 14:23:09 GMT):
I have another question: Unfortunately I seem to be unable to query data from a SmartContract deployed on burrow: smartcontract method: ``` //get all stored times //access a score function get_score(uint _time) public view allowed_users_only returns (uint){ return data[_time]; } ``` yaml file for deploy: ``` jobs: - name: _get_score query-contract: destination: 9207B3D4E0A78D387D2C3507B06FCA0B6930BA88 function: get_score data: - 1000 ``` All i get as a response is "not enough data" Can someone help me?

SimonSchuler (Sun, 28 Apr 2019 14:23:09 GMT):
I have another question: Unfortunately I seem to be unable to query data from a SmartContract deployed on burrow: smartcontract method: ``` //access a score function get_score(uint _time) public view allowed_users_only returns (uint){ return data[_time]; } ``` yaml file for deploy: ``` jobs: - name: _get_score query-contract: destination: 9207B3D4E0A78D387D2C3507B06FCA0B6930BA88 function: get_score data: - 1000 ``` All i get as a response is "not enough data" Can someone help me?

SimonSchuler (Sun, 28 Apr 2019 14:23:09 GMT):
I have another question: Unfortunately I seem to be unable to query data from a SmartContract deployed on burrow: smartcontract method: ``` //access a score function get_score(uint _time) public view allowed_users_only returns (uint){ return data[_time]; } ``` yaml file for deploy: ``` jobs: - name: _get_score query-contract: destination: 9207B3D4E0A78D387D2C3507B06FCA0B6930BA88 function: get_score data: - 1000 ``` All i get as a response is ``` *****Executing Job***** Job Name => _get_times not enough data ``` Can someone help me?

SimonSchuler (Sun, 28 Apr 2019 14:23:09 GMT):
I have another question: Unfortunately I seem to be unable to query data from a SmartContract deployed on burrow: smartcontract method: ``` //access a score function get_score(uint _time) public view allowed_users_only returns (uint){ return data[_time]; } ``` yaml file for deploy: ``` jobs: - name: _get_score query-contract: destination: 9207B3D4E0A78D387D2C3507B06FCA0B6930BA88 function: get_score data: - 1000 ``` All i get as a response is ``` *****Executing Job***** Job Name => _get_times not enough data ``` I am sure that there is data in data[_time] Can someone help me?

mikeburrow (Sun, 28 Apr 2019 21:52:23 GMT):
Has joined the channel.

mikeburrow (Sun, 28 Apr 2019 21:55:08 GMT):
hi everyone

mikeburrow (Sun, 28 Apr 2019 21:56:27 GMT):
how do i create tokens for staking?

seanyoung (Mon, 29 Apr 2019 09:06:26 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=QKjvzv9LRQZ6S3qbB) @SimonSchuler burrow deploy only accepts files as a deploy job at the moment, however that's a great idea. Please open an issue on burrow for this. Patches welcome :)

seanyoung (Mon, 29 Apr 2019 09:08:33 GMT):
@SimonSchuler in the error message it is executing job _get_times but n your example yaml you have _get_score. I suspect you're looking at the wrong yaml, since the yaml looks fine

seanyoung (Mon, 29 Apr 2019 09:08:33 GMT):
@SimonSchuler in the error message it is executing job `_get_times` but n your example yaml you have `_get_score`. I suspect you're looking at the wrong yaml, since the yaml looks fine

compleatang (Mon, 29 Apr 2019 09:18:51 GMT):
@mikeburrow usually those are created in the genesis block. are you looking to create tokens post genesis? if so can you let us know a bit more about what you're trying to achieve so we can guide you.

efn (Mon, 29 Apr 2019 13:37:33 GMT):
Hi, with 100 validators, I manage to get around 40 tx/s is that normal?

SimonSchuler (Mon, 29 Apr 2019 13:43:08 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=oRRBhuCynbiv7Dbjd) @seanyoung I am not a go programmer myself unfortunately. I will open an issue.

mikeburrow (Mon, 29 Apr 2019 13:53:37 GMT):
thanks @compleatang. i want to launch a DPoS network that pays out rewards on a pro-rata basis for securing the network.

mikeburrow (Mon, 29 Apr 2019 13:53:37 GMT):
thanks @compleatang . i want to launch a DPoS network that pays out rewards on a pro-rata basis for securing the network.

mikeburrow (Mon, 29 Apr 2019 13:54:26 GMT):
it's an incentive to stake, and stay staked, as not staking would dilute the size of your ownership

SimonSchuler (Mon, 29 Apr 2019 14:05:32 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=w4HGun8S7iWgh3K7M) @seanyoung Unfortunately that is just a minor copy-paste error and not the cause. I just retried everything: Store.sol ``` //add a score function add_score(int _time, uint _score) public user_only{ //make sure no score is bigger than 10.000000 require(_score < 10000000); //make sure there is only one score per time for(uint i = 0; i < times.length; i++) { require(times[i] != _time); } data[_time] = _score; times.push(_time); } ```

SimonSchuler (Mon, 29 Apr 2019 14:05:32 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=w4HGun8S7iWgh3K7M) @seanyoung Unfortunately that is just a minor copy-paste error and not the cause. I just retried everything: Store.sol ``` //add a score function add_score(int _time, uint _score) public user_only{ //make sure no score is bigger than 10.000000 require(_score < 10000000); //make sure there is only one score per time for(uint i = 0; i < times.length; i++) { require(times[i] != _time); } data[_time] = _score; times.push(_time); } //access a score function get_score(int _time) public view allowed_users_only returns (uint){ return data[_time]; } ``` deploy add_score: ``` jobs: - name: _add_score call: destination: 9207B3D4E0A78D387D2C3507B06FCA0B6930BA88 function: add_score data: - 144 - 9000000 ``` this works. deploy get_score: ``` jobs: - name: _get_score query-contract: destination: 9207B3D4E0A78D387D2C3507B06FCA0B6930BA88 function: get_score data: - 144 ``` Same error :(

seanyoung (Mon, 29 Apr 2019 18:14:50 GMT):
@SimonSchuler can you paste the abi file and Solidity source if possible please

SimonSchuler (Mon, 29 Apr 2019 18:20:08 GMT):

score_storage.sol.txt

SimonSchuler (Mon, 29 Apr 2019 18:20:11 GMT):
ABI: ``` [{"constant":false,"inputs":[{"name":"_allowed_user","type":"address"}],"name":"give_access_right","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"get_times","outputs":[{"name":"","type":"int256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_time","type":"int256"}],"name":"get_score","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"who_has_access_right","outputs":[{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_time","type":"int256"},{"name":"_score","type":"uint256"}],"name":"add_score","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"delete_everyting","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_non_allowed_user","type":"address"}],"name":"remove_access_right","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"}] ```

SimonSchuler (Mon, 29 Apr 2019 18:20:45 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=LWPGNHQ2aPKXWE3Yz) @seanyoung absolutely :)

IvanTyulyandin (Mon, 29 Apr 2019 21:04:40 GMT):
Has joined the channel.

IvanTyulyandin (Mon, 29 Apr 2019 21:07:33 GMT):
Hello everyone! I try to integrate Burrow virtual machine to Hyperledger Iroha. Can someone give some tips about Burrow VM? 1) Where can I find the code that is responsible for VM calls inside Burrow? 2) Which ways can I interact with VM? Thanks in advance

djraj (Tue, 30 Apr 2019 01:18:55 GMT):
Has joined the channel.

seanyoung (Tue, 30 Apr 2019 08:48:54 GMT):
@SimonSchuler with this yaml: ```jobs: - name: foo deploy: contract: score_storage.sol - name: _add_score call: destination: $foo function: add_score data: - 144 - 9000000 - name: _get_score query-contract: destination: $foo function: get_score data: - 144 ```

seanyoung (Tue, 30 Apr 2019 08:48:54 GMT):
@SimonSchuler with this yaml: ```jobs: - name: foo deploy: contract: score_storage.sol - name: _add_score call: destination: $foo function: add_score data: - 144 - 9000000 - name: _get_score query-contract: destination: $foo function: get_score data: - 144 ```

seanyoung (Tue, 30 Apr 2019 08:48:54 GMT):
@SimonSchuler with this yaml: ```jobs: - name: foo deploy: contract: score_storage.sol - name: _add_score call: destination: $foo function: add_score data: - 144 - 9000000 - name: _get_score query-contract: destination: $foo function: get_score data: - 144 ``` it works fine for me. Are you sure the address is right?

seanyoung (Tue, 30 Apr 2019 08:49:43 GMT):
@IvanTyulyandin the vm code is in execution/evm/vm/go

seanyoung (Tue, 30 Apr 2019 08:49:43 GMT):
@IvanTyulyandin the vm code is in execution/evm/vm.go Fabric have also used our EVM. https://github.com/hyperledger/fabric-chaincode-evm/ And sawtooth-seth too: https://github.com/hyperledger/sawtooth-seth/ You take inspiration from there:

seanyoung (Tue, 30 Apr 2019 08:49:43 GMT):
@IvanTyulyandin the vm code is in execution/evm/vm.go Fabric have also used our EVM. https://github.com/hyperledger/fabric-chaincode-evm/ And sawtooth-seth too: https://github.com/hyperledger/sawtooth-seth/ You can take inspiration from there :)

SimonSchuler (Tue, 30 Apr 2019 09:05:24 GMT):
@seanyoung Thank you for trying. This is odd. Because your script also only executes the first two jobs, should I try to just reinstall burrow? ``` ./burrow deploy -a14A7F078573A62F4698C4019C6FD2BC0F4A7DAE9 -f yaml/test_error.yaml *****Executing Job***** Job Name => defaultAddr *****Executing Job***** Job Name => foo Deploying Contract name => score_storage addr => AAA3D7A9AC8A6BB9156DD8BC83AF54854463458E Saving Binary => /home/debbi/de.simonschuler.ba/server_linux/burrow/bin/score_storage.bin *****Executing Job***** Job Name => _add_score *****Executing Job***** Job Name => _get_score not enough data ```

seanyoung (Tue, 30 Apr 2019 09:10:39 GMT):
@SimonSchuler what burrow version are you using?

seanyoung (Tue, 30 Apr 2019 09:11:06 GMT):
and would you mind sharing the test_error.yaml please

SimonSchuler (Tue, 30 Apr 2019 09:11:07 GMT):
0.23.3+commit.v0.23.3-115-g4bf2d79b+2019-01-25

SimonSchuler (Tue, 30 Apr 2019 09:11:30 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=6SjSyC2vSycgN7nD6) @seanyoung its just copy paste from your code

SimonSchuler (Tue, 30 Apr 2019 09:12:19 GMT):
``` jobs: - name: foo deploy: contract: score_storage.sol - name: _add_score call: destination: $foo function: add_score data: - 144 - 9000000 - name: _get_score query-contract: destination: $foo function: get_score data: - 144 ```

seanyoung (Tue, 30 Apr 2019 09:13:19 GMT):
great, I got that message two now with that version

SimonSchuler (Tue, 30 Apr 2019 09:14:20 GMT):
so updating would solve my problem I guess? Thank you :)

seanyoung (Tue, 30 Apr 2019 09:15:01 GMT):
I suspect so. However I can't remember a bug fix for anything like this

SimonSchuler (Tue, 30 Apr 2019 09:15:49 GMT):
Thank you so much :)

fastchain (Tue, 30 Apr 2019 11:24:01 GMT):
Hello! I've just accidentally found that ecrecover precompiled smart contract is disabled. https://github.com/hyperledger/fabric-chaincode-evm/blob/master/vendor/github.com/hyperledger/burrow/execution/evm/native.go#L75 Is it a permanent decision?

compleatang (Tue, 30 Apr 2019 12:52:57 GMT):
@fastchain not permanent and always looking for help/contributions. -> https://github.com/hyperledger/burrow/issues/436

compleatang (Tue, 30 Apr 2019 12:59:00 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=GQHdXTaRbtMPzJ2er) @mikeburrow Hi @mikeburrow first off welcome! Currently, we have strongly discussed implementation of the Cosmos SDK, but up to now have not had time to develop sophisticated token economics primitives in particular with relationship to validator bonding. We'd always welcome contributors in this area at a minimum in terms of outlining your design requirements in a GH issue, or perhaps code level assistance in bringing in the Cosmos SDK. _Some_ of what you're trying to achieve is doable within EVM smart contracts, but it would likely be relatively hacky.

compleatang (Tue, 30 Apr 2019 12:59:00 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=GQHdXTaRbtMPzJ2er) Hi @mikeburrow first off welcome! Currently, we have strongly discussed implementation of the Cosmos SDK, but up to now have not had time to develop sophisticated token economics primitives in particular with relationship to validator bonding. We'd always welcome contributors in this area at a minimum in terms of outlining your design requirements in a GH issue, or perhaps code level assistance in bringing in the Cosmos SDK. _Some_ of what you're trying to achieve is doable within EVM smart contracts, but it would likely be relatively hacky.

fastchain (Tue, 30 Apr 2019 12:59:35 GMT):
@compleatang aha.. so the root of the problem that there is no "compressed signature" for ed25519, which would work tha same ways as for secp256k1 , right?

compleatang (Tue, 30 Apr 2019 12:59:48 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=ZB97rjrrzZZQNdhjg) @efn cc @silasdavis

compleatang (Tue, 30 Apr 2019 13:00:37 GMT):
Fastchain, I'm not deep in the cryptography primitives but I do remember that it was something around the difference between ed22519 and secp.

compleatang (Tue, 30 Apr 2019 13:01:57 GMT):
Since we use ed22519 keys in burrow (as does tendermint) I remember we turned it off for something to do with that. Although there's no reason it should be off for all curve types we just haven't gotten around to it in terms of our (monax) contributions.

fastchain (Tue, 30 Apr 2019 13:02:35 GMT):
@compleatang got it.

compleatang (Tue, 30 Apr 2019 13:03:43 GMT):
Fast, I'm just seeing your bug noted in #fabric-evm

compleatang (Tue, 30 Apr 2019 13:04:26 GMT):
can you describe a bit here the problem? and if so can you dump an issue in burrow so we can take a look?

compleatang (Tue, 30 Apr 2019 13:04:42 GMT):
That doesn't feel like we should throw on a simple factory with constructor pattern.

fastchain (Tue, 30 Apr 2019 13:09:43 GMT):
So the problem is following, I have a contract 1 which creates another contract 2 on function call and contract 2 creates contract 3 in constructor. In ethereum EVM it works. In burrow I get this (RPC dump from FAB3 proxy): ``` POST / HTTP/1.1 Host: 127.0.0.1:5000 User-Agent: python-requests/2.21.0 Accept-Encoding: gzip, deflate Accept: */* Connection: keep-alive Content-Type: application/json Content-Length: 216 {"jsonrpc": "2.0", "method": "eth_sendTransaction", "params": [{"from": "0x52485A6876A8D7E70DD5CB2A706B7d909842A57e", "to": "0x7C52556AcA4Bcd62c3538f2739ad0dD7EaAc438b", "data": "0xaa908e61", "gas": "0x0"}], "id": 9} HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 X-Content-Type-Options: nosniff Date: Tue, 30 Apr 2019 13:08:27 GMT Content-Length: 300 {"jsonrpc":"2.0","error":{"code":-32000,"message":"Failed to execute transaction: Transaction processing for endorser [peer0.org1.example.com:7051]: Chaincode status Code: (500) UNKNOWN. Description: failed to execute contract: error 16 - execution reverted: execution reverted","data":null},"id":9} ``` You can reproduce it with https://pastebin.com/anuNT9nX

fastchain (Tue, 30 Apr 2019 13:09:43 GMT):
So the problem is following: I have a contract 1 which creates another contract 2 on function call and contract 2 creates contract 3 in constructor. In ethereum EVM it works. In burrow I get this (RPC dump from FAB3 proxy): ``` POST / HTTP/1.1 Host: 127.0.0.1:5000 User-Agent: python-requests/2.21.0 Accept-Encoding: gzip, deflate Accept: */* Connection: keep-alive Content-Type: application/json Content-Length: 216 {"jsonrpc": "2.0", "method": "eth_sendTransaction", "params": [{"from": "0x52485A6876A8D7E70DD5CB2A706B7d909842A57e", "to": "0x7C52556AcA4Bcd62c3538f2739ad0dD7EaAc438b", "data": "0xaa908e61", "gas": "0x0"}], "id": 9} HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 X-Content-Type-Options: nosniff Date: Tue, 30 Apr 2019 13:08:27 GMT Content-Length: 300 {"jsonrpc":"2.0","error":{"code":-32000,"message":"Failed to execute transaction: Transaction processing for endorser [peer0.org1.example.com:7051]: Chaincode status Code: (500) UNKNOWN. Description: failed to execute contract: error 16 - execution reverted: execution reverted","data":null},"id":9} ``` You can reproduce it with https://pastebin.com/anuNT9nX

fastchain (Tue, 30 Apr 2019 13:10:46 GMT):
>can you dump an issue in burrow so we can take a look? you mean create an issue in jira in burrow project?

compleatang (Tue, 30 Apr 2019 13:10:47 GMT):
Hmm. We test a very similar pattern.. https://github.com/hyperledger/burrow/tree/develop/tests/jobs_fixtures/app26-factories_single_constructor_and_overwriting_testing

compleatang (Tue, 30 Apr 2019 13:11:06 GMT):
Are you sure it's not a permissioning problem?

compleatang (Tue, 30 Apr 2019 13:11:32 GMT):
FWIW we use GitHub issues not Jira.

fastchain (Tue, 30 Apr 2019 13:12:17 GMT):
>Are you sure it's not a permissioning problem? I'm sure. I've spent last week fixing the permission issue :)

compleatang (Tue, 30 Apr 2019 13:12:35 GMT):
Oh cool.

fastchain (Tue, 30 Apr 2019 13:14:03 GMT):
@compleatang there is a difference with your pattern: in your teste you create just one contract on, in my case I create two (the first created creates second one in constructor).

compleatang (Tue, 30 Apr 2019 13:14:26 GMT):
If you can give us a test case on a GH issue we'll definitely take a look. Our tests follow the pattern linked above.

compleatang (Tue, 30 Apr 2019 13:14:46 GMT):
And yes, misread your case they are different...

fastchain (Tue, 30 Apr 2019 13:14:54 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=3n4M4N4c35ds2fCAq) But, to be honest, I can't say for sure, since I don't no what is the root of the problem

fastchain (Tue, 30 Apr 2019 13:14:54 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=3n4M4N4c35ds2fCAq) But, to be honest, I can't say for sure, since I don't know what is the root of the problem

compleatang (Tue, 30 Apr 2019 13:16:35 GMT):
K.

fastchain (Tue, 30 Apr 2019 13:17:54 GMT):
@compleatang ok, I'll open an issue on github. Buy the way, how can I get a version of burrow if I use it as a part of the evm-chaincode ?

compleatang (Tue, 30 Apr 2019 13:18:58 GMT):
Just download the binaries from our releases. Although I'm not sure exactly the version fabric currently uses.

fastchain (Tue, 30 Apr 2019 13:22:41 GMT):
They keep in vendor folder https://github.com/hyperledger/fabric-chaincode-evm/tree/master/vendor/github.com/hyperledger/burrow so it looks like 0.24.4

fastchain (Tue, 30 Apr 2019 13:29:06 GMT):
@compleatang https://github.com/hyperledger/burrow/issues/1101

compleatang (Tue, 30 Apr 2019 14:05:24 GMT):
@fastchain I don't get a revert on 0.25.0

compleatang (Tue, 30 Apr 2019 14:18:45 GMT):
if you install burrow by downloading our binary then save this yaml: ```yaml ```

compleatang (Tue, 30 Apr 2019 14:18:45 GMT):
if you install burrow by downloading our binary then save this yaml: ```yaml jobs: - name: deployD deploy: contract: contract.sol instance: D - name: deployX deploy: contract: contract.sol instance: X - name: deployC deploy: contract: contract.sol instance: C - name: create1 call: destination: $deployC function: createD data: [] bin: $deployC ```

compleatang (Tue, 30 Apr 2019 14:19:35 GMT):
with your base contract as `contract.sol`

compleatang (Tue, 30 Apr 2019 14:19:52 GMT):
then run this script: ```bash #!/usr/bin/env bash rm -rf .burrow burrow spec -f1 | burrow configure -s- > config.toml addr=$(cat config.toml | grep "ValidatorAddress"| sed -e "s/^ValidatorAddress = //" -e 's/"//g') echo $addr burrow start -v0 -c config.toml &> burrow.log & sleep 1 burrow deploy -a $addr deploy.yaml pkill burrow ```

compleatang (Tue, 30 Apr 2019 14:20:21 GMT):
you will see that it all operates without a problem on burrow.

silasdavis (Tue, 30 Apr 2019 14:25:50 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=Y59GvwDAfDf3fYmr7) @efn Yes that does kinda suck... @seanyoung there is really no good reason for us to store the genesisdoc - we can just store the hash in PersistedState - we'll need to rework a couple of things, but we are not relying on the genesis being stored in state - we expect it to be on disk anyway

fastchain (Tue, 30 Apr 2019 14:38:05 GMT):
@compleatang wow.. thank you! which version of borrow you used for this test?

compleatang (Tue, 30 Apr 2019 14:39:00 GMT):
it's passing on CI; see #1102 which would be current develop branch. i run v0.25.0

compleatang (Tue, 30 Apr 2019 14:39:49 GMT):
didn't test against 0.24.4 but we haven't really touched the evm in there so it's hard for me to see that it's a problem. if you want to verify static binaries are downloadable here -> https://github.com/hyperledger/burrow/releases (it should take you less than 5 minutes to confirm with the above information)

compleatang (Tue, 30 Apr 2019 14:39:57 GMT):
(plus you'll have burrow installed :D )

SimonSchuler (Tue, 30 Apr 2019 15:08:20 GMT):
@seanyoung I am really sorry to bother You again, unfortunately it is still not working with the same error. Everything is the same (I renamed the yaml directory to deploy, thats it) I just updated burrow and go. go version "go1.12.2 linux/amd64" burrow version: 0.25.0+commit.v0.24.3-71-g6c5e9ab5+2019-04-30 ``` ./burrow deploy --address 048AB196B49B328E8D629B44859030513DD7F5FC deploy/test_error.yaml log_channel=Info message="Using chain" Chain=127.0.0.1:10997 Signer= log_channel=Info message="Loading Playbook File." log_channel=Info message="Loading playbook file" path=/home/debbi/de.simonschuler.ba/server_linux/burrow/deploy filename=/home/debbi/de.simonschuler.ba/server_linux/burrow/deploy/test_error.yaml log_channel=Info message="*****Executing Job*****" JobName=defaultAddr Type=Account log_channel=Info message="Setting Account" account=048AB196B49B328E8D629B44859030513DD7F5FC log_channel=Info message="*****Executing Job*****" JobName=foo Type=Deploy log_channel=Info message="Contract path" path=score_storage.sol log_channel=Info message="Deploying the single contract from solidity file" path=score_storage.sol abi="[{\"constant\":false,\"inputs\":[{\"name\":\"_allowed_user\",\"type\":\"address\"}],\"name\":\"give_access_right\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"get_times\",\"outputs\":[{\"name\":\"\",\"type\":\"int256[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_time\",\"type\":\"int256\"}],\"name\":\"get_score\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"who_has_access_right\",\"outputs\":[{\"name\":\"\",\"type\":\"address[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_time\",\"type\":\"int256\"},{\"name\":\"_score\",\"type\":\"uint256\"}],\"name\":\"add_score\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"delete_everyting\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_non_allowed_user\",\"type\":\"address\"}],\"name\":\"remove_access_right\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}]" bin=***I REMOVED THE BIN, TOO MUCH DATA*** log_channel=Info message="Saving Binary" contract=score_storage log_channel=Info message=CallTx call="unsupported value type" log_channel=Info message="Using mempool signing since no keyClient set, pass --keys to sign locally or elsewhere" log_channel=Info message="Using mempool signing" log_channel=Info message="Tx Return" addr=30C63C4ECB1465D7602001779FB5B82718D6B7BD TransactionHash=85ee47d986868dd2f519e576628299b1cdf81ca293f2765f4f218bd430677738 log_channel=Info message="*****Executing Job*****" JobName=_add_score Type=Call log_channel=Info message=Calling destination=30C63C4ECB1465D7602001779FB5B82718D6B7BD function=add_score data=958b980400000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000895440 log_channel=Info message=CallTx call="unsupported value type" log_channel=Info message="Using mempool signing" log_channel=Info message="No return result value" log_channel=Info message="*****Executing Job*****" JobName=_get_score Type=QueryContract log_channel=Info message="Query contract" query="unsupported value type" log_channel=Info message=CallTx call="unsupported value type" ERROR: not enough datalog_channel=Info message="JOBS THAT FAILED" count=1 log_channel=Info message="Playbook result" jobNo=0 file=deploy/test_error.yaml error="not enough data" time=2.221459821s ``` Any idea?

efn (Tue, 30 Apr 2019 15:48:53 GMT):
Thanks @silasdavis Indeed, I just removed it from the state and it worked :)

seanyoung (Tue, 30 Apr 2019 18:18:50 GMT):
@SimonSchuler you are right, on v0.25.0 it does not work but it does work on the develop branch. This is strange..

seanyoung (Tue, 30 Apr 2019 18:34:40 GMT):
@SimonSchuler I'm sorry, I think it's a different problem. get_score() returns uint; however, there in data returned by this function. Note the message: log_channel=Info message="No return result value" Then it tries to decode the value and cannot since there is nothing to decode

seanyoung (Tue, 30 Apr 2019 18:40:23 GMT):
If I replace the query-contact with call, it works fine. However, solidity says the function is constant in the abi so I don't know why it's not working

fastchain (Wed, 01 May 2019 06:22:36 GMT):
@compleatang hi, I've executed the test and something went wrong. results are here https://github.com/hyperledger/burrow/pull/1102

seanyoung (Wed, 01 May 2019 08:13:28 GMT):
@SimonSchuler so try the following yaml: ``` jobs: - name: foo deploy: contract: score_storage.sol - name: _add_score call: destination: $foo function: add_score data: - 144 - 9000000 - name: _get_score call: destination: $foo function: get_score data: - 144 ```

SimonSchuler (Wed, 01 May 2019 08:21:03 GMT):
@seanyoung the call works. ``` log_channel=Info message="Saving Binary" contract=score_storage log_channel=Info message=CallTx call="unsupported value type" log_channel=Info message="Using mempool signing since no keyClient set, pass --keys to sign locally or elsewhere" log_channel=Info message="Using mempool signing" log_channel=Info message="Tx Return" addr=C895930342918AAB868461403316CC030A94519E TransactionHash=912e42c284072b4c590f120dd90a587c3f81ae191c847e76fc74f7b97f8c3f99 log_channel=Info message="*****Executing Job*****" JobName=_add_score Type=Call log_channel=Info message=Calling destination=C895930342918AAB868461403316CC030A94519E function=add_score data=958b980400000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000895440 log_channel=Info message=CallTx call="unsupported value type" log_channel=Info message="Using mempool signing" log_channel=Info message="No return result value" log_channel=Info message="*****Executing Job*****" JobName=_get_score Type=Call log_channel=Info message="Function call to constant function, query-contract type job will be faster than call" log_channel=Info message=Calling destination=C895930342918AAB868461403316CC030A94519E function=get_score data=731c9a090000000000000000000000000000000000000000000000000000000000000090 log_channel=Info message=CallTx call="unsupported value type" log_channel=Info message="Using mempool signing" log_channel=Info message="Return value" value=9000000 log_channel=Info message="Job Vars" name=0 value=9000000 log_channel=Info message="Writing to current directory" output=/home/debbi/de.simonschuler.ba/server_linux/burrow/deploy/test_error_call.output.json log_channel=Info message="JOBS THAT SUCCEEEDED" count=1 log_channel=Info message="Playbook result" jobNo=0 file=deploy/test_error_call.yaml time=921.436115ms ``` output.json: ``` { "_add_score": "", "_get_score": "9000000", "defaultAddr": "048AB196B49B328E8D629B44859030513DD7F5FC", "foo": "C895930342918AAB868461403316CC030A94519E" } ```

SimonSchuler (Wed, 01 May 2019 08:21:03 GMT):
@seanyoung the call works. ``` [...] log_channel=Info message="Saving Binary" contract=score_storage log_channel=Info message=CallTx call="unsupported value type" log_channel=Info message="Using mempool signing since no keyClient set, pass --keys to sign locally or elsewhere" log_channel=Info message="Using mempool signing" log_channel=Info message="Tx Return" addr=C895930342918AAB868461403316CC030A94519E TransactionHash=912e42c284072b4c590f120dd90a587c3f81ae191c847e76fc74f7b97f8c3f99 log_channel=Info message="*****Executing Job*****" JobName=_add_score Type=Call log_channel=Info message=Calling destination=C895930342918AAB868461403316CC030A94519E function=add_score data=958b980400000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000895440 log_channel=Info message=CallTx call="unsupported value type" log_channel=Info message="Using mempool signing" log_channel=Info message="No return result value" log_channel=Info message="*****Executing Job*****" JobName=_get_score Type=Call log_channel=Info message="Function call to constant function, query-contract type job will be faster than call" log_channel=Info message=Calling destination=C895930342918AAB868461403316CC030A94519E function=get_score data=731c9a090000000000000000000000000000000000000000000000000000000000000090 log_channel=Info message=CallTx call="unsupported value type" log_channel=Info message="Using mempool signing" log_channel=Info message="Return value" value=9000000 log_channel=Info message="Job Vars" name=0 value=9000000 log_channel=Info message="Writing to current directory" output=/home/debbi/de.simonschuler.ba/server_linux/burrow/deploy/test_error_call.output.json log_channel=Info message="JOBS THAT SUCCEEEDED" count=1 log_channel=Info message="Playbook result" jobNo=0 file=deploy/test_error_call.yaml time=921.436115ms ``` output.json: ``` { "_add_score": "", "_get_score": "9000000", "defaultAddr": "048AB196B49B328E8D629B44859030513DD7F5FC", "foo": "C895930342918AAB868461403316CC030A94519E" } ```

seanyoung (Wed, 01 May 2019 08:26:15 GMT):
I think we need an issue for this, to debug why query contract does not work

SimonSchuler (Wed, 01 May 2019 08:28:35 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=viLXEXk3H69v5u7mp) @seanyoung i dont quite understand what you are trying to tell me here. Did I make the mistake?

SimonSchuler (Wed, 01 May 2019 08:28:48 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=YT5DffEKD65HiG3cs) @seanyoung will do.

seanyoung (Wed, 01 May 2019 08:38:55 GMT):
That was not very clear, I'm sorry. I'm just saying I should open an issue on burrow for this, so we can investigate this at some point.

SimonSchuler (Wed, 01 May 2019 08:39:45 GMT):
ok :) I will just stick with the workaround for now :)

efn (Wed, 01 May 2019 08:58:23 GMT):

Clipboard - May 1, 2019 10:58 AM

efn (Wed, 01 May 2019 08:58:59 GMT):
Hi, I have a couple more bottlenecks in my experiment, I'm running 80 validators. The problem is that the client takes a long time to send the txs, I try to send 200tx over 5s blocks. Blocks are produced with around 7-9s latency. In the beginning, the performance is good, but as the system progresses it gets very erratic, like the file above X axis is blocks (0, N) and Y is Tx/s in that block

efn (Wed, 01 May 2019 08:59:33 GMT):
this experiment can take around 18tx/s on average

compleatang (Wed, 01 May 2019 14:16:52 GMT):
@fastchain to answer your last queston on the PR before moving here, yes you can give the deploy.yaml a binary. just save the binary as a .bin and change the name of the contract in the deploy.yaml `deploy` job.

silasdavis (Thu, 02 May 2019 10:28:15 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=dqPZT3gSY2Xpe2e6J) @efn If you are able to work that into a PR it would be much appreciated - it needs to be removed from some of the call chain and `GenesisHash` _should_ be included in `PersistedState` in order to ensure what we have on disc matches what we start up against

silasdavis (Thu, 02 May 2019 10:29:05 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=3fSjQr2nSz6n7SJiB) @efn Are we looking atstats for a single validator here?

silasdavis (Thu, 02 May 2019 11:31:18 GMT):
if you could run burrow with config: ``` [RPC] [RPC.Profiler] Enabled = true ListenAddress = "tcp://127.0.0.1:6060" ``` and try to capture some traces from a validator while it is performing poorly with: ``` # CPU Profile go tool pprof http://localhost:6060/debug/pprof/profile\?seconds\=30 # Memory ```

silasdavis (Thu, 02 May 2019 11:31:18 GMT):
if you could run burrow with config: ``` [RPC] [RPC.Profiler] Enabled = true ListenAddress = "tcp://127.0.0.1:6060" ``` and try to capture some traces from a validator while it is performing poorly with: ``` # CPU Profile go tool pprof http://localhost:6060/debug/pprof/profile\?seconds\=30 # Memory go tool pprof http://localhost:6060/debug/pprof/heap ```

silasdavis (Thu, 02 May 2019 11:31:56 GMT):
maybe also `http://localhost:6060/debug/pprof/trace\?seconds\=30`

silasdavis (Thu, 02 May 2019 11:32:14 GMT):
the trace files will be saved to `~/pprof` by default

silasdavis (Thu, 02 May 2019 11:33:29 GMT):
if you could open an issue and attach those traces plus your graph and any other information on github

silasdavis (Thu, 02 May 2019 11:34:24 GMT):
there is a definitely some performance and tuning work to be done and the more complete a picture we can build there the better job we can do when we have a proper run at it - quite often the traces will yield low-hanging fruit

fastchain (Mon, 06 May 2019 04:50:39 GMT):
@compleatang hello! I've setup the appropriate solc (using make bin/solc) and now I have following output: ``` log_channel=Info message="Using chain" Chain=127.0.0.1:10997 Signer= log_channel=Info message="Loading Playbook File." log_channel=Info message="Loading playbook file" path=/home/afx/go/src/github.com/hyperledger/burrow/bin filename=/home/afx/go/src/github.com/hyperledger/burrow/bin/deploy.yaml log_channel=Info message="*****Executing Job*****" JobName=defaultAddr Type=Account log_channel=Info message="Setting Account" account=10FD1324C696E68935C4252D1F636323CE7221BA log_channel=Info message="*****Executing Job*****" JobName=deployD Type=Deploy log_channel=Info message="Contract path" path=contract.sol log_channel=Info message="Warning during contract compilation" warning="contract.sol:12:9: Warning: Unused local variable.\n D d = new D(y);\n ^-^\ncontract.sol:20:9: Warning: Unused local variable.\n X newX = new X(q);\n ^----^\n" log_channel=Info message="Deploying a single contract that matches" contract=D log_channel=Info message="Saving Binary" contract=D log_channel=Info message="Constructor wants %d arguments but 0 provided" 1=(MISSING) ERROR: Constructor wants 1 arguments but 0 providedlog_channel=Info message="JOBS THAT FAILED" count=1 log_channel=Info message="Playbook result" jobNo=0 file=deploy.yaml error="Constructor wants 1 arguments but 0 provided" time=14.238781ms ``` My contract is ``` pragma solidity ^0.5.1; contract D { address x; constructor(address z) public payable { x =z; } } contract X { address z; constructor(address y) public payable { D d = new D(y); } } contract C { address q; function createD() public { q=msg.sender; X newX = new X(q); } } ``` deploy.yaml: ``` jobs: - name: deployD deploy: contract: contract.sol instance: D - name: deployX deploy: contract: contract.sol instance: X - name: deployC deploy: contract: contract.sol instance: C - name: create1 call: destination: $deployC function: createD data: [] bin: $deployC ``` It looks like there is some issues with processing msg.sender, or something wrong in yaml file. Could you please help me to figure out.

fastchain (Mon, 06 May 2019 04:53:37 GMT):
btw, when I removed msg.sender variable (and depended address varibales) from contracts. Deployment has executed successfully.

SimonSchuler (Tue, 07 May 2019 06:05:38 GMT):
Hello everyone, I was running out of space (on my server) the other day. So I looked into block generation rates for burrow and found that around every half a second a new block is generated. For my purpose it would be sufficient to have like one a minute :) Is there an easy way to achieve this?

seanyoung (Tue, 07 May 2019 08:12:42 GMT):
@fastchain replace the deploy.yaml with: ``` jobs: - name: deployC deploy: contract: contract.sol instance: C - name: create1 call: destination: $deployC function: createD data: [] bin: $deployC ```

seanyoung (Tue, 07 May 2019 08:14:02 GMT):
The first two jobs were unnecessary and in fact incorrect, but this was not checked before. See https://github.com/hyperledger/burrow/commit/27913e7c74b99bbd8e62a3ab76b85ba3803bb078

fastchain (Tue, 07 May 2019 09:09:54 GMT):
@seanyoung Thanks! Buy the way, do you know what does "error 16 - execution reverted: execution reverted" mean ? When and why error "execution reverted" could take place?

fastchain (Tue, 07 May 2019 10:54:25 GMT):
here are filtered logs from container *docker logs peer0.org1.example.com -f 2>&1 | grep -via gossip | grep -via discovery* https://pastebin.com/vuG6KaAi

seanyoung (Tue, 07 May 2019 11:51:37 GMT):
@fastchain execution reverted can have multiple causes. 1. If you call assert(), require() or revert 2. Problem ABI decoding the constructor/function arguments 3. Calling another contract which does not exist

seanyoung (Tue, 07 May 2019 11:51:37 GMT):
@fastchain execution reverted can have multiple causes. 1. If you call assert(), require() or revert 2. Problem ABI decoding the constructor/function arguments 3. Calling another contract which does not exist

seanyoung (Tue, 07 May 2019 11:51:37 GMT):
@fastchain execution reverted can have multiple causes. 1. If you call assert(), require() or revert() 2. Problem ABI decoding the constructor/function arguments 3. Calling another contract which does not exist

seanyoung (Tue, 07 May 2019 11:52:30 GMT):
Basically anything that causes runtime errors in solidity (evm) then this is how it bails out

fastchain (Wed, 08 May 2019 01:34:57 GMT):
@seanyoung so, if I have following contract ``` pragma solidity ^0.5.1; contract D { address x; constructor(address z) public { x =z; } } contract X { address z; constructor(address y) public { D d = new D(y); } } contract C { address q; constructor() public { q=msg.sender; X newX = new X(q); } } ``` the only possible reason is ABI decoding issue?

fastchain (Wed, 08 May 2019 01:34:57 GMT):
@seanyoung so, if I have following contract ``` pragma solidity ^0.5.1; contract D { //address x; constructor() public payable { //x =z; } } contract X { //address z; constructor() public payable { D d = new D(); } } contract C { function createD() public { X newX = new X(); } } ``` the only possible reason is ABI decoding issue?

fastchain (Wed, 08 May 2019 01:34:57 GMT):
@seanyoung so, if I have following contract ``` pragma solidity ^0.5.1; contract C { uint8 x; constructor() public { x =1; } } contract B { constructor() public { C c = new C(); } } contract A { constructor()public { B b= new B(); } } ``` the only possible reason is ABI decoding issue?

seanyoung (Wed, 08 May 2019 08:52:14 GMT):
@fastchain it could that fabric doesn't like creating contracts in constructors too. I don't know about debugging fabric but I would turn on debugging in the evm vm https://github.com/hyperledger/burrow/blob/develop/execution/evm/vm.go#L84 and see what it is executing. I'm happy to look at a trace if you can get one

seanyoung (Wed, 08 May 2019 08:52:14 GMT):
@fastchain it could that fabric doesn't like creating contracts in constructors too. I don't know about debugging fabric but I would turn on debugging in the evm see https://github.com/hyperledger/burrow/blob/develop/execution/evm/vm.go#L84 and see what it is executing. I'm happy to look at a trace if you can get one

seanyoung (Wed, 08 May 2019 08:52:14 GMT):
@fastchain it could that fabric doesn't like creating contracts in constructors too. I don't know about debugging fabric but I would turn on debugging in the evm (see https://github.com/hyperledger/burrow/blob/develop/execution/evm/vm.go#L84) and see what it is executing before the revert opcode. I'm happy to look at a trace if you can get one

SimonSchuler (Wed, 08 May 2019 09:05:46 GMT):
Hello, I was trying to find some information on how the Permissioned part of hl Burrow works. Dose anyone have an Idea on where I can read about that part? The documentation on github dose not cover this topic (to my knowledge)

klenik (Wed, 08 May 2019 14:10:05 GMT):
Hi All! Can someone confirm that the Burrow EVM (or something in an upper layer) performs an Account update after every TX even if nothing changed (or maybe changes are not checked)? Context: Burrow EVM and Fabric integration through the EVMCC project.

seanyoung (Wed, 08 May 2019 14:27:08 GMT):
For every tx the sequence number for the account has to be increased

seanyoung (Wed, 08 May 2019 14:57:50 GMT):
@SimonSchuler I'm not sure there is much documentation. First you run "burrow snatives" to get the solidity interface. The actual implementation is in go, so none of the functions have any bodies. You should write the output to a file and import it into your own solidity files using import. Permissions can also be managed from deploy yaml, see https://github.com/hyperledger/burrow/blob/develop/tests/jobs_fixtures/app03-basic_and_advanced_permission_txs_and_queries/deploy.yaml

klenik (Wed, 08 May 2019 16:42:21 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=QzSTLnStr5JvGneJe) @seanyoung Ah, I didn't know that, thanks for the info! So this greatly increases the probability of mvcc conflicts during a fabric integration, if there are only a few contracts

silasdavis (Thu, 09 May 2019 09:46:53 GMT):
@klenik note that only the input sequence number is increased by Burrow. Also IIRC I think we changed our EVM interface specifically to help you guys out with this: https://github.com/hyperledger/burrow/commit/81e6682c9586dbcb3d4123492deadf17967320b3

silasdavis (Thu, 09 May 2019 09:46:53 GMT):
@klenik note that only the sequence number of the 'input account' (i.e. the 'from address') is increased by Burrow. Also IIRC I think we changed our EVM interface specifically to help you guys out with this: https://github.com/hyperledger/burrow/commit/81e6682c9586dbcb3d4123492deadf17967320b3

klenik (Thu, 09 May 2019 16:58:04 GMT):
Hmm, then I need to investigate further to see why the contract account is being updated. Thanks for the heads up! (I'm not actually working on the evmcc project, just using it, but I'm always interested in what's under the hood)

asaningmaxchain123 (Fri, 10 May 2019 03:40:43 GMT):
Has joined the channel.

fastchain (Fri, 10 May 2019 04:03:13 GMT):
@fastchain it could that fabric doesn't like creating contracts in constructors too. I don't know about debugging fabric but I would turn on

casualuser (Fri, 10 May 2019 09:14:35 GMT):
Has joined the channel.

nikolay (Fri, 10 May 2019 10:23:38 GMT):
Hi, I have a question where I can not find documentation about... Can I start a Burrow node without being a validator and if yes - how?

seanyoung (Fri, 10 May 2019 12:01:36 GMT):
@nikolay what exactly are you trying to achieve? Just to run a single burrow node to develop against?

nikolay (Fri, 10 May 2019 12:01:53 GMT):
no, a production system

nikolay (Fri, 10 May 2019 12:02:20 GMT):
but based on the tendermint requirements, the validators have to be protected by centric nodes

nikolay (Fri, 10 May 2019 12:02:33 GMT):
so they are not directly exposed to the network for security concerns

nikolay (Fri, 10 May 2019 12:02:54 GMT):
I want to have centric nodes and full nodes who serve user requests without bothering the validators

nikolay (Fri, 10 May 2019 12:03:59 GMT):
* Sentry nodes

nikolay (Fri, 10 May 2019 12:09:40 GMT):
any thoughts @seanyoung ?

seanyoung (Fri, 10 May 2019 17:01:14 GMT):
yes you can run a node in non-validating mode. It can send transactions to the validator nodes.

nikolay (Fri, 10 May 2019 17:13:07 GMT):
how do I do enable the non-validating mode?

nikolay (Fri, 10 May 2019 17:14:47 GMT):
every time I need to pass a validator address to node start

nikolay (Fri, 10 May 2019 17:14:47 GMT):
every time I need to pass a validator address to burrow start

nikolay (Fri, 10 May 2019 17:36:50 GMT):
and as a second question - I just checked out the latest code from scratch and seems like I can not disable the empty blocks - !bytes.Equal(cs.state.AppHash, lastBlockMeta.Header.AppHash) is never true and it keeps creating new blocks, haven't found an open issue so I expect I am doing something wrong, but wondering why

nikolay (Fri, 10 May 2019 17:36:50 GMT):
and as a second question - I just checked out the latest code from scratch and seems like I can not disable the empty blocks - !bytes.Equal(cs.state.AppHash, lastBlockMeta.Header.AppHash) is never false and it keeps creating new blocks, haven't found an open issue so I expect I am doing something wrong, but wondering why

silasdavis (Fri, 10 May 2019 18:25:46 GMT):
You are in non validating mode when you are connected to the network and your are not a Validator. All Burrow nodes have a Validator Address whether or not they are a Validator that serves as their primary signing identity, and is used if ever they have Validator power bonded. We are working on some network introductions that will rely on this primary identity being available. It means we can always associate an account with a node which has some applications.

silasdavis (Fri, 10 May 2019 18:29:01 GMT):
We do expose all of Tendermint's configuration by default but have expose groups of config that make sense for Burrow sometimes providing meta parameters that control several tendermint parameters at once. The idea is to provide nice defaults and make things tuneable where there is demand. I'm not against providing it as an option though we use block production as a heartbeat mechanism so have not really wanted it off. It might be convenient for testing, but we no have no consensus mode which helps that. Feel free to open an issue.

silasdavis (Fri, 10 May 2019 18:29:01 GMT):
We do not expose all of Tendermint's configuration by default but have expose groups of config that make sense for Burrow sometimes providing meta parameters that control several tendermint parameters at once. The idea is to provide nice defaults and make things tuneable where there is demand. I'm not against providing it as an option though we use block production as a heartbeat mechanism so have not really wanted it off. It might be convenient for testing, but we no have no consensus mode which helps that. Feel free to open an issue.

silasdavis (Fri, 10 May 2019 18:29:01 GMT):
We do not expose all of Tendermint's configuration by default, preferring to expose groups of config that make sense for Burrow. Sometimes providing different or meta parameters that control several tendermint parameters at once. The idea is to provide nice defaults and less noise, but to make things tuneable where there is demand. I'm not against providing it as an option though we use block production as a heartbeat mechanism so have not really wanted it off. It might be convenient for testing, but we no have no consensus mode which helps that. Feel free to open an issue.

nikolay (Fri, 10 May 2019 18:34:55 GMT):
Thank you @silasdavis that makes sense and it is fine for now and actually makes sense

nikolay (Fri, 10 May 2019 18:34:55 GMT):
Thank you @silasdavis it is fine for now and actually makes sense

nikolay (Fri, 10 May 2019 18:48:22 GMT):
@silasdavis I would be very thankful if you can give me a hint about the empty blocks as I am trying to debug it for several hours now

nikolay (Fri, 10 May 2019 18:50:05 GMT):
I have an old revision of Burrow that works for weeks now without any issues, but since I upgraded today I can't get over it, it creates empty blocks like crazy and everything is on a clean installation with new network creation

nikolay (Sat, 11 May 2019 13:21:53 GMT):
Hi, I have spent some time on this issue and traced back the empty blocks problem to this commit "Merge pull request #1000 from silasdavis/state" from 1.Feb

nikolay (Sat, 11 May 2019 13:22:55 GMT):
The issue comes from the fact that after this change the commits are stored in a forest and each save on the forest creates a new hash even if there is no change on the tree, the hash changes. Is this expected behaviour or I should file an issue?

silasdavis (Sun, 12 May 2019 18:12:05 GMT):
Block chain state did not use to be in the merkle tree state so that is a change. But we have always stored empty blocks some I'm not sure hwl this relates to that. When you say like crazy it may be related to the change in default block timings. If empty blocks are an issue please open an issue and we'll make this configurable. I suspect the block storage in state may mean that a simple approach of passing the no empty blocks to tendermint will not be enough. In your case we may want to disable block storage on our side. Either way we can look to a solution if you open an issue.

silasdavis (Sun, 12 May 2019 18:12:05 GMT):
Block chain state did not use to be in the merkle tree state so that is a change. But we have always stored empty blocks so I'm not sure how this relates to that. When you say like crazy it may be related to the change in default block timings. If empty blocks are an issue please open an issue and we'll make this configurable. I suspect the block storage in state may mean that a simple approach of passing the no empty blocks to tendermint will not be enough. In your case we may want to disable block storage on our side. Either way we can look to a solution if you open an issue.

nikolay (Mon, 13 May 2019 08:01:06 GMT):
Hi, it is related to this issue - https://github.com/tendermint/tendermint/issues/1995 , please check the last answer, I will file an issue, explaining what exactly is observed

klenik (Mon, 13 May 2019 11:11:29 GMT):
@silasdavis Can you please provide some examples when the contract execution is not reverted, but aborted (different error codes as I see)? What can trigger the more serious abort error?

mohor32 (Mon, 13 May 2019 15:59:06 GMT):
Has joined the channel.

mohor32 (Mon, 13 May 2019 15:59:07 GMT):
Can anybody please help in getting started with Hyperledger Burrow?I am following the instructions listed here https://github.com/hyperledger/burrow/blob/develop/docs/README.md

mohor32 (Mon, 13 May 2019 15:59:39 GMT):
But while starting the node i am getting the error ```` burrow command not found ````

mohor32 (Mon, 13 May 2019 16:00:47 GMT):
am i missing something here?what i feel is that i need to have fabric installed for this..i dont have though.

mohor32 (Mon, 13 May 2019 16:00:59 GMT):
is this the thing that is missing?

mohor32 (Mon, 13 May 2019 16:01:19 GMT):
any help , leads on this would be highly appreciated

mohor32 (Mon, 13 May 2019 16:01:22 GMT):
thanks

nikolay (Mon, 13 May 2019 16:11:34 GMT):
after following the installation procedure https://github.com/hyperledger/burrow/blob/develop/docs/INSTALL.md

nikolay (Mon, 13 May 2019 16:11:52 GMT):
burrow is placed in $GOPATH/src/github.com/hyperledger/burrow/bin

nikolay (Mon, 13 May 2019 16:12:12 GMT):
so you need to execute $GOPATH/src/github.com/hyperledger/burrow/bin/burrow start

nikolay (Mon, 13 May 2019 16:12:38 GMT):
or export it into your path export PATH=$PATH:$GOPATH/src/github.com/hyperledger/burrow/bin

mohor32 (Mon, 13 May 2019 16:16:07 GMT):
thanks @nikolay

AbhishekAadi (Mon, 13 May 2019 20:38:24 GMT):
Has joined the channel.

efn (Mon, 13 May 2019 21:04:26 GMT):
stream

fastchain (Tue, 14 May 2019 00:28:32 GMT):
Dear all, is there any permission flag, which allows everything or disabled permissions subsystem?

KarlKneis (Tue, 14 May 2019 04:16:43 GMT):
Has joined the channel.

mohor32 (Wed, 15 May 2019 16:23:44 GMT):
i got a question/doubt.I am following this tutorial https://github.com/hyperledger/burrow/blob/develop/docs/quickstart/deploy-contracts.md to deploy a smart contract in Burrow

mohor32 (Wed, 15 May 2019 18:11:23 GMT):
I have a question regarding deployment of smart contracts in hyperledger burrow..if i have more than one contract do i need to create separate deploy yaml file for all of them?like if i have three contracts three separate deploy yaml files???

mohor32 (Wed, 15 May 2019 18:11:41 GMT):
or is there any way to pack them in a single deploy yaml file?

seanyoung (Thu, 16 May 2019 08:35:34 GMT):
@mohor32 you can have many contracts in one deploy yaml. In fact that's why the deploy yaml exist. See https://github.com/hyperledger/burrow/blob/develop/tests/jobs_fixtures/app54-static-call/deploy.yaml and also https://github.com/agreements-network/blackstone/tree/develop/contracts/src

mohor32 (Thu, 16 May 2019 09:44:23 GMT):
thanks @seanyoung

gregdhill (Fri, 17 May 2019 09:16:27 GMT):
@SimonSchuler Burrow runs on Tendermint, so you'd probably find their docs to be of some help: https://tendermint.com/docs/tendermint-core/validators.html

gregdhill (Fri, 17 May 2019 09:24:47 GMT):
What exactly are you hoping to accomplish @fastchain? Please read the discussion above on validators and let me know if that answers your question.

silasdavis (Fri, 17 May 2019 10:00:58 GMT):
@fastchain we need some better docs on this. See: https://github.com/hyperledger/burrow/blob/develop/permission/perm_flag.go#L9-L40

silasdavis (Fri, 17 May 2019 10:03:26 GMT):
See: https://godoc.org/github.com/hyperledger/burrow/permission#pkg-constants

silasdavis (Fri, 17 May 2019 11:00:57 GMT):
So I have taken the opportunity to make a start on documenting this stuff a bit better, please see: https://github.com/hyperledger/burrow/blob/docs/docs/permissions.md

silasdavis (Fri, 17 May 2019 11:01:15 GMT):
Also for genesis: https://github.com/hyperledger/burrow/blob/docs/docs/genesis.md

silasdavis (Fri, 17 May 2019 11:01:48 GMT):
docs are hard, but I'm hoping we can chip away at these we can help people actually use some of the nice features we have

silasdavis (Fri, 17 May 2019 11:02:25 GMT):
If anyone from the Burrow community has the time and inclination to add to this documents PRs into the docs feature branch I have just pushed to Burrow are very welcome :)

klenik (Fri, 17 May 2019 12:28:27 GMT):
@silasdavis Is it correct, that every EVM operation cost 1 unit of gas? I read this statement in the #fabric-evm channel

klenik (Fri, 17 May 2019 12:28:27 GMT):
@silasdavis Is it correct, that every EVM operation costs 1 unit of gas? I read this statement in the #fabric-evm channel

compleatang (Mon, 20 May 2019 15:57:49 GMT):
`root`

IvanTyulyandin (Mon, 20 May 2019 20:45:10 GMT):
Can someone explain vm.Call parameters (https://github.com/hyperledger/burrow/blob/develop/execution/evm/vm.go#L143)? I cannot understand why there are 2 fields of type []byte (_code_ and _input_). I thought, _code_ is something to be executed, and _input_ is a hash of function and parameters to that function. But I was confused with this line: `contractCode, err := ourVm.Call(cache, NewNoopEventSink(), account1, account2, code, code, 0, &gas)` (https://github.com/hyperledger/burrow/blob/develop/execution/evm/vm_test.go#L996) There is the comment about code initialization at account2. Why parameter _input_ is not empty (since there is no code at account2 before the call)? It seems I did not understand the semantics of the parameters for vm.Call.

IvanTyulyandin (Mon, 20 May 2019 20:45:10 GMT):
Can someone explain vm.Call parameters (https://github.com/hyperledger/burrow/blob/develop/execution/evm/vm.go#L143)? I cannot understand why there are 2 fields of type []byte ( _code_ and _input_). I thought, _code_ is something to be executed, and _input_ is a hash of function and parameters to that function. But I was confused with this line: `contractCode, err := ourVm.Call(cache, NewNoopEventSink(), account1, account2, code, code, 0, &gas)` (https://github.com/hyperledger/burrow/blob/develop/execution/evm/vm_test.go#L996) There is the comment about code initialization at account2. Why parameter _input_ is not empty (since there is no code at account2 before the call)? It seems I did not understand the semantics of the parameters for vm.Call.

MHBauer (Wed, 22 May 2019 00:25:12 GMT):
A. why do you care? B. that's what the code says https://github.com/hyperledger/burrow/blob/develop/execution/evm/gas.go

klenik (Wed, 22 May 2019 10:48:38 GMT):
Needed to adjust it according to Fabric timeouts for an experiment. Thanks for the code reference!

Dan (Wed, 22 May 2019 19:32:06 GMT):
hi, i'm looking at your quarterly update .. is there a pointer in your documentation or elsewhere to what is meant by state in a mutable forest?

MHBauer (Wed, 22 May 2019 23:17:30 GMT):
but what has gas to do with time?

klenik (Wed, 22 May 2019 23:20:22 GMT):
In the context of EVMCC. On one hand, Fabric's clock is ticking, on the other hand, Burrow's gas is evaporating. We needed to increase the gas to allow Fabric timeouts, and it was strange that we needed so many gas, but the cost explains it

MHBauer (Wed, 22 May 2019 23:21:21 GMT):
interesting. the gas could be tunable, and the values in there are definitely not what is defined in the white paper.

klenik (Wed, 22 May 2019 23:22:17 GMT):
It opens up some possibilities, yes, I'll dive into it once our current experiment is done

nkl199 (Fri, 24 May 2019 09:54:22 GMT):
Has joined the channel.

mohor32 (Sat, 25 May 2019 06:07:53 GMT):
hi, i am trying to start burrow but getting an error

mohor32 (Sat, 25 May 2019 06:08:00 GMT):
````Sourcing config from first of: defaults Sourcing config from defaults could not update burrow config: unable to set ValidatorAddress from provided validator-index since no GenesisDoc/GenesisSpec provided ````

mohor32 (Sat, 25 May 2019 06:08:23 GMT):
comman used:burrow start --validator-index=0

mohor32 (Sat, 25 May 2019 06:08:33 GMT):
i am following this tutorial

mohor32 (Sat, 25 May 2019 06:08:44 GMT):
https://github.com/hyperledger/burrow/blob/develop/docs/quickstart/single-full-node.md

mohor32 (Sat, 25 May 2019 06:09:14 GMT):
can anybody please give some heads up on this?

dillchen (Mon, 27 May 2019 19:19:52 GMT):
Has joined the channel.

dillchen (Mon, 27 May 2019 19:19:54 GMT):
256

JonGeater (Mon, 27 May 2019 22:40:21 GMT):
Hi @silasdavis , @compleatang (picking on you because I know you, but obviously everyone is welcome to answer)... I'm elbow-deep in implementing support for `eth_call` in Seth-RPC. It's almost entirely working but there's one thing left to satisfy the Ethereum spec that I'm struggling with. eth_call() allows you to specify a TAG|QUANTITY that specifies the block level at which you wish to execute the call, which may be "latest", "earliest", "pending", or "0x{explicit_block}". "latest" is obviously fine, and that's lucky because it's what's usually wanted, but I can't see how the call machinery in Seth in general (which is essentially just a call to NewVM() ) can support operating on other, arbitrary blocks/block heights. Do you think this can be possible? Is there an existing call or config or state param I'm missing

JonGeater (Mon, 27 May 2019 22:40:23 GMT):
?

gregdhill (Tue, 28 May 2019 08:46:48 GMT):
@mohor32 it doesn't look like you're executing burrow in the same directory you created the genesis / config.

gregdhill (Tue, 28 May 2019 08:48:41 GMT):
If you used the one-liner, you can also specify the config as part of the start command: `burrow start --validator-index=0 --config=burrow.toml`

gregdhill (Tue, 28 May 2019 08:48:41 GMT):
You can also specify the config as part of the start command: `burrow start --validator-index=0 --config=burrow.toml`

compleatang (Wed, 29 May 2019 13:50:03 GMT):
Jon, moved to #burrow-downstream

Bobbijn (Sun, 02 Jun 2019 18:24:29 GMT):
Has joined the channel.

Bobbijn (Sun, 02 Jun 2019 18:24:33 GMT):
Please join the Learning Materials Working Group tomorrow at 1pm ( https://zoom.us/my/hyperledger.community) to discuss how we can assist in your documentation needs . https://wiki.hyperledger.org/display/LMDWG/AGENDA+6-3-2019

silasdavis (Mon, 03 Jun 2019 15:19:54 GMT):
thanks @Bobbijn my co-maintainer @seanyoung jump on the call ... I will try and make it too but have some toddler related duties around that time

silasdavis (Mon, 03 Jun 2019 15:20:33 GMT):
I have this stub PR: https://github.com/hyperledger/burrow/pull/1112/files that I opened in an effort to provide a useful seed around which some better docs could crystallise

silasdavis (Mon, 03 Jun 2019 15:29:19 GMT):
The idea was to include technical topics that are much more efficient for us to write than someone new to the project which includes: - Genesis and chain-making - Permissions - Governance - Consensus and state (concepts) On these topics I was going to try and give a broad and selectively deep coverage, but I think what I or other maintainers produce could be improved a lot by someone trying to understand what is written (and have a clearer idea than us on what is confusing) as well as expanding for style and coverage. Other areas that need documentation but I think lend themselves more easily to being written from scratch by someone interested in technical writing would be: - Our SQL mapping/projection layer 'Vent' - Our Go-based 'precompiled contracts' called 'SNatives' - Our various RPC services (info, query, transact, names) - Our NameReg - Dump/restore For these items someone who is able/willing to play bit on command line, maybe read small amount of definitions from source, I think could produce better documentation for newcomers with relatively less orientation from us (though of course we can help), since they are more self-contained or already partially documented (sometimes in command-line help).

silasdavis (Mon, 03 Jun 2019 15:31:59 GMT):
I also think there are some areas where we could be lead on the best solutions for: - Overall structure of docs (explainers vs tutorials vs reference material) - Maintenance of docs Another thing I think we could/should do is use to bind any example code into our integration tests so that it will always compile and work correctly (i.e. fail our tests if examples embedded in docs don't work. This would be achievable with a small amount of templating in doc source and some scripting in CI but we could discuss this

silasdavis (Mon, 03 Jun 2019 15:32:33 GMT):
Oh we also have some example apps that are a little out of date (and along with the js library itself need to be move to Burrow repo): https://github.com/monax/bosmarmot/tree/develop/example

klenik (Tue, 04 Jun 2019 08:26:04 GMT):
@silasdavis if you have some PoC docs, I'd be happy to read it through as a Burrow newbie (plus hopefully it'd help us to improve the Burrow adapter in Caliper)

scott_boone (Tue, 04 Jun 2019 14:46:52 GMT):
Has joined the channel.

SunayZelawat (Thu, 06 Jun 2019 18:11:35 GMT):
Has joined the channel.

SunayZelawat (Thu, 06 Jun 2019 18:11:36 GMT):
Hello Everyone, I chair the Telecom SIG Inter-Carrier Subgroup, we are writing a whitepaper and would like to understand multi DLT interoperability

SunayZelawat (Thu, 06 Jun 2019 18:12:42 GMT):
Can someone help us with the concept and it will be great if it is possible to get contribution to the Whitepaper on interoperability

phoniks (Fri, 07 Jun 2019 20:04:13 GMT):
Has joined the channel.

itsencrypted (Sat, 08 Jun 2019 21:59:25 GMT):
Has joined the channel.

rjortman (Thu, 13 Jun 2019 18:56:59 GMT):
Has joined the channel.

rjortman (Thu, 13 Jun 2019 19:00:00 GMT):
Hello, just a quick question. I'm just looking to confirm that Burrow's implementation of the Ethereum EVM and smart contracts means that the smart contracts are actually on chain as in Ethereum ? So that any new node that joins the network and synchronizes to the chain will have all available contracts present on chain to be executed? It's been hard to find verbiage anywhere that clarifies this point that the contracts are on chain and therefore protected in the distributed ledger. Thank you.

seanyoung (Fri, 14 Jun 2019 10:12:15 GMT):
@rjortman they are stored on chain, absolutely. When the code is deployed, it is part of the transaction so it is part of the burrow block.

rjortman (Fri, 14 Jun 2019 14:14:04 GMT):
@seanyoung thank you for the reply! Much appreciated. I had surmised this was the case from what I was able to read, but definitely wanted a consult on my supposition! Thank you!

JoeriExelmans (Tue, 18 Jun 2019 07:10:39 GMT):
If one program, written in Go, is the only program that wants to talk to a burrow node, is it advisable to run a burrow node directly from that program (importing packages from the burrow project) or would it be better to just run burrow as a separate process and talk to it over GRPC?

JoeriExelmans (Tue, 18 Jun 2019 07:10:39 GMT):
If one program, written in Go, is the only program that wants to talk to a burrow validator, is it advisable to run a burrow node directly from that program (importing packages from the burrow project) or would it be better to just run burrow as a separate process and talk to it over GRPC?

JoeriExelmans (Tue, 18 Jun 2019 07:10:39 GMT):
If a program, written in Go, is the only program that wants to talk to a burrow validator, is it advisable to run a burrow node directly from that program (importing packages from the burrow project) or would it be better to just run burrow as a separate process and talk to it over GRPC?

bamboo (Tue, 18 Jun 2019 09:16:45 GMT):
Has joined the channel.

bamboo (Tue, 18 Jun 2019 10:44:39 GMT):
hi, i'm newbie in hyperledger burrow, i had stuck when get balance account, anyone can help me? thanks

compleatang (Wed, 19 Jun 2019 00:07:00 GMT):
@JoeriExelmans in general I'd personally suggest running it out of process and talking to it over GRPC because there are a lot of configuration variables that go into starting the kernel and a lot of assumptions the runtime makes about where it is and how it's storing files that may or may not be suited to it's use as an overall library. pieces of burrow are built to be a library but the core runtime isn't.

compleatang (Wed, 19 Jun 2019 00:07:22 GMT):
@bamboo can you explain a bit more about what you need help with,what you've done, etc...?

bamboo (Wed, 19 Jun 2019 01:43:00 GMT):
@compleatang thank for reply. I followed instruction https://github.com/hyperledger/burrow/blob/develop/docs/quickstart/send-transactions.md , start one node and send a transaction, after that, I want to check the balance of an account after transaction succeed.

JoeriExelmans (Wed, 19 Jun 2019 07:13:46 GMT):
@compleatang Thanks for the info

silasdavis (Wed, 19 Jun 2019 08:14:32 GMT):
I'd agree with @compleatang suggest, but also far be it for us to say not to embed - that's exactly the decision we take with Tendermint. The fairly recent kernel refactor does make it quite usable as a library - and we have deliberately kept it open code-wise for extension. I would recommend only using us this way if you have a good reason to - e.g. you need low level access to execution, P2P, want to implement your own transaction types. But I'd much rather support this usage modality than have you fork us! The downsides to be aware of would be: - Initialisation and supervision of the Kernel and node are not totally straight forward ``` ```

silasdavis (Wed, 19 Jun 2019 08:14:32 GMT):
I'd agree with @compleatang suggest, but also far be it for us to say not to embed - that's exactly the decision we take with Tendermint. The fairly recent kernel refactor does make it quite usable as a library - and we have deliberately kept it open code-wise for extension. I would recommend only using us this way if you have a good reason to - e.g. you need low level access to execution, P2P, want to implement your own transaction types. But I'd much rather support this usage modality than have you fork us! The downsides to be aware of would be: - Initialisation and supervision of the Kernel and node are not totally straight forward ```

silasdavis (Wed, 19 Jun 2019 08:14:32 GMT):
I'd agree with @compleatang suggest, but also far be it for us to say not to embed - that's exactly the decision we take with Tendermint. The fairly recent kernel refactor does make it quite usable as a library - and we have deliberately kept it open code-wise for extension. I would recommend only using us this way if you have a good reason to - e.g. you need low level access to execution, P2P, want to implement your own transaction types. But I'd much rather support this usage modality than have you fork us! The downsides to be aware of would be: - Initialisation and supervision of the Kernel and node are not totally straight forward - We make no guarantees about the exported API, it is exposed to support extension, but pre 1.0.0 (at least) it is subject to change - we will prioritise improving the code over compatibility, this is not the case with the GRPC interfaces where we value stability more

silasdavis (Wed, 19 Jun 2019 08:14:32 GMT):
I'd agree with what @compleatang suggest, but also far be it for us to say not to embed - that's exactly the decision we take with Tendermint. The fairly recent kernel refactor does make it quite usable as a library - and we have deliberately kept it open code-wise for extension. I would recommend only using us this way if you have a good reason to - e.g. you need low level access to execution, P2P, want to implement your own transaction types. But I'd much rather support this usage modality than have you fork us! The downsides to be aware of would be: - Initialisation and supervision of the Kernel and node are not totally straight forward - We make no guarantees about the exported API, it is exposed to support extension, but pre 1.0.0 (at least) it is subject to change - we will prioritise improving the code over compatibility, this is not the case with the GRPC interfaces where we value stability more

silasdavis (Wed, 19 Jun 2019 08:14:32 GMT):
I'd agree with what @compleatang suggests, but also far be it for us to say not to embed - that's exactly the decision we take with Tendermint. The fairly recent kernel refactor does make it quite usable as a library - and we have deliberately kept it open code-wise for extension. I would recommend only using us this way if you have a good reason to - e.g. you need low level access to execution, P2P, want to implement your own transaction types. But I'd much rather support this usage modality than have you fork us! The downsides to be aware of would be: - Initialisation and supervision of the Kernel and node are not totally straight forward - We make no guarantees about the exported API, it is exposed to support extension, but pre 1.0.0 (at least) it is subject to change - we will prioritise improving the code over compatibility, this is not the case with the GRPC interfaces where we value stability more

silasdavis (Wed, 19 Jun 2019 08:16:51 GMT):
- You lose some safety afforded by code and process isolation

silasdavis (Wed, 19 Jun 2019 08:18:42 GMT):
@bamboo the simplest way to check on the command line is over the info RPC: ``` curl 'localhost:26658/human?address=9EC0DAE6168A7DEDAC2A069A9599DEDB1723796B' ```

silasdavis (Wed, 19 Jun 2019 08:18:42 GMT):
@bamboo the simplest way to check on the command line is over the info RPC: ``` curl 'localhost:26658/account?address=9EC0DAE6168A7DEDAC2A069A9599DEDB1723796B' ```

silasdavis (Wed, 19 Jun 2019 08:19:06 GMT):
replace address with the address of the account you are interested in

silasdavis (Wed, 19 Jun 2019 08:19:42 GMT):
you can also list all accounts with `curl 'localhost:26658/accounts` and get a more human-readable account structure with `curl 'localhost:26658/account_human?address=9EC0DAE6168A7DEDAC2A069A9599DEDB1723796B'`

silasdavis (Wed, 19 Jun 2019 08:23:28 GMT):
These REST endpoints can be used programatically but you may prefer to use our GRPC `rpcquery` endpoints which provide strong typing and better performance

silasdavis (Wed, 19 Jun 2019 08:23:28 GMT):
If you find any of this useful and lacking from documentation it is _very_ much appreciated if you could add it to documentation and make a pull requests

silasdavis (Wed, 19 Jun 2019 08:23:28 GMT):
I am happy to provide office hours on chat (and video if needed) on a Friday (not this one - I'm on holiday) to anyone who is willing to capture documentation from their experience of using Burrow

silasdavis (Wed, 19 Jun 2019 08:23:46 GMT):
We have many useful but poorly documented features

silasdavis (Wed, 19 Jun 2019 08:28:24 GMT):
Another thing @JoeriExelmans - you probably are already - but I would definitely import us for GRPC client code rather than, for example, rebuilding the protobuf yourself. There is useful clientside functionality in various Burrow packages, and you only pay for what you import.

silasdavis (Wed, 19 Jun 2019 08:29:46 GMT):
worth a lok in particular is `execution/exec` if you are interested in execution events - we have some primitives there for processing txs, and blocks, from our StreamEvents, which vent uses heavily for instancew

JoeriExelmans (Wed, 19 Jun 2019 08:48:38 GMT):
@silasdavis Thanks, for now I'm just communicating over GRPC. I'm not doing complicated things with Burrow. I'm indeed importing a bunch of packages from the burrow repo because I need many types that are declared in packages like txs, payload and crypto, seemed easier than building the protobuf myself. At this time 99% of what I use burrow for, are rpctransact's `BroadcastTxSync` and `CallTxSim`, although I should learn more about the permissions stuff. Documentation is indeed very limited but perhaps even a short abstract description (1 page, without demo code) of new features like governance and permissions would be really helpful.

JoeriExelmans (Wed, 19 Jun 2019 08:48:38 GMT):
@silasdavis Thanks, for now I'm just communicating over GRPC. I'm not doing complicated things with Burrow. I'm indeed importing a bunch of packages from the burrow repo because I need many types that are declared in packages like txs, payload and crypto, seemed easier than building the protobuf myself. At this time 99% of what I use burrow for, are rpctransact's `BroadcastTxSync` and `CallTxSim`, although I should learn more about the permissions stuff. Documentation is indeed very limited but perhaps even a short abstract description (1 page, without demo code) of new features like governance and permissions and voting would be really helpful.

bamboo (Thu, 20 Jun 2019 03:03:24 GMT):
i create new spec for my network, i see many account's types, but i don't know what mean is it? where do i can read the docs for account's type? thanks so much

compleatang (Thu, 20 Jun 2019 11:43:10 GMT):
Hi @bamboo. best place to start is here -> https://github.com/hyperledger/burrow/blob/develop/docs/permissions.md with the burrow permission model. Then you can review the genesis docs -> https://github.com/hyperledger/burrow/blob/develop/docs/genesis.md and finally if you need to have more questions answered the "actual" docs are here -> https://godoc.org/github.com/hyperledger/burrow/permission#AccountPermissions On the markdown files we're always looking for help documenting things so if anything is unclear please feel free to send over a merge request! :)

compleatang (Thu, 20 Jun 2019 11:43:10 GMT):
Hi @bamboo . best place to start is here -> https://github.com/hyperledger/burrow/blob/develop/docs/permissions.md with the burrow permission model. Then you can review the genesis docs -> https://github.com/hyperledger/burrow/blob/develop/docs/genesis.md and finally if you need to have more questions answered the "actual" docs are here -> https://godoc.org/github.com/hyperledger/burrow/permission#AccountPermissions On the markdown files we're always looking for help documenting things so if anything is unclear please feel free to send over a merge request! :)

mossmanpete (Sat, 29 Jun 2019 00:04:28 GMT):
Has left the channel.

bamboo (Mon, 01 Jul 2019 09:49:14 GMT):
how much is block size in burrow? I did not find any documents mentioning this issue. thanks

rjortman (Mon, 01 Jul 2019 19:58:46 GMT):
Hi all, when I run "_make build_" on the install instructions the build fails with "_Makefile:42: recipe for target 'check' failed make: *** [check] Error 2_" after several lines of "diff" results (the last one being from "_postgrest_adapter.go_" ... when i downloaded using "go get ..." it did result in the following print statement at the end of the download: "package github.com/hyperledger/burrow: no buildable Go source files in /home/rortman1/go/src/github.com/hyperledger/burrow" not sure if that's a problem ? Thank you to any who are able to help! (as an aside, i do believe my GOPATH is set correctly using source ./~bashrc and some exports, but maybe that's not correct at the end of the day?)

seanyoung (Tue, 02 Jul 2019 11:46:55 GMT):
@rjortman that is probably due to a mismatched go version. go 1.12 should do the trick

rjortman (Tue, 02 Jul 2019 15:51:44 GMT):
@seanyoung ok, thank you for the idea. I will try that. I did confirm that i am on Go 1.11 like the instructions said, but I can try 1.12.

seanyoung (Tue, 02 Jul 2019 15:52:33 GMT):
what version are you trying to build?

rjortman (Tue, 02 Jul 2019 15:53:05 GMT):
whatever version gets downloaded when I run "go get github.com/hyperledger/burrow"

rjortman (Tue, 02 Jul 2019 15:53:29 GMT):
literally just stepping through the "install" instructions from here: https://github.com/hyperledger/burrow/blob/develop/docs/INSTALL.md

seanyoung (Tue, 02 Jul 2019 15:55:52 GMT):
ok, that should default to the develop branch

seanyoung (Tue, 02 Jul 2019 15:59:26 GMT):
I'm not sure if that still works with go 1.11. The docs should probably say go 1.12. Let me check this

seanyoung (Tue, 02 Jul 2019 15:59:26 GMT):
go 1.12 is what we use anyway

rjortman (Tue, 02 Jul 2019 16:01:44 GMT):
ok, thank you very much. i will try this. Seems unlikely that i'd be the only person running in to this if it doesn't work on 1.11 doesn't it? since the instructions have said 1.11 up to this point and no one else has said anything ?

seanyoung (Tue, 02 Jul 2019 16:13:25 GMT):
I agree. I just tried go1.11.11 and it works fine. Which exact version are you using?

rjortman (Tue, 02 Jul 2019 16:18:10 GMT):
uhhh, apparently i must have multiple versions installed, because when I run "go version" I get "go version go1.6.2 linux/amd64"

rjortman (Tue, 02 Jul 2019 16:18:27 GMT):
is 1.6.2 gonna be a problem ?

rjortman (Tue, 02 Jul 2019 16:18:49 GMT):
when i tried to install 1.11 yest the package installer said i already had that

seanyoung (Tue, 02 Jul 2019 16:23:52 GMT):
burrow uses go modules which is a go 1.11 feature. Also the the output gofmt has changed a few times which is the problem you're running into.

seanyoung (Tue, 02 Jul 2019 16:24:09 GMT):
I'm guessing go 1.6 is still somewhere in your path

rjortman (Tue, 02 Jul 2019 16:24:41 GMT):
ok, that's good to know. i will check into that then. sounds like that's the issue

rjortman (Tue, 02 Jul 2019 16:24:57 GMT):
sounds like the instructions still maybe need an update then though

rjortman (Tue, 02 Jul 2019 16:25:00 GMT):
"version 1.11 or above and have"

rjortman (Tue, 02 Jul 2019 16:25:11 GMT):
the "or above" is not really correct then, right ?

seanyoung (Tue, 02 Jul 2019 16:35:17 GMT):
go 1.6 is before go 1.11

rjortman (Tue, 02 Jul 2019 16:36:11 GMT):
:astonished:

rjortman (Tue, 02 Jul 2019 16:36:15 GMT):
i'm an idiot

rjortman (Tue, 02 Jul 2019 16:36:46 GMT):
all makes sense now, thanks

seanyoung (Tue, 02 Jul 2019 16:37:19 GMT):
mystery solved :)

rjortman (Tue, 02 Jul 2019 16:38:36 GMT):
:clap:

LHK7 (Fri, 05 Jul 2019 20:40:37 GMT):
Has joined the channel.

LHK7 (Fri, 05 Jul 2019 20:40:38 GMT):
Hi team, I am working on deploy multiple smart contracts by using burrow. How can I achieve that by using my self-defined command line. I try to use a for loop to run each file, but it does not work. Could anyone help me about this. Thank you so much

epryb (Mon, 08 Jul 2019 03:36:44 GMT):
Has joined the channel.

lebdron (Mon, 08 Jul 2019 06:41:10 GMT):
Has joined the channel.

lebdron (Mon, 08 Jul 2019 06:41:11 GMT):
Hi! Is it possible to extend the role-permission model for an existing network? It seems that because the sets of permissions are set in genesis block, it will not be possible to add new permissions to existing users.

seanyoung (Mon, 08 Jul 2019 09:15:53 GMT):
@LHK7 this is what the burrow deploy command is for. You can specify what contracts you want deployed in a yaml file and deploy all of them in one command line `burrow deploy -a $account deploy.yaml`

seanyoung (Mon, 08 Jul 2019 09:17:50 GMT):
@lebdron permissions can be changed via `burrow deploy`. You'll need write a burrow deploy script with some jobs to do this. Here is an example https://github.com/hyperledger/burrow/blob/develop/tests/jobs_fixtures/app03-basic_and_advanced_permission_txs_and_queries/deploy.yaml

lebdron (Mon, 08 Jul 2019 09:26:47 GMT):
I am not sure if that example covers that case. What if a new permission flag is added, for example there is `Call` flag now, and `CallCustom` is added sometime in the future?

compleatang (Mon, 08 Jul 2019 10:05:36 GMT):
that would be a more complex migration needed. in general you'd need to add the permission, scope it out, recompile all the clients, dump the old state, restore the old state as the genesis block of a new blockchain, then modify the permissions in the same way. (this is, if you needed to add a custom permission and keep an old blockchain state).

compleatang (Mon, 08 Jul 2019 10:06:02 GMT):
but in general can you explain a bit more about the use case you are needing to solve?

silasdavis (Mon, 08 Jul 2019 10:22:32 GMT):
@lebdron as Casey alludes to there is no configuration-based way to introduced a permissions. These are hard-coded constants. We do however have space in the bitfield of the current implementation for another 47. We do occasionally add a permission flag such as `Proposal` when it is needed. This requires a code change, most of which is likely to be concerned with for what purpose and where we look at the new permission. Adding a new permission does not necessarily break the state of an old chain, so you could potentially run a new version of Burrow with a new permission without doing a dump/restore - though then you would need to manually grant this permission to accounts or change the global default permissions. What did you have in mind for `CallCustom` or the like?

lebdron (Mon, 08 Jul 2019 10:58:57 GMT):
>though then you would need to manually grant this permission to accounts or change the global default permissions. @compleatang @silasdavis I would like to get more details on this, because it seems to mean that some account has "superuser" ability in some way to grant the permission which was not mention in the genesis block. To be honest, I am asking the question because we faced the issue I have described in Hyperledger Iroha while adding new commands which require their own permission, which were not present before. I have checked your documentation, seen the similar role based access control model and thought that you might have already solved the "extending permission types" problem.

lebdron (Mon, 08 Jul 2019 10:58:57 GMT):
>though then you would need to manually grant this permission to accounts or change the global default permissions. @compleatang @silasdavis I would like to get more details on this, because it seems to mean that some account has "superuser" ability in some way to grant the permission which was not mention in the genesis block. To be honest, I am asking the question because we faced the issue I have described in Hyperledger Iroha while adding new commands which require their own permission, which were not present before. I have checked your documentation, seen the similar role based access control model and thought that you might have already solved the "extending permission types" problem.

lebdron (Mon, 08 Jul 2019 10:58:57 GMT):
>though then you would need to manually grant this permission to accounts or change the global default permissions. I would like to get more details on this, because it seems to mean that some account has "superuser" ability in some way to grant the permission which was not mention in the genesis block. @compleatang @silasdavis To be honest, I am asking the question because we faced the issue I have described in Hyperledger Iroha while adding new commands which require their own permission, which were not present before. I have checked your documentation, seen the similar role based access control model and thought that you might have already solved the "extending permission types" problem.

lebdron (Mon, 08 Jul 2019 11:03:09 GMT):
Now our "CreateRole" and "AppendRole" commands check that the role you are trying to create and you are trying to give someone has a subset of users' permissions who is trying to issue such command. The idea was to introduce a new permission, which will allow to "override" this restriction, therefore allowing to create roles with new permissions in runtime without recreating the block store with a new genesis block.

lebdron (Mon, 08 Jul 2019 12:38:21 GMT):
Replied in the main chat, looking forward to your reply as well :smiley:

rjones (Mon, 08 Jul 2019 17:58:33 GMT):
Has left the channel.

compleatang (Mon, 08 Jul 2019 21:10:03 GMT):
Users with `root` permissions on the chain can change the global default permissions or the permissions of any account on the chain. They effectively have sudo on the chain. There are lower levels of permissions for more discrete permissions adjustments -- albeit currently we do not have an idea of account based "namespacing" where you could set up an admin for "our users".... That would be interesting for consortium chains but we don't currently have that AFAIK.

compleatang (Mon, 08 Jul 2019 21:11:12 GMT):
we also have, via our proposal mechanism, an ability to change default permissions and/or individual account permissions via more collaborative means (e.g., agreement by multiple parties to do X).

compleatang (Mon, 08 Jul 2019 21:11:12 GMT):
we also have, via our proposal mechanism, an ability to change default permissions and/or individual account permissions via more collaborative means (e.g., agreement by multiple parties to do X ).

compleatang (Mon, 08 Jul 2019 21:11:12 GMT):
burrow also has, via the proposal mechanism Silas mentions, an ability to change default permissions and/or individual account permissions via more collaborative means (e.g., agreement by multiple parties to do X ). this allows, effectively, for say a 5 of 5 vote to change something fundamental about the chain (like it's default permissions)

IvanTyulyandin (Tue, 09 Jul 2019 10:49:28 GMT):
Hi! Which Solidity version is supported by Burrow EVM? I mean, which compiler version should I use to get EVM bytecode from Solidity sources? Thanks in advance.

seanyoung (Tue, 09 Jul 2019 11:18:20 GMT):
@IvanTyulyandin any version should be supported. I do recommend you use the latest version though (0.5)

cgorenflo (Tue, 09 Jul 2019 19:16:07 GMT):
Has joined the channel.

g3d (Tue, 16 Jul 2019 11:44:59 GMT):
Hi folks, can anyone suggest which version is suitable for upgrade from 0.25.1?

IvanTyulyandin (Fri, 19 Jul 2019 09:35:35 GMT):
In Ethereum there are two types of contracts — for users and for contracts. I try to run smart contracts on Burrow VM. I use an analog of the FakeAppState struct (https://github.com/IvanTyulyandin/HL_Burrow_EVM_caller/blob/master/iroha_app_state.go). After smart contract execution I see only users accounts details, but without contract account (https://github.com/IvanTyulyandin/HL_Burrow_EVM_caller/blob/master/main.go#L141). Is it possible to get an address of the contract account?

seanyoung (Fri, 19 Jul 2019 10:47:15 GMT):
@IvanTyulyandin in burrow there are just accounts, and contracts are just accounts with code attached to them. Please correct me if I didn't understand the code correctly

seanyoung (Fri, 19 Jul 2019 10:47:15 GMT):
@IvanTyulyandin in burrow there are just accounts, and contracts are just accounts with code attached to them. Please correct me if I didn't understand the question correctly

compleatang (Fri, 19 Jul 2019 13:03:11 GMT):
Its the same in Ehtereum. The difference between "users" and "contracts" is simply whether the account has code attached to it.

Consultant1bcg (Sat, 20 Jul 2019 04:44:19 GMT):
Has joined the channel.

IvanTyulyandin (Sat, 20 Jul 2019 15:49:38 GMT):
Thank for replies @compleatang and @seanyoung . I tried to print EVM code for each account but seems that there is no attached code. ` evmState.CreateAccount(toEVMaddress(C.GoString(caller))) evmState.Sync() fmt.Println(appState.accounts) fmt.Println(appState.storage) //VmCall(code, code, caller, callee) output, _ := VmCall(code, code, caller, callee) output, _ = VmCall(output, set, caller, callee) for _, acc := range appState.accounts { fmt.Println(acc.EVMCode) } fmt.Println(appState.accounts) fmt.Println(appState.storage)` My output is: `GetAccount: 1B1330A48B5CD260D6A46B578C3F1698708BCB36 UpdateAccount: Account{Address: 1B1330A48B5CD260D6A46B578C3F1698708BCB36; Sequence: 0; PublicKey: Balance: 0; CodeLength: 0; Permissions: {Base: 0; Set: 0 [] []}} map[1B1330A48B5CD260D6A46B578C3F1698708BCB36:Account{Address: 1B1330A48B5CD260D6A46B578C3F1698708BCB36; Sequence: 0; PublicKey: Balance: 0; CodeLength: 0; Permissions: {Base: 0; Set: 0 [] []}}] map[] UpdateAccount: Account{Address: 1B1330A48B5CD260D6A46B578C3F1698708BCB36; Sequence: 0; PublicKey: Balance: 0; CodeLength: 0; Permissions: {Base: 0; Set: 0 [] []}} UpdateAccount: Account{Address: 1B1330A48B5CD260D6A46B578C3F1698708BCB36; Sequence: 0; PublicKey: Balance: 0; CodeLength: 0; Permissions: {Base: 0; Set: 0 [] []}} SetStorage: 1B1330A48B5CD260D6A46B578C3F1698708BCB36 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000001 map[1B1330A48B5CD260D6A46B578C3F1698708BCB36:Account{Address: 1B1330A48B5CD260D6A46B578C3F1698708BCB36; Sequence: 0; PublicKey: Balance: 0; CodeLength: 0; Permissions: {Base: 0; Set: 0 [] []}}] map[1B1330A48B5CD260D6A46B578C3F1698708BCB36 :[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1]] ` It looks like there is only one account, but I expected two (created in code and created during EVM execution)

IvanTyulyandin (Sat, 20 Jul 2019 15:49:38 GMT):
Thank for replies @compleatang and @seanyoung . I tried to print EVM code for each account but seems that there is no attached code. ` evmState.CreateAccount(toEVMaddress(C.GoString(caller))) evmState.Sync() fmt.Println(appState.accounts) fmt.Println(appState.storage) output, _ := VmCall(code, code, caller, callee) output, _ = VmCall(output, set, caller, callee) for _, acc := range appState.accounts { fmt.Println(acc.EVMCode) } fmt.Println(appState.accounts) fmt.Println(appState.storage) ` My output is: `GetAccount: 1B1330A48B5CD260D6A46B578C3F1698708BCB36 UpdateAccount: Account{Address: 1B1330A48B5CD260D6A46B578C3F1698708BCB36; Sequence: 0; PublicKey: Balance: 0; CodeLength: 0; Permissions: {Base: 0; Set: 0 [] []}} map[1B1330A48B5CD260D6A46B578C3F1698708BCB36:Account{Address: 1B1330A48B5CD260D6A46B578C3F1698708BCB36; Sequence: 0; PublicKey: Balance: 0; CodeLength: 0; Permissions: {Base: 0; Set: 0 [] []}}] map[] UpdateAccount: Account{Address: 1B1330A48B5CD260D6A46B578C3F1698708BCB36; Sequence: 0; PublicKey: Balance: 0; CodeLength: 0; Permissions: {Base: 0; Set: 0 [] []}} UpdateAccount: Account{Address: 1B1330A48B5CD260D6A46B578C3F1698708BCB36; Sequence: 0; PublicKey: Balance: 0; CodeLength: 0; Permissions: {Base: 0; Set: 0 [] []}} SetStorage: 1B1330A48B5CD260D6A46B578C3F1698708BCB36 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000001 map[1B1330A48B5CD260D6A46B578C3F1698708BCB36:Account{Address: 1B1330A48B5CD260D6A46B578C3F1698708BCB36; Sequence: 0; PublicKey: Balance: 0; CodeLength: 0; Permissions: {Base: 0; Set: 0 [] []}}] map[1B1330A48B5CD260D6A46B578C3F1698708BCB36 :[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1]] It looks like there is only one account, but I expected two (created in code and created during EVM execution)

IvanTyulyandin (Sat, 20 Jul 2019 15:49:38 GMT):
Thank for replies @compleatang and @seanyoung . I tried to print EVM code for each account but seems that there is no attached code. ``` evmState.CreateAccount(toEVMaddress(C.GoString(caller))) evmState.Sync() fmt.Println(appState.accounts) fmt.Println(appState.storage) output, _ := VmCall(code, code, caller, callee) output, _ = VmCall(output, set, caller, callee) for _, acc := range appState.accounts { fmt.Println(acc.EVMCode) } fmt.Println(appState.accounts) fmt.Println(appState.storage) ``` My output is: `GetAccount: 1B1330A48B5CD260D6A46B578C3F1698708BCB36 UpdateAccount: Account{Address: 1B1330A48B5CD260D6A46B578C3F1698708BCB36; Sequence: 0; PublicKey: Balance: 0; CodeLength: 0; Permissions: {Base: 0; Set: 0 [] []}} map[1B1330A48B5CD260D6A46B578C3F1698708BCB36:Account{Address: 1B1330A48B5CD260D6A46B578C3F1698708BCB36; Sequence: 0; PublicKey: Balance: 0; CodeLength: 0; Permissions: {Base: 0; Set: 0 [] []}}] map[] UpdateAccount: Account{Address: 1B1330A48B5CD260D6A46B578C3F1698708BCB36; Sequence: 0; PublicKey: Balance: 0; CodeLength: 0; Permissions: {Base: 0; Set: 0 [] []}} UpdateAccount: Account{Address: 1B1330A48B5CD260D6A46B578C3F1698708BCB36; Sequence: 0; PublicKey: Balance: 0; CodeLength: 0; Permissions: {Base: 0; Set: 0 [] []}} SetStorage: 1B1330A48B5CD260D6A46B578C3F1698708BCB36 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000001 map[1B1330A48B5CD260D6A46B578C3F1698708BCB36:Account{Address: 1B1330A48B5CD260D6A46B578C3F1698708BCB36; Sequence: 0; PublicKey: Balance: 0; CodeLength: 0; Permissions: {Base: 0; Set: 0 [] []}}] map[1B1330A48B5CD260D6A46B578C3F1698708BCB36 :[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1]] It looks like there is only one account, but I expected two (created in code and created during EVM execution)

IvanTyulyandin (Sat, 20 Jul 2019 15:49:38 GMT):
Thank for replies @compleatang and @seanyoung . I tried to print EVM code for each account but seems that there is no attached code. ``` evmState.CreateAccount(toEVMaddress(C.GoString(caller))) evmState.Sync() fmt.Println(appState.accounts) fmt.Println(appState.storage) output, _ := VmCall(code, code, caller, callee) output, _ = VmCall(output, set, caller, callee) for _, acc := range appState.accounts { fmt.Println(acc.EVMCode) } fmt.Println(appState.accounts) fmt.Println(appState.storage) ``` My output is: ```GetAccount: 1B1330A48B5CD260D6A46B578C3F1698708BCB36 UpdateAccount: Account{Address: 1B1330A48B5CD260D6A46B578C3F1698708BCB36; Sequence: 0; PublicKey: Balance: 0; CodeLength: 0; Permissions: {Base: 0; Set: 0 [] []}} map[1B1330A48B5CD260D6A46B578C3F1698708BCB36:Account{Address: 1B1330A48B5CD260D6A46B578C3F1698708BCB36; Sequence: 0; PublicKey: Balance: 0; CodeLength: 0; Permissions: {Base: 0; Set: 0 [] []}}] map[] UpdateAccount: Account{Address: 1B1330A48B5CD260D6A46B578C3F1698708BCB36; Sequence: 0; PublicKey: Balance: 0; CodeLength: 0; Permissions: {Base: 0; Set: 0 [] []}} UpdateAccount: Account{Address: 1B1330A48B5CD260D6A46B578C3F1698708BCB36; Sequence: 0; PublicKey: Balance: 0; CodeLength: 0; Permissions: {Base: 0; Set: 0 [] []}} SetStorage: 1B1330A48B5CD260D6A46B578C3F1698708BCB36 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000001 map[1B1330A48B5CD260D6A46B578C3F1698708BCB36:Account{Address: 1B1330A48B5CD260D6A46B578C3F1698708BCB36; Sequence: 0; PublicKey: Balance: 0; CodeLength: 0; Permissions: {Base: 0; Set: 0 [] []}}] map[1B1330A48B5CD260D6A46B578C3F1698708BCB36 :[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1]] ``` It looks like there is only one account, but I expected two (created in code and created during EVM execution)

IvanTyulyandin (Sat, 20 Jul 2019 15:49:38 GMT):
Thank for replies @compleatang and @seanyoung . I tried to print EVM code for each account but seems that there is no attached code. ``` evmState.CreateAccount(toEVMaddress(C.GoString(caller))) evmState.Sync() fmt.Println(appState.accounts) fmt.Println(appState.storage) output, _ := VmCall(code, code, caller, callee) output, _ = VmCall(output, set, caller, callee) for _, acc := range appState.accounts { fmt.Println(acc.EVMCode) } fmt.Println(appState.accounts) fmt.Println(appState.storage) ``` My output is: ```GetAccount: 1B1330A48B5CD260D6A46B578C3F1698708BCB36 UpdateAccount: Account{Address: 1B1330A48B5CD260D6A46B578C3F1698708BCB36; Sequence: 0; PublicKey: Balance: 0; CodeLength: 0; Permissions: {Base: 0; Set: 0 [] []}} map[1B1330A48B5CD260D6A46B578C3F1698708BCB36:Account{Address: 1B1330A48B5CD260D6A46B578C3F1698708BCB36; Sequence: 0; PublicKey: Balance: 0; CodeLength: 0; Permissions: {Base: 0; Set: 0 [] []}}] map[] UpdateAccount: Account{Address: 1B1330A48B5CD260D6A46B578C3F1698708BCB36; Sequence: 0; PublicKey: Balance: 0; CodeLength: 0; Permissions: {Base: 0; Set: 0 [] []}} UpdateAccount: Account{Address: 1B1330A48B5CD260D6A46B578C3F1698708BCB36; Sequence: 0; PublicKey: Balance: 0; CodeLength: 0; Permissions: {Base: 0; Set: 0 [] []}} SetStorage: 1B1330A48B5CD260D6A46B578C3F1698708BCB36 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000001 map[1B1330A48B5CD260D6A46B578C3F1698708BCB36:Account{Address: 1B1330A48B5CD260D6A46B578C3F1698708BCB36; Sequence: 0; PublicKey: Balance: 0; CodeLength: 0; Permissions: {Base: 0; Set: 0 [] []}}] map[1B1330A48B5CD260D6A46B578C3F1698708BCB36 :[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1]] ``` It looks like there is only one account, but I expected two (first is created in code and the second is created during EVM execution)

IvanTyulyandin (Sat, 20 Jul 2019 15:49:38 GMT):
Thank for replies @compleatang and @seanyoung . I tried to print EVM code for each account but seems that there is no attached code. ``` evmState.CreateAccount(toEVMaddress(C.GoString(caller))) evmState.Sync() fmt.Println(appState.accounts) fmt.Println(appState.storage) output, _ := VmCall(code, code, caller, callee) output, _ = VmCall(output, set, caller, callee) for _, acc := range appState.accounts { fmt.Println(acc.EVMCode) } fmt.Println(appState.accounts) fmt.Println(appState.storage) ``` My output is: ```GetAccount: 1B1330A48B5CD260D6A46B578C3F1698708BCB36 UpdateAccount: Account{Address: 1B1330A48B5CD260D6A46B578C3F1698708BCB36; Sequence: 0; PublicKey: Balance: 0; CodeLength: 0; Permissions: {Base: 0; Set: 0 [] []}} map[1B1330A48B5CD260D6A46B578C3F1698708BCB36:Account{Address: 1B1330A48B5CD260D6A46B578C3F1698708BCB36; Sequence: 0; PublicKey: Balance: 0; CodeLength: 0; Permissions: {Base: 0; Set: 0 [] []}}] map[] UpdateAccount: Account{Address: 1B1330A48B5CD260D6A46B578C3F1698708BCB36; Sequence: 0; PublicKey: Balance: 0; CodeLength: 0; Permissions: {Base: 0; Set: 0 [] []}} UpdateAccount: Account{Address: 1B1330A48B5CD260D6A46B578C3F1698708BCB36; Sequence: 0; PublicKey: Balance: 0; CodeLength: 0; Permissions: {Base: 0; Set: 0 [] []}} SetStorage: 1B1330A48B5CD260D6A46B578C3F1698708BCB36 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000001 map[1B1330A48B5CD260D6A46B578C3F1698708BCB36:Account{Address: 1B1330A48B5CD260D6A46B578C3F1698708BCB36; Sequence: 0; PublicKey: Balance: 0; CodeLength: 0; Permissions: {Base: 0; Set: 0 [] []}}] map[1B1330A48B5CD260D6A46B578C3F1698708BCB36 :[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1]] ``` It looks like there is only one account, but I expected two (the first is created in code and the second is created during EVM execution)

seanyoung (Mon, 22 Jul 2019 08:41:57 GMT):
@IvanTyulyandin I just had a look in your repo. Your implementation of Call is incorrect. During deployment, the return value of the call is the code which should be assigned to the acc.EVMCode (or acc.Code in earlier versions).

seanyoung (Mon, 22 Jul 2019 08:42:47 GMT):
See https://github.com/hyperledger/burrow/blob/develop/execution/contexts/call_context.go#L228 how this is done in burrow

seanyoung (Mon, 22 Jul 2019 08:44:10 GMT):
So output defined on https://github.com/IvanTyulyandin/HL_Burrow_EVM_caller/blob/master/main.go#L70 should be assigned to the account if you're in a create call

IvanTyulyandin (Mon, 22 Jul 2019 10:03:44 GMT):
@seanyoung thanks a lot! :grinning:

luxus (Tue, 23 Jul 2019 04:24:44 GMT):
Has joined the channel.

RealDeanZhao (Tue, 23 Jul 2019 06:26:13 GMT):
Has joined the channel.

Macondo (Wed, 31 Jul 2019 03:52:36 GMT):
Has joined the channel.

Macondo (Wed, 31 Jul 2019 06:44:18 GMT):
Hi, I follow instuctions about Multiple validators, but no blocks are generated.

compleatang (Wed, 31 Jul 2019 14:16:42 GMT):
@Macondo what do the logs show you?

Macondo (Thu, 01 Aug 2019 01:09:23 GMT):
@compleatang there are only three lines of logs `Sourcing config from first of: Config file at 'burrow001.toml' then defaults Sourcing config from Config file at 'burrow001.toml' Using validator address: 20FE4058F0D087A0CDDD27B2A50E21EC3D9DA73C`

Macondo (Thu, 01 Aug 2019 01:09:23 GMT):
@compleatang there are only three lines of logs ```Sourcing config from first of: Config file at 'burrow001.toml' then defaults Sourcing config from Config file at 'burrow001.toml' Using validator address: 20FE4058F0D087A0CDDD27B2A50E21EC3D9DA73C ```

Macondo (Thu, 01 Aug 2019 01:15:05 GMT):
I use the latest version.

Macondo (Thu, 01 Aug 2019 03:41:32 GMT):
burrow000.log ``` {"caller":"blockchain.go:73","database_key":"426C6F636B636861696E5374617465","height":0,"log_channel":"Info","message":"Trying to load blockchain state from database","run_id":"b34c224a-b40d-11e9-8b31-48657441217f","scope":"LoadOrNewBlockchain","time":"2019-08-01T03:37:34.792612Z"} {"caller":"blockchain.go:94","height":0,"log_channel":"Info","message":"No existing blockchain state found in database, making new blockchain","run_id":"b34c224a-b40d-11e9-8b31-48657441217f","scope":"LoadOrNewBlockchain","time":"2019-08-01T03:37:34.792784Z"} {"caller":"kernel.go:135","height":0,"log_channel":"Info","message":"Creating new application state from genesis","run_id":"b34c224a-b40d-11e9-8b31-48657441217f","scope":"NewKernel()","time":"2019-08-01T03:37:34.793016Z"} {"caller":"kernel.go:146","height":0,"log_channel":"Info","message":"State loading successful","run_id":"b34c224a-b40d-11e9-8b31-48657441217f","scope":"NewKernel()","time":"2019-08-01T03:37:34.793508Z"} {"caller":"app.go:134","component":"ABCI_App","height":0,"log_channel":"Info","message":"Initial validator set matches","node_info":"Burrow_0.27.0_BurrowChain_B8849F-50CFEC_ValidatorID:6A442585DF320DB7D91BDB9A92F336D3274B8447","run_id":"b34c224a-b40d-11e9-8b31-48657441217f","scope":"abci.NewApp","time":"2019-08-01T03:37:34.902235Z"} {"announce":"startup","burrow_version":"0.27.0+commit.v0.27.0+dirty.c986f14c+2019-08-01","caller":"processes.go:195","genesis_app_hash":"","genesis_hash":"50CFEC82C0B6921788A2BDD8189C390449E707FF99E5DD830CB5F1DCA0F4EE4D","height":0,"launch_time":"2019-08-01T11:37:34.95037+08:00","log_channel":"Info","message":"Burrow is launching. We have marmot-off.","net_address":"a273ac8ac3df00c7e69bbb54cf90e9ee30830c58@127.0.0.1:26656","node_id":"a273ac8ac3df00c7e69bbb54cf90e9ee30830c58","run_id":"b34c224a-b40d-11e9-8b31-48657441217f","scope":"NewKernel()","tendermint_version":"0.31.5","time":"2019-08-01T03:37:34.950516Z","validator_address":"6A442585DF320DB7D91BDB9A92F336D3274B8447"} {"caller":"http_server.go:19","component":"RPC_Info","height":0,"listen_address":"127.0.0.1:26758","log_channel":"Info","message":"Starting RPC HTTP server","run_id":"b34c224a-b40d-11e9-8b31-48657441217f","scope":"NewKernel()","time":"2019-08-01T03:37:34.950691Z"} ```

compleatang (Thu, 01 Aug 2019 13:41:11 GMT):
you'll need to increase the log level in your config file. check that you've properly filled in the seeds.

d3cline (Thu, 01 Aug 2019 16:50:34 GMT):
Has joined the channel.

d3cline (Thu, 01 Aug 2019 16:50:36 GMT):
Howdy. I am John Spounias, recently sent a message to the mailing list. Thanks for everything again

d3cline (Thu, 01 Aug 2019 16:55:32 GMT):
I will have a ton of questions and other things not software related to do to get the blocktwine project to actual foundation status, I will pop in and out of chat likely a lot in the coming weeks.

Macondo (Fri, 02 Aug 2019 03:25:11 GMT):
@compleatang the detailed log https://www.dropbox.com/s/kocfmpq3cxm67x0/burrow000.log?dl=0

Macondo (Fri, 02 Aug 2019 07:07:45 GMT):
Another question: https://github.com/hyperledger/burrow/issues/1183

AlexanderZhovnuvaty (Fri, 02 Aug 2019 11:00:50 GMT):
Has joined the channel.

AlexanderZhovnuvaty (Fri, 02 Aug 2019 11:02:16 GMT):
Hello. need advise: as i heard hyperledger burrow has token adapter module to plug into sawtooth. Does anybody know anything about? Any links to read? Thanks in advance

silasdavis (Fri, 02 Aug 2019 11:22:01 GMT):
@AlexanderZhovnuvaty try #sawtooth-seth

silasdavis (Fri, 02 Aug 2019 11:22:44 GMT):
@Macondo as we've been discussing on issues, I guess the connectivity was probably down to the incorrect casing of node ids

Macondo (Sat, 03 Aug 2019 04:30:24 GMT):
I see it. Thanks!

luxus (Mon, 05 Aug 2019 03:29:17 GMT):
Hi all, When I get block in burrow, it returns: ```"txs": [ "CoIBChQCxUUpBvsCNDUQtaNcvs9QzmZcaxIkCAESIKGkfhDULzIHTGh53Ja/ofiQACukVr7ZxgqTxj00YsmgGkQIARJAYY2B32dE5xzGdpd0h60oCPCIfMnaHUpOV5TN7+P4XBVCMk7DeENRWpl9HmIA5pwurfbh0GcnKIMIrqRL/6zaAxJRChJ4ZWstbmV0d29yay0yQUFERjISO9SkoM0KGwoUAsVFKQb7AjQ1ELWjXL7PUM5mXGsQARi3ARIYChTWNx5jXBFUPNHLI74ANQFIEcHuGRAB" ]``` How i can decode that to json or structure?

Macondo (Mon, 05 Aug 2019 03:51:26 GMT):
Hi team, Please have a look at this issue https://github.com/hyperledger/burrow/issues/1181

Macondo (Mon, 05 Aug 2019 06:46:54 GMT):
When I excute ```curl -s 127.0.0.1:26758/accounts```, why is there an all zero address in the results?

amundson (Tue, 06 Aug 2019 15:51:14 GMT):
Has left the channel.

silasdavis (Wed, 07 Aug 2019 10:14:54 GMT):
@Macondo that is the global permissions address

silasdavis (Wed, 07 Aug 2019 10:15:03 GMT):
which by historical convention is the Zero address...

silasdavis (Wed, 07 Aug 2019 10:15:03 GMT):
which by historical convention is the zero address...

silasdavis (Wed, 07 Aug 2019 10:15:50 GMT):
It's permissions define the global fallback permissions for all accounts

silasdavis (Wed, 07 Aug 2019 10:16:48 GMT):
which is to say for a particular permission either it is set for an account or it is unset. If it is 'set' it may be true or false and that value takes precedent. If it is 'unset' then whatever the value for the global permissions account is is used.

silasdavis (Wed, 07 Aug 2019 10:18:25 GMT):
the global permission can itself be updated by transactions, provided the input account (transaction sender) has the `SetGlobal` permission

d3cline (Wed, 07 Aug 2019 21:10:04 GMT):
Been watching the 'burrow workshop' video on youtube and it is very helpful, not sure how i missed it until now

Macondo (Fri, 09 Aug 2019 09:59:18 GMT):
There isn't reward and punishment mechnisim in burrow, am I right?

compleatang (Wed, 14 Aug 2019 12:15:05 GMT):
@Macondo yes that is correct as of this moment.

Hyungsuk Kang (Thu, 15 Aug 2019 17:26:55 GMT):
Has joined the channel.

Hyungsuk Kang (Thu, 15 Aug 2019 17:26:56 GMT):
hello, I want to know if there is an architecture overview for hyperledger burrow

silasdavis (Sat, 17 Aug 2019 22:24:09 GMT):
There is not, this is bad, we are writing one. See this for reference: https://wiki.hyperledger.org/display/HYP/2019+Q3+Hyperledger+Burrow

silasdavis (Sat, 17 Aug 2019 22:24:44 GMT):
We've put this up in the last few days and are iterating on it: http://hyperledger.github.io/burrow/#/

silasdavis (Sat, 17 Aug 2019 22:25:12 GMT):
I'm also working on a blog post to try and do a better job of explaining ourselves

silasdavis (Sat, 17 Aug 2019 22:26:31 GMT):
@Hyungsuk Kang since you are asking, what would you like to see in an architecture overview?

KellyCooper (Sun, 18 Aug 2019 17:12:31 GMT):
@silasdavis Do you still need some editing and copyediting? I'm finishing up the Identity WP and am available for a few hours a week.

VijayMichalik (Mon, 19 Aug 2019 14:20:14 GMT):
Has joined the channel.

kwv 1 (Tue, 20 Aug 2019 18:05:49 GMT):
Has joined the channel.

silasdavis (Wed, 21 Aug 2019 14:04:06 GMT):
@KellyCooper I do - I am working on docs and trying to finish blog post this week, do you have time next week?

KellyCooper (Wed, 21 Aug 2019 15:21:46 GMT):
Yep.

d3cline (Tue, 27 Aug 2019 01:39:09 GMT):
Thanks for the update to the docs, totally rad

silasdavis (Tue, 27 Aug 2019 10:54:11 GMT):
@d3cline thanks means a lot

silasdavis (Tue, 27 Aug 2019 10:54:34 GMT):
@KellyCooper we are finalising our doc-dump tomorrow, are you free for a call perhaps with the team on Thursday?

silasdavis (Tue, 27 Aug 2019 10:55:07 GMT):
A fresh eye towards minimalism and coherency across our docs would be very helpful, and that that point we'll have a version for you to look at on our develop branch

KellyCooper (Tue, 27 Aug 2019 12:58:13 GMT):
@silasdavis available Thurs any time between 7:00-9:00 or 11:30-1:30 PST

Hyungsuk Kang (Tue, 27 Aug 2019 22:37:26 GMT):
so I am making a hands-on-tutorial session to build an ethereum smart contract and interact with hyperledger burrow

Hyungsuk Kang (Tue, 27 Aug 2019 22:37:46 GMT):
I want to know what network framework was used such as libp2p

Hyungsuk Kang (Tue, 27 Aug 2019 22:38:07 GMT):
or more info about permissioned EVM to describe the difference between EVM and the other

Hyungsuk Kang (Tue, 27 Aug 2019 22:38:19 GMT):
I mean PEVM(Permissioned EVM)

Hyungsuk Kang (Tue, 27 Aug 2019 22:38:54 GMT):
does PEVM implemented the modifier without checking sender's address in smart contract?

Hyungsuk Kang (Tue, 27 Aug 2019 22:42:35 GMT):
What is the difference between tendermint?

Hyungsuk Kang (Tue, 27 Aug 2019 22:42:35 GMT):
What is the difference between ethermint?

compleatang (Wed, 28 Aug 2019 11:48:30 GMT):
Network framework: burrow uses tendermint for p2p connectivity. There is no difference within the EVM itself between burrow or any other EVM blockchain we know of (well, if there is that's a bug). The permissioning happens in a layer of the stack below the EVM. The permission layer checks things before the transaction is exposed into the EVM. The EVM smart contract themselves can, of course, add additional permissioning as folks do routinely with ERC721, ERC20, etc. As to ethermint? You'd have to ask them. Previously it was a geth fork over tendermint base, lacked permissioning, and wasn't very well maintained.

compleatang (Wed, 28 Aug 2019 11:48:30 GMT):
Network framework: burrow uses tendermint for p2p connectivity. There is no difference within the EVM itself between burrow or any other EVM blockchain we know of (well, if there is that's a bug). The permissioning happens in a layer of the stack below the EVM. The permission layer checks things before the transaction is exposed into the EVM. The EVM smart contract themselves can, of course, add additional permissioning as folks do routinely with ERC721, ERC20, etc. As to ethermint? You'd have to ask them. Previously it was a geth fork over tendermint base, lacked permissioning, and wasn't very well maintained. Sorry but I haven't looked at it in over a year. Similar idea in the sense of tendermint + EVM, but burrow is much more full featured and heavily used (as far as we know).

nhbrown (Wed, 28 Aug 2019 14:07:30 GMT):
Has joined the channel.

nhbrown (Wed, 28 Aug 2019 14:07:33 GMT):
Hello, I have a small problem: When I deploy a contract, only the actual deployment is done with the address specified by me when calling 'burrow deploy' and every subsequent job uses the general permission account '0000.....'. Is that normal behaviour? And if not, how can I tell my playbook file to use the address I specified during the deployment?

compleatang (Thu, 29 Aug 2019 09:30:05 GMT):
if you set the address via command line that is what the jobs should use UNTIL you change that address via an address job.

nhbrown (Thu, 29 Aug 2019 12:38:54 GMT):
@compleatang sadly doesn't happen that way on my end, the address I set via command line is only used for deployment, every other job in the same playbook file uses the general permission account, checked it again today with another contract. Heres a quick example of what I'm doing, complete with playbook file and output: https://github.com/nhbrown/burrow_msg.sender_example

compleatang (Thu, 29 Aug 2019 14:45:58 GMT):
hmm. that is indeed rather curious.

silasdavis (Thu, 29 Aug 2019 17:45:12 GMT):
@nhbrown I took a look into this - it is a bug

silasdavis (Thu, 29 Aug 2019 17:45:18 GMT):
No longer: https://github.com/hyperledger/burrow/pull/1234

silasdavis (Thu, 29 Aug 2019 17:46:46 GMT):
Note the first query against the stored state works: https://github.com/nhbrown/burrow_msg.sender_example/blob/master/output.txt#L14-L17

silasdavis (Thu, 29 Aug 2019 17:47:13 GMT):
The query contract functionality works by performing a 'simulated call' and not persisting the state thereafter

Hyungsuk Kang (Fri, 30 Aug 2019 10:56:17 GMT):
does fabric-web3 support go1.11.2 as well?

Hyungsuk Kang (Fri, 30 Aug 2019 10:56:39 GMT):
does it have to be only go 1.9.3 to run proxy for solidity?

Hyungsuk Kang (Fri, 30 Aug 2019 11:19:42 GMT):
the install script does not work on kubectl v1.15.2 because it does not have -a shorthand flag

silasdavis (Fri, 30 Aug 2019 11:46:48 GMT):
@nhbrown Oops didn't finish that thought... It doesn't actually need an input in order to work (on a real transaction it would in order to verify sequence numbers and signatures) which is why it still goes through. However it ought to be using the address provided (the zero address is what we set in the absence of address - awkwardly this is also global permissions address, something I have thought about changing for this reason, but never quite wanted the disruption). Anyway the bug fixes this

silasdavis (Fri, 30 Aug 2019 11:46:48 GMT):
@nhbrown Oops didn't finish that thought... It doesn't actually need an input in order to work (on a real transaction it would in order to verify sequence numbers and signatures) which is why it still goes through. However it ought to be using the address provided (the zero address is what we set in the absence of address - awkwardly this is also global permissions address, something I have thought about changing for this reason, but never quite wanted the disruption). Anyway the PR above fixes this bug

silasdavis (Fri, 30 Aug 2019 11:47:29 GMT):
@Hyungsuk Kang #fabric-evm is the place to ask that question

nhbrown (Mon, 02 Sep 2019 15:08:49 GMT):
@silasdavis thank you for the fix and the explanation, I'll check it out!

madiazp (Wed, 04 Sep 2019 03:02:40 GMT):
Has joined the channel.

madiazp (Wed, 04 Sep 2019 03:14:15 GMT):
Hi, In the function IsRegisteredNativeContract https://github.com/hyperledger/burrow/blob/develop/execution/evm/vm.go#L859, the registered contract are the precompiled contract of ethereum? I saw that the 2,3,4 are supported, but I didn't see the 7 https://github.com/ethereum/EIPs/blob/master/EIPS/eip-196.md and 8 https://github.com/ethereum/EIPs/blob/master/EIPS/eip-197.md, So... they're not supported?

madiazp (Wed, 04 Sep 2019 03:48:57 GMT):
I answered myself, they're not :grimacing:

Hyungsuk Kang (Wed, 04 Sep 2019 04:02:11 GMT):
I have tested burrow on ERC20, but the deployed EVM chaincode does not get msg.sender

Hyungsuk Kang (Wed, 04 Sep 2019 04:04:22 GMT):
Is there a certain solidity version that works on burrow EVM?

Hyungsuk Kang (Wed, 04 Sep 2019 04:09:08 GMT):
interface does not work btw

JiangZheMin (Wed, 04 Sep 2019 09:55:34 GMT):
Has joined the channel.

JiangZheMin (Wed, 04 Sep 2019 09:55:34 GMT):
Hello! Could someone tell me the difference between Ethermint and Hyperledger Burrow?

compleatang (Wed, 04 Sep 2019 11:06:52 GMT):
@Hyungsuk Kang we recently discovered a bug with msg.sender which was recently fixed here -> https://github.com/hyperledger/burrow/pull/1234 we test against 5.X and use solidity interfaces routinely so we'd need more information on what you're experiencing.

compleatang (Wed, 04 Sep 2019 11:07:33 GMT):
@JiangZheMin welcome! If you scroll up I recently answered that question. Similar ideas, different methods of execution.

Hyungsuk Kang (Fri, 06 Sep 2019 06:16:22 GMT):
how is tendermint achieved when hyperledger is a private network?

silasdavis (Fri, 06 Sep 2019 07:56:17 GMT):
The bug fixed above was quite specific to querying a contract, msg.sender does and always has worked properly on contracts @Hyungsuk Kang you say 'EVM chaincode' - are you using fabric-evm-chaincode? If you are using Burrow directly could you raise an issue on https://github.com/hyperledger/burrow/issues ?

silasdavis (Fri, 06 Sep 2019 07:56:17 GMT):
The bug fixed above was quite specific to querying a contract, msg.sender does and always has worked properly on contracts @Hyungsuk Kang you say 'EVM chaincode' - are you using fabric-evm-chaincode? If you are using Burrow directly could you raise an issue on https://github.com/hyperledger/burrow/issues describing what you have done and observed exactly?

silasdavis (Fri, 06 Sep 2019 07:59:24 GMT):
> how is tendermint achieved when hyperledger is a private network? It sounds like a number of assumptions are tied up here, but Hyperledger is not a network it is an organisation. Not sure if you are saying Hyperledger deals exclusively with private networks. Tendermint is a consensus engine it can be used in a private or public context. Burrow is a permissioned ledger and can be used in a private or public context.

silasdavis (Fri, 06 Sep 2019 07:59:24 GMT):
> how is tendermint achieved when hyperledger is a private network? @Hyungsuk Kang It sounds like a number of assumptions are tied up here, but Hyperledger is not a network it is an organisation. Not sure if you are saying Hyperledger deals exclusively with private networks. Tendermint is a consensus engine it can be used in a private or public context. Burrow is a permissioned ledger and can be used in a private or public context.

silasdavis (Fri, 06 Sep 2019 07:59:24 GMT):
> how is tendermint achieved when hyperledger is a private network? @Hyungsuk Kang It sounds like a number of assumptions are tied up here, but Hyperledger is not a network it is an organisation. Not sure if you are saying Hyperledger deals exclusively with private networks. Tendermint is a consensus engine it can be used in a private or public context. Burrow is a permissioned ledger and can be used in a private or public context.

silasdavis (Fri, 06 Sep 2019 07:59:24 GMT):
> how is tendermint achieved when hyperledger is a private network? It sounds like a number of assumptions are tied up here, but Hyperledger is not a network it is an organisation. Not sure if you are saying Hyperledger deals exclusively with private networks. Tendermint is a consensus engine it can be used in a private or public context. Burrow is a permissioned ledger and can be used in a private or public context.

silasdavis (Fri, 06 Sep 2019 08:03:48 GMT):
@madiazp I'll reply a to your comments on the issue. I'd like to get us parity with the precompiled contracts available on eth, there has been some prior work on this which I'll link. Very happy to work with you on this.

madiazp (Fri, 06 Sep 2019 08:18:25 GMT):
Nice! looking for it. In the past two days I read a little bit of the evm of the go-ethereum project to see how they handle these contracts. I'm still digging on them.

madiazp (Fri, 06 Sep 2019 08:19:15 GMT):
looking forward*

silasdavis (Fri, 06 Sep 2019 12:19:00 GMT):
@madiazp see: https://github.com/hyperledger/burrow/issues/1240

madiazp (Fri, 06 Sep 2019 19:52:56 GMT):
Ok

madiazp (Fri, 06 Sep 2019 20:02:34 GMT):
You have implemented the 2,3 and 4 precompiled, you will override them?

madiazp (Fri, 06 Sep 2019 20:05:19 GMT):
and, burrow has implemented the byzantium/constantinople hard fork? what will happen with the istambul one?

silasdavis (Mon, 09 Sep 2019 13:49:43 GMT):
I'm going to respond to the above on the ticket if you don't mind to give it visibility

silasdavis (Mon, 09 Sep 2019 13:50:30 GMT):
Not sure what you mean by override them, but it was an oversight on my part not recalling that we do indeed have 2,3,4

silasdavis (Mon, 09 Sep 2019 14:10:51 GMT):
@madiazp I've replied here: https://github.com/hyperledger/burrow/issues/1240

silasdavis (Mon, 09 Sep 2019 14:52:06 GMT):
Also @seanyoung is looking into some changes on which you should base your work on 5

silasdavis (Mon, 09 Sep 2019 14:52:28 GMT):
available once this merged: https://github.com/hyperledger/burrow/pull/1242

Hyungsuk Kang (Mon, 09 Sep 2019 14:54:12 GMT):
I saw in the white paper that burrow will use consensys engine with tendermint, and I wanted to know how that will be used in private context when there is an access level on block proposal in hyperledger

madiazp (Mon, 09 Sep 2019 19:14:40 GMT):
Ok! So, It is ok to just use some code from the go-ethereum project? https://github.com/hyperledger/burrow/pull/777/files seems to use go-ethereum/crypto, and math snippets. And what are the import restrictions? like the C dependency issue.

silasdavis (Mon, 09 Sep 2019 21:08:12 GMT):
Hm yes that may have been another issue with it. We cannot use code from go-ethereum it is GPL. 5 should be straight-foward use of `big.Int`

silasdavis (Mon, 09 Sep 2019 21:27:34 GMT):
It looks like the pairing group stuff is from https://github.com/cloudflare/bn256

silasdavis (Mon, 09 Sep 2019 21:27:47 GMT):
but modified with a different constant

silasdavis (Mon, 09 Sep 2019 21:29:46 GMT):
This is BSD licensed, and the modifications appear to be licensed similarly, this repo contains the geth version of the library: https://github.com/clearmatics/bn256

silasdavis (Mon, 09 Sep 2019 21:42:35 GMT):
Looks like the original version of this code was: https://go.googlesource.com/crypto/+/master/bn256

madiazp (Tue, 10 Sep 2019 00:38:30 GMT):
mmm, 5 it is really straight forward, https://github.com/ethereum/go-ethereum/blob/master/core/vm/contracts.go#L242

madiazp (Tue, 10 Sep 2019 00:39:27 GMT):
the LeftPadBytes function is exactly the same as yours https://github.com/hyperledger/burrow/blob/develop/binary/byteslice.go#L41

madiazp (Tue, 10 Sep 2019 00:41:12 GMT):
and the rest is only big.Int things, maybe the only tricky part is the gas requirement calculation

silasdavis (Tue, 10 Sep 2019 09:17:07 GMT):
Gas should just be the same as current natives

silasdavis (Tue, 10 Sep 2019 09:17:23 GMT):
we just charge one unit base, one unit word

silasdavis (Tue, 10 Sep 2019 09:17:35 GMT):
https://github.com/hyperledger/burrow/blob/develop/execution/evm/native.go#L102

silasdavis (Tue, 10 Sep 2019 09:18:00 GMT):
at some point we will probably overhaul gas to make it configurable, right now all it does is bound computation, we don't even charge for it

igor-egorov (Tue, 10 Sep 2019 14:26:41 GMT):
Has joined the channel.

igor-egorov (Tue, 10 Sep 2019 14:30:38 GMT):
Hi! I am new to Burrow. I would like to test "hello world"-like evm contracts. Is it possible to start standalone burrow node locally (maybe inside docker)? Can I have some burrow playground without installing and setting up fabric node?

igor-egorov (Tue, 10 Sep 2019 14:31:54 GMT):
I've checked Burrow wiki but was not able to figure out. If there are any guides how to start standalone burrow instance, please let me know.

silasdavis (Tue, 10 Sep 2019 15:48:10 GMT):
@igor-egorov hello and welcome :)

silasdavis (Tue, 10 Sep 2019 15:48:19 GMT):
Yes and yes! https://hyperledger.github.io/burrow/#/tutorials/1-run-full-node

silasdavis (Tue, 10 Sep 2019 15:48:34 GMT):
no docker required

silasdavis (Tue, 10 Sep 2019 15:49:52 GMT):
This serves as a slightly elaborate hello world: https://hyperledger.github.io/burrow/#/tutorials/3-deploy-contracts

silasdavis (Tue, 10 Sep 2019 15:50:30 GMT):
You might find this useful for putting it all together: https://github.com/hyperledger/burrow/tree/develop/example/basic-app

silasdavis (Tue, 10 Sep 2019 15:51:15 GMT):
I'm just about to update the docs quite a bit, which will be reflected on that site once this is merged: https://github.com/hyperledger/burrow/pull/1243

silasdavis (Tue, 10 Sep 2019 15:52:03 GMT):
> I've checked Burrow wiki but was not able to figure out. Okay, we need to fix that cc @KellyCooper

KellyCooper (Tue, 10 Sep 2019 22:25:37 GMT):
@silasdavis Will work on it next.

igor-egorov (Wed, 11 Sep 2019 08:36:29 GMT):
@silasdavis Many thanks for such a detailed response! When I told about wiki I meant this page set https://wiki.hyperledger.org/display/burrow/Hyperledger+Burrow

KellyCooper (Wed, 11 Sep 2019 15:35:12 GMT):
@igor-egorov I am working on the wiki, open to suggestions.

klenik (Wed, 09 Oct 2019 13:37:54 GMT):
Has left the channel.

arsulegai (Thu, 10 Oct 2019 06:18:32 GMT):
Has joined the channel.

samurai (Fri, 11 Oct 2019 03:03:53 GMT):
Has joined the channel.

samurai (Fri, 11 Oct 2019 03:03:54 GMT):
Hyperledger Burrow, tried to build it on Ubuntu 18.04, but ket giving me the same error. Is there another way to install Burrow on Ubuntu 18.04?

compleatang (Fri, 11 Oct 2019 08:59:45 GMT):
what was the error?

knagware9 (Fri, 11 Oct 2019 11:56:12 GMT):
Has left the channel.

samurai (Fri, 11 Oct 2019 14:42:53 GMT):

Screenshot at 2019-10-11 00-38-23.png

samurai (Fri, 11 Oct 2019 14:43:41 GMT):
That is a screenshot of the error.

seanyoung (Mon, 14 Oct 2019 09:09:42 GMT):
@samurai please try a newer version of go. I use go 1.12, go 1.13 will work too. Alternatively you can try and remove the check dependency in the top level Makefile however I think it better to upgrade your go version

haydarmajeed (Mon, 14 Oct 2019 18:45:33 GMT):
Has joined the channel.

silasdavis (Tue, 15 Oct 2019 11:14:22 GMT):
If you just want a Burrow binary please grab one from our releases: https://github.com/hyperledger/burrow/releases

silasdavis (Tue, 15 Oct 2019 11:14:22 GMT):
@samurai If you just want a Burrow binary please grab one from our releases: https://github.com/hyperledger/burrow/releases

silasdavis (Tue, 15 Oct 2019 11:14:22 GMT):
@ANKITPODDAR with Burrow you create a blockchain network of many nodes. In a way that is similar to Fabric yes. please see here for a overview and detailed review of features: https://wiki.hyperledger.org/display/burrow/Burrow+-+The+Boring+Blockchain Reference docs here: https://hyperledger.github.io/burrow/#/ If once you have worked through some of that material and have specific questions please feel free to drop them here.

Silona (Wed, 16 Oct 2019 09:32:09 GMT):
https://www.bbc.com/news/science-environment-50036823

Silona (Wed, 16 Oct 2019 09:32:19 GMT):
Marmots can be fierce!

KellyCooper (Fri, 18 Oct 2019 13:28:44 GMT):
https://chat.hyperledger.org/channel/general?msg=yYkxb6jTbTxbBeBLS

KellyCooper (Fri, 18 Oct 2019 13:29:10 GMT):
https://chat.hyperledger.org/channel/general?msg=XyMygQiufDNXxNKcM

KellyCooper (Fri, 18 Oct 2019 13:29:44 GMT):
@AnkitKumar021 I linked your question from #general to #burrow.

AnkitKumar021 (Fri, 18 Oct 2019 13:29:44 GMT):
Has joined the channel.

KellyCooper (Fri, 18 Oct 2019 13:30:43 GMT):
https://chat.hyperledger.org/channel/general?msg=yYkxb6jTbTxbBeBLS

KellyCooper (Fri, 18 Oct 2019 13:32:28 GMT):
https://chat.hyperledger.org/channel/general?msg=8KTJ8d3cyNEjGDaY8

AnkitKumar021 (Fri, 18 Oct 2019 14:07:56 GMT):
I have installed burrow on azure vm, how to deploy smart contract on burrow

AnkitKumar021 (Fri, 18 Oct 2019 14:08:08 GMT):
pls provide any tutorial

KellyCooper (Fri, 18 Oct 2019 15:25:57 GMT):
@AnkitKumar021 Please see the information and tutorials available here: https://hyperledger.github.io/burrow/#/

KellyCooper (Fri, 18 Oct 2019 20:13:31 GMT):
https://chat.hyperledger.org/channel/general?msg=yYkxb6jTbTxbBeBLS

KellyCooper (Fri, 18 Oct 2019 20:15:08 GMT):
@karthikcyadav I linked here from #general. Here is some information that may help guide until a Burrow maintainer can better answer your question: https://hyperledger.github.io/burrow/#/

karthikcyadav (Fri, 18 Oct 2019 20:15:08 GMT):
Has joined the channel.

madiazp (Fri, 18 Oct 2019 20:31:57 GMT):
that's fabric, not burrow, and it seems to be a missconfiguration in the yaml

madiazp (Fri, 18 Oct 2019 20:32:39 GMT):
like a bad name org or a wrong cert path

ANKITPODDAR (Sun, 20 Oct 2019 17:51:20 GMT):
Has joined the channel.

ANKITPODDAR (Sun, 20 Oct 2019 17:51:21 GMT):
Hi I have done multiple projects on fabric now am learning hyperledger burrow, m getting proper understanding on burrow like fabric we create network for burrow also? burrow is any blockchain platform?

ANKITPODDAR (Sun, 20 Oct 2019 17:51:30 GMT):
please help me out

AnkitKumar021 (Mon, 21 Oct 2019 15:51:25 GMT):
like fabric can we create our own network in burrow, can we create multiple nodes, peer and organization type of thing, please help me out in this m not getting any tutorial regarding creation of hyperledger burrow network

shemnon (Mon, 21 Oct 2019 16:41:04 GMT):
Has joined the channel.

AnkitKumar021 (Tue, 22 Oct 2019 13:50:36 GMT):
Error: Failed to create Fabric SDK Channel Client: event service creation failed: could not get chConfig cache reference: QueryBlockConfig failed: queryChaincode failed: Transaction processing for endorser [localhost:7051]: Endorser Client Status Code: (2) CONNECTION_FAILED. Description: dialing connection timed out [localhost:7051

AnkitKumar021 (Tue, 22 Oct 2019 14:53:43 GMT):
after running the fab3 proxy m getting this error Error: Failed to create Fabric SDK Channel Client: event service creation failed: could not get chConfig cache reference: QueryBlockConfig failed: queryChaincode failed: Transaction processing for endorser [localhost:7051]: Endorser Client Status Code: (2) CONNECTION_FAILED. Description: dialing connection timed out [localhost:7051]

silasdavis (Wed, 23 Oct 2019 11:16:19 GMT):
@ANKITPODDAR with Burrow you create a blockchain network of many nodes. In a way that is similar to Fabric yes. please see here for a overview and detailed review of features: https://wiki.hyperledger.org/display/burrow/Burrow+-+The+Boring+Blockchain Reference docs here: https://hyperledger.github.io/burrow/#/ If once you have worked through some of that material and have specific questions please feel free to drop them here.

silasdavis (Wed, 23 Oct 2019 11:16:51 GMT):
@AnkitKumar021 please direct #fabric-evm related questions to #fabric-evm

conanoc (Fri, 25 Oct 2019 02:25:15 GMT):
Has joined the channel.

conanoc (Tue, 29 Oct 2019 05:30:54 GMT):
Hi @silasdavis I could not find how to use GovTx such as how to change permissions of an account. I also piled a github issue for this.

silasdavis (Wed, 30 Oct 2019 11:22:21 GMT):
@conanoc thanks for issues, I have left some notes

pantsme (Fri, 01 Nov 2019 02:06:13 GMT):
Has joined the channel.

pantsme (Fri, 01 Nov 2019 02:08:41 GMT):
hey all, wanted to heck here before I made an issue, but it seems that there's an issue running burrow on Windows due to directory structures. for example when trying to run the simple command from the basics tutorial I get this. everything looks OK up until the / instead of \ for the path => code burrow spec -v1 | burrow configure -s- | burrow start -c- Sourcing config from first of: Config from STDIN then defaults Sourcing config from Config from STDIN could not generate GenesisDoc from GenesisSpec using MockKeyClient: could not create Account from template: file C:\code\.keys\data/15DC3ED72C510B3AAB53F8CDDC32C486167E9245.json should be accessible by user onlycannot continue with config: could not finalise address - please provide one in config or via --account-address

pantsme (Fri, 01 Nov 2019 02:10:19 GMT):
it created the files just fine though in the C:\code\.keys dir

pantsme (Fri, 01 Nov 2019 02:11:08 GMT):
i know i know, look at the noob on windows is what you're all thinking

dileban (Wed, 06 Nov 2019 00:41:45 GMT):
Has joined the channel.

dileban (Wed, 06 Nov 2019 00:41:47 GMT):
Hi all, I have been looking to get a better understanding of the Burrow project and its goals. From my reading it's unclear whether Burrow is striving for compliance with the EEA spec in the same way Hyperledger Besu is (and to a lesser extent, I suppose, Quorum). Is Burrow positioning itself as a competing permissioned Ethereum blockchain to other permissioned implementations such as Fabric, Sawtooth, Corda, Besu and Quorum? What differentiating features if any does Burrow offer compared to the other platforms? On the other hand, is Burrow mostly an experimental project with the goals of porting the EVM as a smart contract engine to the DLT implementations?

dileban (Wed, 06 Nov 2019 00:46:05 GMT):
Hi all, I have been looking to get a better understanding of the Burrow project, particularly in relation to compliance with the EEA spec, in the same way Hyperledger Besu is striving for (and to a lesser extent, I suppose, Quorum). Is it reasonable to say that Burrow is positioning itself as a competing permissioned Ethereum blockchain to other permissioned implementations such as Fabric, Sawtooth, Corda, Besu and Quorum? What differentiating features if any does Burrow offer compared to the other platforms? On the other hand, is Burrow mostly an experimental project with the goals such as porting the EVM as a smart contract engine to the DLT implementations?

KellyCooper (Wed, 06 Nov 2019 15:48:14 GMT):
@dileban Please start here: https://wiki.hyperledger.org/display/burrow/Burrow+-+The+Boring+Blockchain

SimonSchuler (Thu, 07 Nov 2019 10:40:48 GMT):
Has left the channel.

d3cline (Sat, 09 Nov 2019 14:08:37 GMT):
Finally getting a chance to read the wiki and its looking really good. Thanks again for all the effort. I really love the direction of this project and have for a while. Impressed with the progress in the last few months yall. Hopefully now that its cold here in CO I will have more time to put into it.

d3cline (Sat, 09 Nov 2019 14:10:30 GMT):
have actually had a few good conversations with some big investors in cannabis about storing IoT data on a burrow chain, I think its going to gain traction.

d3cline (Sat, 09 Nov 2019 15:23:05 GMT):
binary releases are also very neat addition

silasdavis (Mon, 11 Nov 2019 10:32:12 GMT):
@dileban hopefully the link Kelly posted gives a broader context and helps on the question of differentiation, on some of your other points: EEA spec compliance is currently a non-goal of Burrow. However we did recently add support for the web3 JSON RPC which opens us up to Ethereum tooling. There are groups of users of Ethereum-using projects (some of whom I met here: https://runevm.com/) who see more value in implementing unbundled components from Ethereum and do not wish to sit directly on mainnet. Burrow is more aligned with this - we want to offer core EVM language compatibility but also be open to extension without dragging along the worst bits of Ethereum architecture. We also do our consensus and p2p through Tendermint - so supporting DEVP2P is unlikely to be something we'd ever want to do.

silasdavis (Mon, 11 Nov 2019 10:36:15 GMT):
> a competing permissioned Ethereum blockchain to other permissioned implementations such as Fabric, Sawtooth, Corda, Besu and Quorum Yes, if you like, we are a fully-featured permissioned blockchain. Also, while appeal to seniority has no technical merit, I would point out that Burrow's original code predates all of them, and Hyperledger itself. I am not aware of permissioned blockchain project started before eris-db...

silasdavis (Mon, 11 Nov 2019 10:43:14 GMT):
@d3cline great to hear that there may be some budding projects (arf) on Burrow. Interested to hear more if you are able to share. We did have a build on ARM set up a few years ago by an intern which would be possible to resurrect if that is useful for IoT devices for example. I don't know much about the state of the Go runtime on embedded hardware other than people are doing it. The other thing that we want to get out there is as light-client RPC layer - like what we have now but that transmits a proof with results. That will require a bit of a work to set up but means your clients at the edge can get the verified state without running a full node - it's always been in the backlog pretty much forever, just needs the impetus from someone wanting to use/build it. There might be an angle with the Avalon here - as a distribution means for the state hash for example - though no collaboration has started yet.

seanyoung (Mon, 11 Nov 2019 11:33:48 GMT):
burrow compiles fine on arm. It needs at least 2GB of ram to build, armv6l (with hardfloat). I'm building it on debian buster for armhf, on this http://www.banana-pi.org/r2.html using the go tools for armv6l.

seanyoung (Mon, 11 Nov 2019 11:47:32 GMT):
actually there isn't much in the way of float processing in burrow, apart from some stats. It might work fine without hardware float support. Presumably the crypto side is where most of the cpu is spent, which does not use floats (again, I guess).

d3cline (Mon, 11 Nov 2019 14:34:10 GMT):
thanks guys. I actually built it a few months ago on a pi I had laying around, but I don't think the nodes will be using it, they will be publishing their data via RPC to a distributed setup on the web. I plan on doing this via the blocktwine project I announced a few weeks ago. In the past I spent a ton of time writing a project before talking to people about it and wasted a bunch of energy on software no one really cared about until much later. This time I am talking about it a lot more before I get my hands dirty with the code. I have a single node deployed now I play with and am about to re-design some of my hardware which will start talking to it. Should be an interesting winter. Once more of a body of work is done I plan on publishing all that on github and I think it will be more interesting then. Keep up the good work tho, I really think its great.

nathalie-ckc (Fri, 15 Nov 2019 06:33:09 GMT):
Has joined the channel.

KGiou (Mon, 18 Nov 2019 12:26:24 GMT):
Has joined the channel.

AmimKnabben (Thu, 28 Nov 2019 20:49:20 GMT):
Has joined the channel.

radoslawgrochowski (Tue, 03 Dec 2019 12:38:45 GMT):
Has joined the channel.

radoslawgrochowski (Tue, 03 Dec 2019 12:38:46 GMT):
hi guys - it is possible to send an callTx using just burrow cli (without making app api)?

radoslawgrochowski (Tue, 03 Dec 2019 12:43:24 GMT):
all i have in `burrow tx formulate` is `send`

radoslawgrochowski (Tue, 03 Dec 2019 12:44:12 GMT):
even tho there is `bond` and `unbond` at tutorial pages

radoslawgrochowski (Tue, 03 Dec 2019 13:13:27 GMT):
i know its possible just by using deploy.yaml with burrow deploy, but i want to do it faster, command style way for test-like purpouse

lcfsjr1980 (Fri, 06 Dec 2019 20:26:48 GMT):
Has joined the channel.

lcfsjr1980 (Fri, 06 Dec 2019 20:43:15 GMT):
Hi guys. I'm using Hyperledger Burrow to send transactions in Node.js using the @monax/burrow package. I'm trying to find examples of how to use burrow.transact.SignTx but didn't find. The same applies to the web3 js support in burrow. Can you guys help me with some examples?

lcfsjr1980 (Mon, 09 Dec 2019 13:38:08 GMT):
Hi guys. I'm using Hyperledger Burrow to send transactions in Node.js using the @monax/burrow package. I'm trying to find examples of how to use burrow.transact.SignTx but didn't find. The same applies to the web3 js support in burrow. Can you guys help me with some examples?

gregdhill (Tue, 10 Dec 2019 10:06:58 GMT):
@radoslawgrochowski there is an open ticket to add callTx support to `burrow tx`, I don't think this particular feature is of top priority to the team at the moment, but if you had some capacity to contribute we would be more than happy to help guide your efforts! > https://github.com/hyperledger/burrow/issues/1155

gregdhill (Tue, 10 Dec 2019 10:10:03 GMT):
@lcfsjr1980 if you look at the protobuf definitions, you'll see the objects that `SignTx` expects (namely `TxEnvelopeParam`) > https://github.com/hyperledger/burrow/blob/703eabfc5c973f3c4344805e3c908520fe5395e8/protobuf/rpctransact.proto#L69

gregdhill (Tue, 10 Dec 2019 10:12:27 GMT):
you'll find the definition of the envelope here > https://github.com/hyperledger/burrow/blob/703eabfc5c973f3c4344805e3c908520fe5395e8/protobuf/txs.proto#L23

gregdhill (Tue, 10 Dec 2019 10:13:36 GMT):
and the payload is defined here > https://github.com/hyperledger/burrow/blob/master/protobuf/payload.proto#L25

gregdhill (Tue, 10 Dec 2019 10:14:42 GMT):
important to note for @radoslawgrochowski is CallTx > https://github.com/hyperledger/burrow/blob/master/protobuf/payload.proto#L62

gregdhill (Tue, 10 Dec 2019 10:16:04 GMT):
let us know if you run into any more issues @lcfsjr1980, if you have any time to help us improve our docs as you progress we would very much appreciate it!

gregdhill (Tue, 10 Dec 2019 10:18:14 GMT):
with regard to the web3 support, burrow runs a compliant RPC server, so please follow the [official truffle docs](https://www.trufflesuite.com/docs/truffle/overview) and point it to a running burrow node as explained here > https://hyperledger.github.io/burrow/#/reference/web3?id=truffle

lcfsjr1980 (Tue, 10 Dec 2019 14:15:29 GMT):
My solidity code contains an event called Updated. I'm trying to listen to this event but the pegjs syntax is not working. I'm using: let query = "tm.events.type='" + eventName + "'"; Do you guys know how can I use in the left side instead of tm.events.type?

Silona (Wed, 11 Dec 2019 21:44:37 GMT):
Hello everyone - Do you know of a developer event that we would like to get some Hyperledger representation at? Please submit it here. The marketing committee will review them all as we go thru our budget for 2020 Thank you! - Silona

Silona (Wed, 11 Dec 2019 22:01:08 GMT):
https://wiki.hyperledger.org/display/Marketing/Developer+Events

lcfsjr1980 (Fri, 13 Dec 2019 12:14:34 GMT):
Hi guys. When listening an event, how can I retrieve the data emitted by the solidity code? For instance, in my solidity code I have the "event SomethingUpdated(string One, int two);", but listening the event the values emitted never returned in the event object. Should I decode some byte arrays? Please help.

seanyoung (Fri, 13 Dec 2019 12:34:49 GMT):
@lcfsjr1980 how are you listening for the event? You can use `burrow vent` for example to insert the event into a database.

lcfsjr1980 (Fri, 13 Dec 2019 12:48:26 GMT):
@seanyoung I'm using the @monax/burrow nodejs package: burrow.events.listen(query, {}, (error, event) => { if (error) { socket.emit("error", error); console.log('Event %j error', error); } else { console.log('Event %s emitted: %s', "SomethingUpdated", JSON.stringify(event)); socket.emit(eventName, JSON.stringify(event)); } });

lcfsjr1980 (Fri, 13 Dec 2019 12:49:22 GMT):
the event does not return the event emitted values

lcfsjr1980 (Fri, 13 Dec 2019 13:38:34 GMT):
@seanyoung the burrow vent is interesting but in my case would be overengineering because I just need to emit the event values to the clients listening the websocket.

toddinpal (Fri, 13 Dec 2019 17:17:26 GMT):
Has joined the channel.

toddinpal (Fri, 13 Dec 2019 17:19:02 GMT):
What is the relationship between Burrow and an Ethereum network? I was under the impression Burrow was basically a smart contract execution environment for EVM based languages. But how does that smart contract play in a blockchain network such as Ethereum?

easeev (Mon, 16 Dec 2019 12:15:08 GMT):
Has left the channel.

g3d (Tue, 17 Dec 2019 11:44:08 GMT):
Hi folks, question to you: we had to modify burrow.js library and change the structure of the returnObj (https://github.com/molfaras/burrow.js/commit/f76d09ce9fe041e6d31f6ab5d3fed035de07f1c8#diff-e71d3a046f10d64d825ecdba1c7fd833R144) Is it possible to have something like decorator/or formatter for returnObj now or in the future? Should I open issue for this?

silasdavis (Thu, 19 Dec 2019 13:49:08 GMT):
Hi @g3d, I think the answer is yes to both questions but it's a bit difficult for me to see the wood from the trees from that commit because it is not clear what the ancestry of that change is because of the rebasing. Could you open an issue specifying what you are trying to do, why you can't get what you need currently. Incidentally it is on my list to convert burrow.js to typescript, kill the cruft, and provided more integrated SQL database synchronisation ala https://github.com/agreements-network/blackstone/blob/feature/deletion/MP-1163/api/common/VentHelper.js. The typescript conversion is something I'd ideally do on the next significant touch of the library so maybe this is it. If you raise an issue I'll try and cover your use case with the refactor. Another feature I'd like to see is batching of multiple external calls into a single (atomic) transaction using a lexical (function) scope on the JS side, if that happens to be of interest to you too let me know. Also always interested to here what brought you to Burrow and what we can do to keep you here.

silasdavis (Thu, 19 Dec 2019 13:51:28 GMT):
@toddinpal I've tried to answer this and other related questions here: https://www.hyperledger.org/blog/2019/10/08/burrow-the-boring-blockchain. Let me know if I can elaborate on anything after you have skimmed that.

silasdavis (Thu, 19 Dec 2019 14:02:08 GMT):
@lcfsjr1980 this is not very well documented. What `query` are you using? For a smoke test use `burrow.events.listen('', {}, (error, event) => { ... ` that will give you everything What you probably want to do is just call the event function from the contract object directly which hides all of the details of doing this. See this test: https://github.com/hyperledger/burrow/blob/master/js/test/event/index.js#L33

silasdavis (Thu, 19 Dec 2019 14:02:08 GMT):
@lcfsjr1980 this is not very well documented. What `query` are you using? For a smoke test use `burrow.events.listen('', {}, (error, event) => { ... ` that will give you everything (i.e. all events from everything - you probably don't want this but...) What you probably want to do is just call the event function from the contract object directly which hides all of the details of doing this. See this test: https://github.com/hyperledger/burrow/blob/master/js/test/event/index.js#L33

silasdavis (Thu, 19 Dec 2019 14:02:08 GMT):
@lcfsjr1980 this is not very well documented. What `query` are you using? For a smoke test use `burrow.events.listen('', {}, (error, event) => { ... ` that will give you everything (i.e. all events from everything not just the EVM - you probably don't want this but...) What you probably want to do is just call the event function from the contract object directly which hides all of the details of doing this. See this test: https://github.com/hyperledger/burrow/blob/master/js/test/event/index.js#L33

silasdavis (Thu, 19 Dec 2019 14:03:50 GMT):
If you have the burrow contract object then just use: ``` myContract.SomethingUpdated((error, event) => { ... }) ```

silasdavis (Thu, 19 Dec 2019 14:07:04 GMT):
sorry re-reading it sounds like you are getting _raw_ events. The call above will decode them for you, so yes using the low-level listen you would have to decode yourself, using the helper above you should see the values. Here is where the bodies are buried: https://github.com/hyperledger/burrow/blob/master/js/lib/contracts/event.js#L47-L74

taichi93 (Wed, 25 Dec 2019 07:14:38 GMT):
Has joined the channel.

taichi93 (Wed, 25 Dec 2019 07:14:38 GMT):
Could you list to me some famous companies is using or supporting our hyperledger burrow? @silasdavis

taichi93 (Wed, 25 Dec 2019 07:16:41 GMT):
I want to know the famous level of our hyperledger burrow now?

selvaraman (Fri, 27 Dec 2019 10:18:30 GMT):
Has joined the channel.

selvaraman (Fri, 27 Dec 2019 10:18:31 GMT):
Is there any explorer for burrow? Or any suggestions?

selvaraman (Fri, 27 Dec 2019 10:43:51 GMT):
Can I use burrow for ICO development?

b1001 (Wed, 01 Jan 2020 21:44:43 GMT):
Has joined the channel.

b1001 (Wed, 01 Jan 2020 21:44:44 GMT):
Where can I check the status of some of the key WIP features? For example, IBC protocol

mikiasda (Wed, 01 Jan 2020 22:38:16 GMT):
Has joined the channel.

lcfsjr1980 (Mon, 06 Jan 2020 20:47:30 GMT):
Thank you @silasdavis, I will test again with you suggestion.

lcfsjr1980 (Mon, 06 Jan 2020 20:52:22 GMT):
Hi guys, I'm trying to configure 3 nodes and connect them using a seed node, according to this documentation: https://github.com/hyperledger/burrow/blob/master/docs/tutorials/6-seeding.md I've configured the ChainName with the same value for both seed and validator nodes: [GenesisDoc] GenesisTime = 2020-01-06T13:35:45Z ChainName = "LedgerChain" But after starting the seed and validator 1 the following errors has been displayed: seed: incompatible: Peer is on a different network. Got LedgerChain-992E3C, expected LedgerChain-69C17C node 1: incompatible: Peer is on a different network. Got LedgerChain-69C17C, expected LedgerChain-992E3C ``

lcfsjr1980 (Mon, 06 Jan 2020 20:52:32 GMT):
Seems to be a Tendermint error

lcfsjr1980 (Mon, 06 Jan 2020 20:52:53 GMT):
Do you guys know how can I solve this issue?

drr00t (Tue, 07 Jan 2020 12:44:18 GMT):
Has joined the channel.

lcfsjr1980 (Tue, 07 Jan 2020 13:52:38 GMT):
It is working, thanks :relaxed:

Whatzhub (Fri, 10 Jan 2020 05:58:03 GMT):
Has joined the channel.

Whatzhub (Fri, 10 Jan 2020 05:58:04 GMT):
Hello everyone :)

gregdhill (Tue, 14 Jan 2020 11:48:00 GMT):
Hello @Whatzhub! What brings you here?

gregdhill (Tue, 14 Jan 2020 11:49:00 GMT):
@selvaraman I might recommend BlockScout if you are looking for a graphical interface to explore Burrow, see: https://hyperledger.github.io/burrow/#/reference/web3?id=blockscout

gregdhill (Tue, 14 Jan 2020 11:49:53 GMT):
although I should note that support for web3 is still experimental

gregdhill (Tue, 14 Jan 2020 11:56:59 GMT):
@b1001 the best place to track progress is the official Hyperledger roadmap where we post quarterly reports

gregdhill (Tue, 14 Jan 2020 11:58:15 GMT):
in terms of IBC support as you mentioned, there is some detail in this thread: https://github.com/hyperledger/burrow/issues/1130

gregdhill (Tue, 14 Jan 2020 11:59:17 GMT):
so it's not currently planned, but something we are keen to implement as soon as we are able

gregdhill (Tue, 14 Jan 2020 12:03:25 GMT):
@taichi93 we're not currently tracking particular use-cases, but we would be more than happy to learn of some! Perhaps you could start looking into this? The wiki might be a good place to start: https://wiki.hyperledger.org/

Silona (Tue, 14 Jan 2020 16:49:09 GMT):
Help Us Help you! Attend the Developer Relationship Meeting with Myself and our Marketing Dept. tomorrow at 9:00am Pacific Time. For the agenda and Dial in info https://wiki.hyperledger.org/display/Marketing/2020-01-15+Meeting+notes

Silona (Tue, 14 Jan 2020 17:01:04 GMT):
Calling all Projects! We will have a special Kiosk setup at Hyperledger Global Forum for Projects. We are asking that all projects sign up to do 10 minute presentations. https://wiki.hyperledger.org/display/HGF/Projects+Kiosk We will close this page on Feb 28 for printing reasons.

Silona (Tue, 14 Jan 2020 17:03:46 GMT):
https://wiki.hyperledger.org/display/HGF/Video+Recording+Schedule

strongwares (Tue, 14 Jan 2020 21:45:44 GMT):
Has joined the channel.

strongwares (Tue, 14 Jan 2020 22:00:52 GMT):
Hello all, just joining here, as suggested I'd like to help on the documentation front perhaps, as I start the burrow learning process...

podgostar (Mon, 27 Jan 2020 10:32:20 GMT):
Has joined the channel.

podgostar (Mon, 27 Jan 2020 10:32:21 GMT):
Hello, any admin here for one technical question?

Dan (Mon, 27 Jan 2020 17:14:12 GMT):
Hi Everyone, We are hoping to hear from everyone as we assess the health of our open source community. Please take 2 minutes to respond here: https://www.surveymonkey.com/r/DCIWGsurvey

Silona (Mon, 27 Jan 2020 22:25:43 GMT):
The Linux Foundation’s CommunityBridge engineers are working on a tool to measure the health of critical open source projects and one of the key areas identified is QA Testing. They request that our communities provide honest and detailed information on testing tools and methodologies you use in your projects for us to come up with a detailed analysis, which they will share with all respondents and projects. https://www.surveymonkey.com/r/9H5G2GV. It’s only 5 questions long.

podgostar (Tue, 28 Jan 2020 09:02:28 GMT):
maybe active dev?

podgostar (Tue, 28 Jan 2020 09:02:28 GMT):
@silasdavis I am performing research, which databases are used within various blockchain project... and because of the documentation of the project is not so well documented in that area, I was forced to dig into the codebase to get some findings of a database. For the Burrow project, my findings are followings: Databases: PostgreSQL (event&log data), SQLite (event&log data), LevelDB (state). Can you please verify if my findings are correct or not.

g3d (Tue, 28 Jan 2020 11:13:46 GMT):
Hi folks, as far as I see from tendermint consensus documentation, there is no maximum amount of validators, but the bigger amount of validator we have -the bigger amount of rounds it may take to vote. Is that correct? What is optimal balance in that case? According to interview here (https://docs.tendermint.com/master/interviews/tendermint-bft.html) there are some researches, that indicates 7 nodes. Is that valid assumption?

silasdavis (Tue, 28 Jan 2020 17:26:21 GMT):
@podgostar maintainer here, don't ask to ask :) Go ahead and I'll get back to you when I can, fairly regularly.

silasdavis (Tue, 28 Jan 2020 17:27:22 GMT):
@g3d it depends what you are trying to optimise. Optimal throughput is 1 node :)

silasdavis (Tue, 28 Jan 2020 17:36:14 GMT):
There are some magic numbers in terms of fault tolerance

silasdavis (Tue, 28 Jan 2020 17:36:39 GMT):
these are the the minimum number of nodes that can tolerate f faults

silasdavis (Tue, 28 Jan 2020 17:42:34 GMT):
partially synchronous byzantine fault tolerant consensus algorithms can survive at most 1/3 byzantine faults (see https://www.scs.stanford.edu/17au-cs244b/notes/pbft.txt) For `n` nodes we can survive `Math.floor((n-1)/3.0)`

silasdavis (Tue, 28 Jan 2020 17:42:47 GMT):
the smallest n allowing 2 faults is 7

silasdavis (Tue, 28 Jan 2020 17:42:47 GMT):
the smallest n allowing 2 faults is 7, so that is probably why you may have heard 7 described as being a 'good' number. FWIW we (Monax) run our production validator pool on 7 nodes - it is convenient to be able to take two nodes offline. If you are running with <20 nodes you should also reduce your `TimeoutFactor` from defaults in burrow.toml: ``` ... [Execution] TimeoutFactor = 0.33 # or 0.25, 0.1 - depending on network ...

silasdavis (Tue, 28 Jan 2020 17:43:01 GMT):
6 nodes can survive only 1 fault

silasdavis (Tue, 28 Jan 2020 17:44:01 GMT):
so in terms of resilience 6 nodes gives no benefit of 4 nodes

silasdavis (Tue, 28 Jan 2020 17:44:33 GMT):
however you do get improved gossip throughput and resilience from having more nodes

silasdavis (Tue, 28 Jan 2020 17:45:12 GMT):
The next 'sensible' number of nodes after 7 is 10

silasdavis (Tue, 28 Jan 2020 17:45:35 GMT):
Tendermint can handle a few hundred notes, in the large n limit things get a bit smoother

silasdavis (Tue, 28 Jan 2020 17:45:35 GMT):
Tendermint can handle a few hundred nodes, in the large n limit things get a bit smoother

silasdavis (Tue, 28 Jan 2020 17:46:45 GMT):
If you are using Burrow as a 'zookeeper replacement' you could run with 4 nodes

silasdavis (Tue, 28 Jan 2020 17:50:42 GMT):
If you want to run a public permissioned proof-of-stake network you probably want to have 100 or so validators and hope/engineer for a cartel resistant distribution of voting power

silasdavis (Tue, 28 Jan 2020 17:51:24 GMT):
if you want to scale to thousands or millions of node then you need to set up connected networks using Cosmos - which is on Burrow's roadmap in the sky

mslavitch (Tue, 28 Jan 2020 19:41:45 GMT):
Hello, is there a reference for deploy.yaml? Is there a way to use environment variables from the running shell?

mslavitch (Tue, 28 Jan 2020 20:07:47 GMT):
Also, how does one pass multiple parameters in a function call in deploy.yaml?

podgostar (Wed, 29 Jan 2020 06:53:26 GMT):
@silasdavis I am performing research, which databases are used within various blockchain project... and because of the documentation of the project is not so well documented in that area, I was forced to dig into the codebase to get some findings of a database. For the Burrow project, my findings are followings: Databases: PostgreSQL (event&log data), SQLite (event&log data), LevelDB (state). Can you please verify if my findings are correct or not.

silasdavis (Wed, 29 Jan 2020 10:50:17 GMT):
Yes, but note SQLite and Postgres are options for our SQL event stream - they are optional and are only used when running `burrow vent` as a separate process. The core persistence library we use is GoLevelDB - note this is embedded there is not distinct database you need to run. If you have useful summary information not found elsewhere I would welcome a PR into https://github.com/hyperledger/burrow/tree/master/docs or adding it to the wiki if more appropriate.

silasdavis (Thu, 30 Jan 2020 15:34:53 GMT):
Captain Mark Sparrow

lebdron (Sat, 01 Feb 2020 08:18:47 GMT):
Hi! It would be great if someone could take a look on https://github.com/hyperledger/burrow/issues/1328 . Thanks!

lebdron (Sat, 01 Feb 2020 08:18:47 GMT):
Hi! It would be great if someone could take a look at https://github.com/hyperledger/burrow/issues/1328 . Thanks!

MarcoRustico (Thu, 06 Feb 2020 17:06:53 GMT):
Has joined the channel.

MarcoRustico (Thu, 06 Feb 2020 17:06:54 GMT):
hi is there someone who can help me? i'm just doing some samples for university with burrow, but it doesnt work... can someone help?

MarcoRustico (Thu, 06 Feb 2020 17:07:08 GMT):
my email is: rustik96@gmail.com please help

MarcoRustico (Thu, 06 Feb 2020 17:13:46 GMT):
or telegram mark<-9966

Starflow (Fri, 07 Feb 2020 10:45:55 GMT):
Has joined the channel.

pschwarz (Thu, 13 Feb 2020 15:50:49 GMT):
Has left the channel.

Silona (Thu, 13 Feb 2020 18:23:19 GMT):
Howdy Contributors and Maintainers! Are you wondering about tapping into Developer marketing for your group or project? Do you have a blog post idea? An awesome announcement? Please attend our Contributor/marketing meeting! https://wiki.hyperledger.org/display/Marketing/2020-02-19+Meeting+notes

nikolay (Fri, 14 Feb 2020 15:15:11 GMT):
Hello, I am migrating to 0.29.8, but I have found some issues... I am upgrading from 0.28 and I just found out that since 0.29.0 the fixture app33-evm_connection_edb_permissions_and_roles_layer/ is failing with Error 17: execution reverted: execution reverted. Then I upgraded to 0.29.8 to find out that it fails with rawErr="cannot map from string to EVM address" which should be the only fix in the release notes in exactly 0.29.8

nikolay (Fri, 14 Feb 2020 15:16:18 GMT):
So the question is - is this test passing on our side, but don't trust the script's exit code - it always says Tests complete! Tests are Green. :) You have to go up to check the error, I guess I have to log an issue about it

mpiekarska (Mon, 17 Feb 2020 11:41:52 GMT):
Has joined the channel.

mpiekarska (Mon, 17 Feb 2020 11:42:07 GMT):
does anyone have a multinode docker compose for burrow?

mslavitch (Mon, 17 Feb 2020 20:47:04 GMT):
Can anyone tell me how to subscribe to a specific contract's burrow events via Javascript? There seems to be no documentation.

Silona (Mon, 17 Feb 2020 22:17:28 GMT):
Are you wondering about tapping into Developer marketing for your group or project? Do you have a blog post idea? An awesome announcement? Please attend TOMORROW! https://wiki.hyperledger.org/display/Marketing/2020-02-19+Meeting+notes

gregdhill (Tue, 18 Feb 2020 10:03:07 GMT):
@mslavitch there is an example here: https://github.com/hyperledger/burrow/blob/master/js/test/event/index.js#L33

gregdhill (Tue, 18 Feb 2020 10:39:51 GMT):
@mpiekarska take a look at this: https://gist.github.com/gregdhill/e7614d74a285642019eb04c2e523cf9e

shemnon (Thu, 20 Feb 2020 20:51:08 GMT):
I'm having gomod issues testing burrow... ``` go test ... go: extracting github.com/nats-io/gnatsd v1.4.1 go: extracting github.com/nats-io/jwt v0.3.0 go: extracting github.com/nats-io/nats-server v1.4.1 go: extracting github.com/nats-io/nats.go v1.9.1 go: extracting github.com/nats-io/nkeys v0.1.0 go: extracting github.com/nats-io/nuid v1.0.1 go: finding golang.org/x/image latest go: finding sourcegraph.com/sourcegraph/appdash latest go: finding golang.org/x/mobile latest go: finding github.com/samuel/go-zookeeper latest go: finding github.com/martini-contrib/render latest go: finding github.com/streadway/handy latest go: finding github.com/go-martini/martini latest go: finding golang.org/x/build latest go: finding github.com/pborman/getopt latest go: finding github.com/aryann/difflib latest go: finding github.com/BurntSushi/xgb latest go: finding github.com/afex/hystrix-go latest go: finding go.pedge.io/lion latest go: finding github.com/influxdata/influxdb1-client latest go: extracting github.com/nats-io/nats-server/v2 v2.1.4 go: finding gopkg.in/inconshreveable/log15.v2 latest go: extracting github.com/nats-io/go-nats v1.8.1 go: finding github.com/streadway/amqp latest go: finding github.com/google/pprof latest go: finding gopkg.in/yaml.v1 latest go: github.com/nats-io/gnatsd/server tested by github.com/nats-io/gnatsd/server.test imports github.com/nats-io/go-nats: github.com/nats-io/go-nats@v1.8.1: parsing go.mod: module declares its path as: github.com/nats-io/nats.go but was required as: github.com/nats-io/go-nats ``` `go version go1.13.4 darwin/amd64`

gregdhill (Fri, 21 Feb 2020 14:46:25 GMT):
Looks like it's trying to pull in a bunch of things I can't see in the dependency graph, for instance: ``` $ go mod why github.com/nats-io/gnatsd # github.com/nats-io/gnatsd (main module does not need package github.com/nats-io/gnatsd) ```

gregdhill (Fri, 21 Feb 2020 14:46:54 GMT):
Try running `go test ./...` @shemnon

japidei (Sat, 22 Feb 2020 11:52:27 GMT):
Has joined the channel.

jayapalreddy (Tue, 03 Mar 2020 01:56:17 GMT):
Has left the channel.

Jemal (Fri, 06 Mar 2020 08:32:17 GMT):
Has joined the channel.

Jemal (Fri, 06 Mar 2020 08:59:44 GMT):
Hi guys, Does Burrow allow doing things such as deploying smart contract, invoking smart contract functions, listening to events using web3 JSON RPC ?

gregdhill (Fri, 06 Mar 2020 16:33:39 GMT):
Hi @Jemal, yes Burrow is able to do most of the above. To listen for events I would recommend that you use our client library however.

gregdhill (Fri, 06 Mar 2020 22:13:00 GMT):
https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol

silasdavis (Fri, 06 Mar 2020 23:47:40 GMT):
`5708187A47346AADCF643EE8759F3469244DB77F`

theomarshanti (Fri, 06 Mar 2020 23:48:04 GMT):
3FC3BBE48247DE468002AB8779D25B29019ADE13

theomarshanti (Fri, 06 Mar 2020 23:48:04 GMT):
```3FC3BBE48247DE468002AB8779D25B29019ADE13```

Mikhail_Boldyrev (Fri, 06 Mar 2020 23:48:07 GMT):
Has joined the channel.

Mikhail_Boldyrev (Fri, 06 Mar 2020 23:48:07 GMT):
674A8C0AEE68B4EB3E6B62EE5F166A647B4644DB

Jemal (Sun, 08 Mar 2020 01:47:03 GMT):
@gregdhill thank you for replying. I am not aware of the client library you suggested me. Can you share the link here?

seanyoung (Sun, 08 Mar 2020 01:56:35 GMT):
@Jemal https://www.npmjs.com/package/@hyperledger/burrow

jancumps (Sun, 08 Mar 2020 09:29:51 GMT):
Has joined the channel.

Jemal (Sun, 08 Mar 2020 09:57:47 GMT):
@seanyoung Thank you brother. I think your client library is written in Typescript. I have a Dapp written in Java based on Web3j. I want to use the same API (web3j) to connect to Burrow. Do you think that would work?

seanyoung (Sun, 08 Mar 2020 16:17:34 GMT):
@gregdhill wrote the web3 interface; I'm not sure what its limitations are.

gregdhill (Sun, 08 Mar 2020 16:24:18 GMT):
we should be fully compliant, if you happen across something that does not work it is likely a bug

Jemal (Sun, 08 Mar 2020 23:21:18 GMT):
@seanyoung and @gregdhill thank you. i will give it a try

Jemal (Sun, 08 Mar 2020 23:21:18 GMT):
HI guys, i want to start multiple instances of Burrow node on a single high capacity Computer for the sake of research. I want to start up to 50 nodes and variable number of validators. I was thinking to insert my own code to the main class in the project source code so that i can do that automatically. Is it possible do that ? if so, can you tell me the entry point to the code and where i can insert my own code? If that is not possible, is there any other way to do that? Thanks

Kvykv (Mon, 09 Mar 2020 13:31:48 GMT):
Has joined the channel.

Kvykv (Mon, 09 Mar 2020 13:36:46 GMT):
Hi ! I'm currently trying to evaluate the usage of Burrow regarding IBC. I saw there was a PR opened 20 days ago that ( https://github.com/hyperledger/burrow/pull/1343 ) with a few commit aiming to implement this communication using the transaction `InterchainTx`. Is there any update or ETA on this functionality if that's ok to ask ? And if I understand this correctly, it would mean that communicating with other blockchains part of the Cosmos Network would simply be done by emitting and receiving those transactions ? Thanks !

gregdhill (Mon, 09 Mar 2020 20:46:38 GMT):
@Jemal `burrow spec -v50 | burrow configure -s- --pool`

gregdhill (Mon, 09 Mar 2020 20:47:00 GMT):
that will create all the configurations and keys for 50 validators

gregdhill (Mon, 09 Mar 2020 20:47:07 GMT):
note the `--pool` flag

gregdhill (Mon, 09 Mar 2020 20:47:34 GMT):
`burrow spec -v10 -d40 | burrow configure -s- --pool`

gregdhill (Mon, 09 Mar 2020 20:47:49 GMT):
will create 10 validators and add 40 'developer' accounts

gregdhill (Mon, 09 Mar 2020 20:48:04 GMT):
run `burrow spec --help` for more info

Jemal (Mon, 09 Mar 2020 22:23:11 GMT):
@gregdhill thanks. I will check it

gregdhill (Mon, 09 Mar 2020 23:15:34 GMT):
@Kvykv it is very early days so please keep an eye on our roadmap. We aim to complete IBC support before Game of Zones, but this of course depends on when that is.

Jemal (Wed, 11 Mar 2020 10:06:56 GMT):
Hi @gregdhill and @Kvykv , I run the following commands to start burrow node but receiving different errors: I think i didn't get the right step to configure and start burrow nodes. Can you tell me the steps i have to go through from configuring to running Burrow node? I read the documentation. But it is confusing.

Jemal (Wed, 11 Mar 2020 10:07:02 GMT):

Clipboard - March 11, 2020 9:06 PM

Jemal (Wed, 11 Mar 2020 10:07:29 GMT):

Clipboard - March 11, 2020 9:07 PM

gregdhill (Fri, 13 Mar 2020 10:41:16 GMT):
This might be a windows specific issue, Burrow is complaining that your keys do not have the correct permissions.

gregdhill (Fri, 13 Mar 2020 10:41:18 GMT):
See: https://github.com/hyperledger/burrow/blob/master/keys/key_store.go#L336

gregdhill (Fri, 13 Mar 2020 10:42:46 GMT):
The easiest fix would be to add the following to each config generated by `burrow configure`:

gregdhill (Fri, 13 Mar 2020 10:42:51 GMT):
``` [Keys] GRPCServiceEnabled = false AllowBadFilePermissions = true ```

gregdhill (Fri, 13 Mar 2020 10:42:51 GMT):
``` [Keys] AllowBadFilePermissions = true ```

Jemal (Sun, 15 Mar 2020 05:35:46 GMT):
@gregdhill thank you. I have another question related to web3j. I am using web3j to listen for new Blocks as they are created. The network creates blocks every 2 seconds. I can see that the listener receives and prints new block every 2 seconds most of the time. However, sometimes it arrives late like after 15 seconds. Am i missing something? Here is the code i am using: public void listenForNewBlocks(){ subscription = (Subscription) web3j.blockFlowable(false).subscribe(block -> { size++; CustomBlock customBlock = new CustomBlock(block.getBlock(), System.currentTimeMillis()); blockList.put(customBlock.block.getNumber(), customBlock); System.out.println("Block Number: "+customBlock.block.getNumber()+" Time Received: "+customBlock.timeReceived); }); }

Jemal (Sun, 15 Mar 2020 05:35:46 GMT):
@gregdhill thank you. I have another question related to web3j. I am using web3j to listen for new Blocks as they are created. The network creates blocks every 2 seconds. I can see that the listener receives and prints new block every 2 seconds most of the time. However, sometimes it arrives late like after 15 seconds. Am i missing something? Here is the code i am using:

Jemal (Sun, 15 Mar 2020 05:36:08 GMT):
public void listenForNewBlocks(){ subscription = (Subscription) web3j.blockFlowable(false).subscribe(block -> { size++; CustomBlock customBlock = new CustomBlock(block.getBlock(), System.currentTimeMillis()); blockList.put(customBlock.block.getNumber(), customBlock); System.out.println("Block Number: "+customBlock.block.getNumber()+" Time Received: "+customBlock.timeReceived); }); }

evg.bondareva (Tue, 07 Apr 2020 15:40:30 GMT):
Has joined the channel.

ChristopheLeske (Sun, 12 Apr 2020 11:34:22 GMT):
Has joined the channel.

ChristopheLeske (Sun, 12 Apr 2020 11:34:22 GMT):
Hello. I am a develper new to HL Burrow. Having worked with Fabric before, I was wondering if there is any comparable tool like HL Explorer to view the blockchain working in realtime and explore the data in the blocks?

ChristopheLeske (Sun, 12 Apr 2020 11:35:01 GMT):
Any help is much appreciated, thank you.

gregdhill (Mon, 13 Apr 2020 09:09:26 GMT):
Could you take a look at the output from our RPC and compare the timestamps in the block headers? i.e. `curl -s "http://localhost:26658/blocks?id=1"`

gregdhill (Mon, 13 Apr 2020 09:10:29 GMT):
There is nothing tailor-made, but we are compatible with most Ethereum tooling, see: https://hyperledger.github.io/burrow/#/reference/web3?id=blockscout

seanyoung (Mon, 13 Apr 2020 11:50:36 GMT):
Turns out that burrow isn't following the ewasm spec correctly. I had to make a similar change in solang: https://github.com/hyperledger-labs/solang/commit/00aa928882ac673f6d7ffd53ca855887e702598b

seanyoung (Mon, 13 Apr 2020 11:51:14 GMT):
I'll fix up burrow once I finish create contract and call external contract, so I can test all of them in one go.

techbubble (Tue, 14 Apr 2020 01:40:30 GMT):
Has joined the channel.

techbubble (Tue, 14 Apr 2020 01:48:05 GMT):
Hi! My startup TryCrypto has a SaaS product DappStarter which makes blockchain app development easy, especially for web developers. Our platform is blockchain agnostic and I am here because we are exploring adding Burrow as a supported blockchain on DappStarter. We are partnered with Truffle for framework and Sia for decentralized storage. Excited to join the Burrow community. https://dappstarter.trycrypto.com

compleatang (Tue, 21 Apr 2020 21:00:19 GMT):
Welcome!

ombalakumar (Tue, 19 May 2020 06:47:01 GMT):
Has joined the channel.

nizarhmain (Tue, 26 May 2020 15:29:39 GMT):
Has joined the channel.

nbasker (Sat, 06 Jun 2020 02:58:18 GMT):
Has joined the channel.

AshishBanerjee (Sat, 06 Jun 2020 14:05:42 GMT):
Has joined the channel.

AshishBanerjee (Sat, 06 Jun 2020 14:10:44 GMT):
Hi! groking the code, it appears to me that SSL/TLS is not being used in GRPC service. Is there any document I need to readup for TLS setup? Neither did I find any message level enryption. Am I missing something?

AshishBanerjee (Sat, 06 Jun 2020 14:46:32 GMT):
Burrow uses tendermint for consensus, which in turn, uses STS https://github.com/tendermint/tendermint/blob/0.1/docs/sts-final.pdf (tendermint/p2p/conn/secret_connection.go) , thus the nodes would not be needing TLS. As for Burrow RPC not using TLS, it would be the case if the assumption is that these RPC will be node local and not exposed to the external world. IS The above assumption correct??

Robki96 (Mon, 08 Jun 2020 08:51:53 GMT):
Has joined the channel.

Robki96 (Mon, 08 Jun 2020 08:51:53 GMT):
Hello, I'm trying to enable Web3 on a fresh install of version 0.30.4. I can't get it to work. I added this to the burrow.toml config `[RPC.Web3] Enabled = true ListenHost = "0.0.0.O" ListenPort = "26660"` But it doesn't seem to start enable web3. Whats the correct method for enabling web3?

Robki96 (Mon, 08 Jun 2020 08:51:53 GMT):
Hello, I'm trying to enable Web3 on a fresh install of version 0.30.4. I can't get it to work. I added this to the burrow.toml config `[RPC.Web3] Enabled = true ListenHost = "0.0.0.0" ListenPort = "26660"` But it doesn't seem to start enable web3. Whats the correct method for enabling web3?

gregdhill (Fri, 12 Jun 2020 12:41:20 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=ToSng3r3vYEswGWvT) @AshishBanerjee Unfortunately there TLS is not configurable on our RPC, however we do intend for this to be implemented. If you have time to look into this we would appreciate a PR to include this! Feel free to ping me if I can help you to get started. 🙂

gregdhill (Fri, 12 Jun 2020 12:41:20 GMT):
@AshishBanerjee Unfortunately TLS is not configurable on our RPC, however we do intend for this to be implemented. If you have time to look into this we would appreciate a PR to include this! Feel free to ping me if I can help you to get started. 🙂

AshishBanerjee (Sat, 13 Jun 2020 12:32:05 GMT):
Thanks @gregdhill , have sent you a DM, asking for advice.

gregdhill (Sat, 13 Jun 2020 15:47:48 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=SKiwc4K4NLwAPMK2a) @Robki96 Sorry to hear you're having problems! Have you been able to `curl` the endpoint?

Skalibur001 (Tue, 23 Jun 2020 02:50:48 GMT):
Has joined the channel.

Pham_Van_Chung (Wed, 24 Jun 2020 04:53:54 GMT):
Has joined the channel.

vikiival (Mon, 29 Jun 2020 11:48:57 GMT):
Has joined the channel.

Rabax55 (Tue, 07 Jul 2020 00:11:48 GMT):
Has joined the channel.

githubckgoh1439 (Mon, 20 Jul 2020 03:18:19 GMT):
Has joined the channel.

shehand (Tue, 21 Jul 2020 16:50:32 GMT):
Has joined the channel.

shehand (Wed, 22 Jul 2020 14:59:26 GMT):
Hi, I'm new to hyperledger projects and burrow. So I started reading the docs but seems like the examples for basic JS API (https://hyperledger.github.io/burrow/#/example/basic-app/README) is missing some file. When I tried to read the files like "makefile", "burrow.js", it redirect me to a broken URL. Is there any other way to continue on this JS API other than the provided document?

nitinrawat_2 (Sat, 25 Jul 2020 12:11:15 GMT):
Has joined the channel.

nitinrawat_2 (Sat, 25 Jul 2020 12:11:15 GMT):
Hi Everyone facing issue while downloading hyperledger fabric binaries always some binaries stuck in downloading status in windows.

vkvaibhav669 (Sun, 26 Jul 2020 14:54:26 GMT):
Has joined the channel.

kennystone (Fri, 31 Jul 2020 19:25:56 GMT):
Has joined the channel.

kennystone (Fri, 31 Jul 2020 19:25:56 GMT):
a very basic question: where is the code referenced in the basic app?https://hyperledger.github.io/burrow/#/example/basic-app/README

kennystone (Fri, 31 Jul 2020 19:36:48 GMT):
ok, I found it. Since the docs live on the web, maybe we could reference where the code lives? Or make the first step to checkout the entire burrow source tree, then CD into docs/example/basic-app

kennystone (Sat, 01 Aug 2020 20:42:05 GMT):
I had some issues too. The online docs don't work very well, but I was able to get it to work just from that project directory.

kennystone (Sun, 02 Aug 2020 16:40:47 GMT):
I made a small PR to update the readme, since two of us got stuck reading the online docs in the same way. https://github.com/hyperledger/burrow/pull/1400

kennystone (Sun, 02 Aug 2020 16:41:29 GMT):
Not sure how the online docs work, but perhaps the whole thing should be updated so it functions better both online and inside the repository.

kennystone (Sun, 02 Aug 2020 16:43:18 GMT):
Happy to make those changes in this branch with some guidance

kennystone (Sun, 02 Aug 2020 17:47:22 GMT):
I deleted the request because I saw you ask people to make changes off of `develop` branch, but I don't see that branch.

seanyoung (Sun, 02 Aug 2020 21:01:40 GMT):
@kennystone we used to have a develop branch, that got deleted. New work goes into master.

seanyoung (Sun, 02 Aug 2020 21:01:59 GMT):
So I think your PR was correct

mslavitch (Tue, 04 Aug 2020 13:05:11 GMT):
Hello, I get the following error on a blockchain pull request: Error 1: generic error: cannot grow memory because it would exceed the current maximum limit of 16777216 bytes Is there a way around this, to set the maximumMemoryCapacity larger than defaultMaximumMemoryCapacity which is 16MB?

SuperSeiyan (Sun, 09 Aug 2020 15:20:42 GMT):
Has joined the channel.

weeaix (Fri, 14 Aug 2020 08:45:07 GMT):
Has joined the channel.

AndrewPark 1 (Fri, 21 Aug 2020 04:55:45 GMT):
Has joined the channel.

AndrewPark 1 (Fri, 21 Aug 2020 04:59:04 GMT):
Is burrow stopped? There is no communication in this channel, and code is not updated in github for a long time. Is there any problem?

jcldnatv (Sat, 22 Aug 2020 17:28:50 GMT):
Has joined the channel.

igor-egorov (Tue, 25 Aug 2020 14:07:49 GMT):
Has left the channel.

xachen (Thu, 27 Aug 2020 01:49:35 GMT):
Has joined the channel.

MurugesanRathinam (Wed, 09 Sep 2020 11:14:33 GMT):
Has joined the channel.

MurugesanRathinam (Wed, 09 Sep 2020 11:14:33 GMT):
Hi all

MurugesanRathinam (Wed, 09 Sep 2020 11:14:56 GMT):
i am exploring hyperledger burrow vent

MurugesanRathinam (Wed, 09 Sep 2020 11:15:28 GMT):
i can able to bring up vent services

MurugesanRathinam (Wed, 09 Sep 2020 11:16:04 GMT):
kindly help me to write projections for smartcontract events

MurugesanRathinam (Wed, 09 Sep 2020 11:16:22 GMT):
i am using simplestorage.sol contract

MurugesanRathinam (Wed, 09 Sep 2020 11:24:00 GMT):
Hi Seanyoung

seanyoung (Wed, 09 Sep 2020 11:24:16 GMT):
Hello

MurugesanRathinam (Wed, 09 Sep 2020 11:26:21 GMT):
i just exploring vent functionality with simplestorage contract. in which when am storing some values via smartcontract same should be stored in postgres aswell

MurugesanRathinam (Wed, 09 Sep 2020 11:26:45 GMT):
Kindly help me to achieve this.

MurugesanRathinam (Wed, 09 Sep 2020 11:27:21 GMT):
i just exploring vent functionality with simplestorage contract. in which when am storing some values via smartcontract same should be stored in postgres aswell Kindly help me to achieve this.

MurugesanRathinam (Wed, 09 Sep 2020 11:29:05 GMT):
Hello

seanyoung (Wed, 09 Sep 2020 12:21:09 GMT):
That's exactly what vent is for. In Solidity, you have to emit events to get vent to pick them up and send them to postgres. vent will needs some definitions of tables and filters to make this work.

seanyoung (Wed, 09 Sep 2020 12:21:46 GMT):
This page explains how to set this up https://hyperledger.github.io/burrow/#/reference/vent

MurugesanRathinam (Wed, 09 Sep 2020 12:31:07 GMT):
Thank you

arsulegai (Sun, 27 Sep 2020 12:07:05 GMT):
Hello Burrow community from the Hyperledger India Chapter, we are calling for speakers to engage with the community in Asia Pacific, Europe and Africa. Please see our event details here https://www.linkedin.com/feed/update/urn:li:activity:6715897303481372672 Calling the tech enthusiasts, maintainers to be part of it.

dgt1nsty (Fri, 02 Oct 2020 13:43:42 GMT):
Has joined the channel.

Sandeepk40 (Wed, 07 Oct 2020 04:28:05 GMT):
Has joined the channel.

baziorek (Wed, 04 Nov 2020 17:48:37 GMT):
Has joined the channel.

baziorek (Wed, 04 Nov 2020 17:50:56 GMT):
Hello, I'm new in Burrow and I want to know if there are any more triggers than listed here: https://hyperledger.github.io/burrow/#/reference/transactions I'm looking for time triggers - it is possible to trigger something e.g. every day at 8 p.m.?

evanevan (Wed, 11 Nov 2020 08:17:09 GMT):
Has joined the channel.

evanevan (Wed, 11 Nov 2020 08:17:09 GMT):
Hellom

evanevan (Wed, 11 Nov 2020 08:17:09 GMT):
Hello, I am new in Burrow and I want to know how to install burrow on windows without VM?

evanevan (Wed, 11 Nov 2020 08:33:23 GMT):
Hi, I am new to burrow, and I want to install burrow on windows without VM. Could you please give me some tutorials? I can not even find a detailed documentation for installation online.

evanevan (Wed, 11 Nov 2020 08:38:11 GMT):
Hi, I am new to burrow and I want to install burrow on windows without VM. Could you please give me some tutorials? I can not even find any installation tutorials online:(

baziorek (Fri, 13 Nov 2020 17:36:10 GMT):
Hello, Is anybody here, is it official Hyperledger Burrow chat?

reviz0r (Mon, 16 Nov 2020 20:24:25 GMT):
Has joined the channel.

tegie (Fri, 20 Nov 2020 10:16:06 GMT):
Has joined the channel.

tegie (Fri, 20 Nov 2020 10:16:06 GMT):
Hello, quick question where I can find password for generated keyfiles for accounts/validators?

seanyoung (Tue, 24 Nov 2020 08:27:56 GMT):
@tegie keyfiles don't have passwords, they're in the plain

seanyoung (Tue, 24 Nov 2020 08:30:29 GMT):
@evanevan burrow is written in pure go, so it should compile fine on windows. However, it hasn't been tested. Patches and bug reports are welcome of course

seanyoung (Tue, 24 Nov 2020 08:31:03 GMT):
@baziorek unfortunately all the burrow maintainer are busy on other work, but some will be returning soon.

seanyoung (Tue, 24 Nov 2020 08:32:45 GMT):
@baziorek time triggers is something we have wanted for a long time, but they don't exist yet. Patches are welcome :)

bassirpechaz (Tue, 24 Nov 2020 08:55:09 GMT):
Has joined the channel.

piyushmaheshwari65 (Wed, 25 Nov 2020 04:19:27 GMT):
Has joined the channel.

baziorek (Fri, 04 Dec 2020 12:05:59 GMT):
@seanyoung Thanks for Your reply. I need to check code before declaring help. But it is good to know that You want this functionality:)

pedrorpmoleiro (Wed, 09 Dec 2020 11:29:27 GMT):
Has joined the channel.

thomasdesouza (Fri, 11 Dec 2020 15:15:42 GMT):
Has joined the channel.

thomasdesouza (Fri, 11 Dec 2020 15:17:58 GMT):
Hi everyone, would anyone be able to tell me if there is a burrow is switched on in the latest docker image on docker hub and if not what would be the easiest way to get access to a pre-build docker image or build one myself - thanks

YoongbokLee (Fri, 11 Dec 2020 19:19:00 GMT):
Has joined the channel.

YoongbokLee (Fri, 11 Dec 2020 19:25:04 GMT):
Hi, I'm one of the developers at CertiK chain and am wondering if I can get any assistance regarding any of the following: 1. eWASM support (PR #1406) 2. modularizing VM portion of the code (for us to fork/participate in the development)

ivarec (Thu, 14 Jan 2021 01:56:04 GMT):
Has joined the channel.

ivarec (Thu, 14 Jan 2021 01:56:05 GMT):
is burrow still maintained?

garyclark (Thu, 14 Jan 2021 22:22:15 GMT):
Has joined the channel.

garyclark (Thu, 14 Jan 2021 22:22:48 GMT):
Not sure it seems very uncooked.

garyclark (Thu, 14 Jan 2021 22:27:48 GMT):
Hello I have been working with Hyperledger Fabric. Does anyone have experience of Hyperledger Burrow? I have to go down this rabbit hole,,,.excuse the pun.

garyclark (Thu, 14 Jan 2021 22:28:20 GMT):
Hello I have been working with Hyperledger Fabric. Does anyone have experience of Hyperledger Burrow? I have to go down this rabbit hole,,,.excuse the pun.

garyclark (Thu, 14 Jan 2021 22:28:42 GMT):
Is it still maintained or this uncooked?

silasdavis (Mon, 18 Jan 2021 10:56:15 GMT):
Hello, burrow is still maintained

silasdavis (Mon, 18 Jan 2021 10:56:38 GMT):
I have had something of a hiatus working on our product built on top of burrow

silasdavis (Mon, 18 Jan 2021 10:57:24 GMT):
I have just started a tranche of work on burrow a week or so ago to upgrade Tendermint

silasdavis (Mon, 18 Jan 2021 11:01:07 GMT):
However I have ended up in a bit of a rabbit hole working on protobuf code generation which we rely on from gogo proto but which is now incompatible: https://github.com/monax/peptide

silasdavis (Mon, 18 Jan 2021 11:02:21 GMT):
I plan to merge, rework, or close the current PRs, upgrade Tendermint, fix some CI issues, fix a couple of concurrency issues, and finally hook up cross EVM Wasm calls

nikolay (Mon, 18 Jan 2021 11:13:46 GMT):
Hi Silas, Thank you for the update, really appreciated!

ivarec (Mon, 18 Jan 2021 16:36:22 GMT):
congrats! the scope and vision of burrow seems really attractive to my company - will look forward into it further

silasdavis (Mon, 18 Jan 2021 19:58:38 GMT):
Thanks both, @ivarec is this you: https://github.com/hyperledger/burrow/pull/1415 ?

silasdavis (Mon, 18 Jan 2021 19:58:38 GMT):
Thanks both, @ivarec is this you @ivarec: https://github.com/hyperledger/burrow/pull/1415 ? If so thank you!

silasdavis (Mon, 18 Jan 2021 19:59:05 GMT):
I apologise for the state of the CI I think it's via an eternal python dependency

silasdavis (Mon, 18 Jan 2021 19:59:05 GMT):
I apologise for the state of the CI I think it's via an external python dependency

silasdavis (Mon, 18 Jan 2021 19:59:40 GMT):
it's on my list to fix that but I find myself mired in this: https://github.com/xen0n/protobuf-gogogo/issues/1

silasdavis (Mon, 18 Jan 2021 19:59:45 GMT):
please bear with me

barankilic (Sat, 30 Jan 2021 10:49:12 GMT):
Has joined the channel.

garyclark (Wed, 03 Feb 2021 16:24:42 GMT):
Thanks Silas.

seanyoung (Thu, 04 Feb 2021 15:48:28 GMT):
@YoongbokLee we've just merged some more ewasm support. There still a few function missing, but it's mostly there.

annant (Wed, 10 Feb 2021 11:22:34 GMT):
Has joined the channel.

annant (Wed, 10 Feb 2021 11:22:34 GMT):
Hi team, I am working with DAML smart contract that is using Immudb (cryptographically verfiable database) as ledger. I want to replace DAML with Burrow so that it can support solidity and in-contract sign verification. I am qurious to kow if it is possible to integrate Burrow with immudb (verifiable database) i.e can we use different ledger as a plugin? Can we run burrow as an independent network?

seanyoung (Wed, 10 Feb 2021 12:54:35 GMT):
@annant what would you like to use immudb for? Storing solidity contract storage variables? Also what do you mean by in-contract sign verification? Are you thinking of `ecrcover()`? Note that ewasm support is nearing completion, and then with solang we can add any function you need to Solidity.

annant (Wed, 10 Feb 2021 14:07:58 GMT):
#seanyoung immudb will basically store all the data for a contract...contract will automate the process and data will be stored in the immudb. So that it can be verified by anyone as it is cryptographically verfiable. Is it possible to integrate immudb with burrow? In my project all the users are not given authoriy to write on contract. It is written by their onwer on contract, We are thinking the end owner will encrypt and sign the data and send it to its owner and the owner will write the data in contract. Contract(will be written in solidity) will verfiy the signature of the enduser using its public key and then modify accordingly. We are doing in-contract sign verification to make sure that data has not been tempered. Is integration with immudb possible or we can go for inbuild burrow ledger. Thanx in advance

seanyoung (Fri, 12 Feb 2021 16:58:17 GMT):
@annat what's the advantage of using immudb? burrow already uses a merkel tree for state, and the hash of this is present in each block. So, it is already cryptographically verifiable. Having said that, you can replace the state database in burrow. This will require some surgery in the code though.

seanyoung (Fri, 12 Feb 2021 16:58:39 GMT):
The hash is the application state in each block.

anandls (Mon, 22 Feb 2021 11:47:46 GMT):
Has joined the channel.

anandls (Mon, 22 Feb 2021 11:47:47 GMT):
New to Burrow. Exploring slowly, learning and trying to get old of it. Will approach the fraternity for any help needed. Thanks and cheers.

anandls (Mon, 22 Feb 2021 11:47:47 GMT):
New to Burrow. Exploring slowly, learning and trying to get hold of it. Will approach the fraternity for any help needed. Thanks and cheers.

baziorek (Thu, 04 Mar 2021 18:59:14 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=efT4gRWhbBw32cfkq) What about adding this as internship project? Deadline is 8th March for proposals?

seanyoung (Fri, 05 Mar 2021 09:23:52 GMT):
That's a good idea, I have already submitted an internship for Solang, so I won't have time for this. Maybe something for @silasdavis or @gregdhill

baziorek (Tue, 09 Mar 2021 13:18:18 GMT):
Deadline is 10th March if You or somebody wants to send: https://wiki.hyperledger.org/display/INTERN/Hyperledger+Mentorship+Program

JonatanBuild (Tue, 09 Mar 2021 13:50:42 GMT):
Has joined the channel.

pritam_01 (Sun, 14 Mar 2021 19:15:31 GMT):
Has joined the channel.

KLYE (Wed, 17 Mar 2021 12:10:21 GMT):
Has joined the channel.

mrtender (Mon, 22 Mar 2021 01:28:32 GMT):
Has joined the channel.

mrtender (Mon, 22 Mar 2021 01:28:33 GMT):
Hey everyone. We have built an application on Hyperledger Sawtooth (checkout www.forestcoin.earth - a cryptocurrency where the coins are created by users planting trees). We want to enable EVMs ontop of the Forestcoin cryptocurrency. It looks like Burrow / SETH is the framework for doing this? Is SETH working ok? Is anyone aware of active projects with EVM's on Sawtooth? Any tips before I get my development team onto it? Thanks!

arpitsoman (Wed, 24 Mar 2021 07:48:29 GMT):
Has joined the channel.

seanyoung (Wed, 24 Mar 2021 08:54:13 GMT):
@mrtender #sawtooth-seth might be a better place to ask

nikolay (Fri, 26 Mar 2021 16:42:27 GMT):
Hello, I am trying to upgrade to latest release, I was using quite old version and have some tests with providing permissions from within a contract. Now these tests are failing and I am having hard time catching up with all the changes, so maybe someone can give me a hint. The error is "UpdateAccount called in a read-only context on account ....". I can see there is a ReadOnly option which checks for this error, but I had no issues using the Native Permissions Contract SetBase before and the stack trace leads to: execution/native/permissions.go: 129

nikolay (Fri, 26 Mar 2021 16:42:27 GMT):
Hello, I am trying to upgrade to latest release. I was using quite old version and have some tests with providing permissions from within a contract. Now these tests are failing and I am having hard time catching up with all the changes, so maybe someone can give me a hint. The error is "UpdateAccount called in a read-only context on account ....". I can see there is a ReadOnly option which checks for this error, but I had no issues using the Native Permissions Contract SetBase before and the stacktrace leads to: execution/native/permissions.go: 129

nikolay (Fri, 26 Mar 2021 16:43:29 GMT):
does that mean that I can't update permissions from a contract anymore, I need to pass a new parameter which I can't find or I need to file a bug or fix it myself and propose a purr request... any ideas are welcome here

nikolay (Fri, 26 Mar 2021 16:43:29 GMT):
does this mean that I can't update permissions from a contract anymore, I need to pass a new parameter which I can't find or I need to file a bug or fix it myself and propose a purr request... any ideas are welcome here

nikolay (Fri, 26 Mar 2021 16:43:29 GMT):
does this mean that I can't update permissions from a contract anymore, I need to pass a new parameter which I can't find or I need to file a bug or fix it myself and propose a pull request...? any ideas are welcome here

KLYE (Wed, 31 Mar 2021 00:59:50 GMT):
You likely can.. just need to run the contract from the root account

betbeb.com (Thu, 01 Apr 2021 07:41:45 GMT):
Has joined the channel.

betbeb.com (Thu, 01 Apr 2021 07:41:46 GMT):
hello everyone! I have a question for you https://github.com/hyperledger/burrow/issues/1476

nikolay (Thu, 01 Apr 2021 22:29:42 GMT):
FYI in the error that I have reported above I had a wrong permissions interface which was producing a STATICCALL, leading to the proper error that I have reported. I have recompiled with the right interface and everything works like a charm.

silasdavis (Tue, 06 Apr 2021 16:09:28 GMT):
ah great @nikolay

silasdavis (Tue, 06 Apr 2021 16:18:43 GMT):
@betbeb.com I'd like to be nice about this, but that issue is more of a stream-of-conciousness than a bug report. There is neither enough information to understand exactly what you have done or any reproduction. For interactive debugging sessions chat is a much better option but bear in mind we all have full-time jobs and limited times so you really need to isolate things better if we are going to be able to help. Ideally provide a test case as part of working project that can be run with a single command, say what you expected, say what you got, explain why this is likely to be a problem with Burrow. I can see it would be useful if we had a test case/example running against metamask, if this is something you would like to contribute then that would be great. Perhaps you could distil what you are trying to do into a minimal node js app against metamask that I could run. The easier that is for me to convert to example code to help others the more likely I am to allocate time to it. Also please do not email me directly personally when making issues - I am aware of issues and look at them when I have time.

VijayMichalik (Tue, 06 Apr 2021 17:39:47 GMT):
Has left the channel.

betbeb.com (Wed, 07 Apr 2021 02:14:49 GMT):
Thank you for your reply. I mainly want to know how burrow can use Web3 to interact with contracts or transfer money At present, my instance test query is OK, but the signature transaction can't be carried out, so I'm worried. Is there any interactive application

nkl199 (Thu, 08 Apr 2021 16:18:29 GMT):
Has left the channel.

ivarec (Sat, 10 Apr 2021 17:53:38 GMT):
hey there! I'm playing with burrow for the first time and I have some doubts. I'm unable to run "burrow explore blocks". I get the following error: `could not create BlockExplorer: %!w(*fmt.wrapError=&{could not create BlockExplorer: failed to initialize database: resource temporarily unavailable 0xc0012389a0})` From what I could understand from the docs and code, burrow will get block data from tmdb. It seems that the default tmdb backend in my system is not available for some reason, but I can't find where and how to control my default backend db or how to debug this further. Could someone guide me? Tks a lot!!

ivarec (Sat, 10 Apr 2021 19:05:23 GMT):
ah, it must be some kind of lock from burrow start: if I shutdown burrow's server and run `burrow explore blocks`, it works - could someone provide some details about burrow <-> tmdb relationship?

jscode017 (Tue, 27 Apr 2021 14:23:47 GMT):
Has joined the channel.

charith1994 (Sat, 15 May 2021 17:03:41 GMT):
Has joined the channel.

jscode017 (Wed, 19 May 2021 09:31:31 GMT):
Hi does anyone has experience of using typescript and library dockerode to set a up running burrow container?

PixieKing (Wed, 19 May 2021 22:57:43 GMT):
Has joined the channel.

PixieKing (Wed, 19 May 2021 22:57:43 GMT):
Hi all. Apologies for using this channel to find prospective talent. I am the founder of Damascus Mile, and am looking out for folk who might have an interest in joining our team, later on in July, to help us build out a logistics platform using Burrow. It includes building a module for integrating Galileo satellite constellation GNSS signals into the blockchain records for a proof-of-location. We're funded by UK Cabinet Office. I've discussed the project with Silas, who has provided further validation of our choice of HL Project. See video that explains what we're up to: https://youtu.be/siBFd0cORwo Please PM me if you can help.

silasdavis (Fri, 21 May 2021 11:40:26 GMT):
@PixieKing you are welcome to ask here, but you might also want to post a job listing here: https://www.hyperledger.org/about/jobs/submit-job

pritam_01 (Mon, 24 May 2021 03:31:29 GMT):
Has left the channel.

gut (Mon, 24 May 2021 06:31:51 GMT):
Has left the channel.

rafik_naccache (Sun, 06 Jun 2021 11:11:00 GMT):
Has joined the channel.

rafik_naccache (Sun, 06 Jun 2021 11:11:01 GMT):
Hello guys, I am a noob but I am willing to implement burrow as a wallets platform for a huge marketplace here in Tunisia

rafik_naccache (Sun, 06 Jun 2021 11:11:06 GMT):
Though My question is simple:

rafik_naccache (Sun, 06 Jun 2021 11:11:34 GMT):
To access to a burrow env through web3 from a metamask client, I can't manage to find the chain ID

rafik_naccache (Sun, 06 Jun 2021 11:11:47 GMT):
although I queried the info interface...

rafik_naccache (Sun, 06 Jun 2021 11:11:54 GMT):
How can I set it or check for it ?

rafik_naccache (Sun, 06 Jun 2021 11:11:55 GMT):
thanks :)

iamsdas (Wed, 09 Jun 2021 20:01:15 GMT):
Has joined the channel.

rakagunarto (Fri, 11 Jun 2021 14:52:15 GMT):
Has joined the channel.

rakagunarto (Fri, 11 Jun 2021 14:52:16 GMT):
Anyone here on?

rakagunarto (Fri, 11 Jun 2021 14:52:25 GMT):
I've got a few questions about accounts on burrow

seanyoung (Fri, 11 Jun 2021 16:50:13 GMT):
Sure, go ahead

hackerunet (Sat, 17 Jul 2021 01:57:44 GMT):
Has joined the channel.

hackerunet (Sat, 17 Jul 2021 01:57:45 GMT):
I have a huge amount of questions regarding burrow solutions and its capabilities to provide smart contracts for a public voting system with smart contracts gobernability

hackerunet (Sat, 17 Jul 2021 02:01:27 GMT):
1) Is possible to integrate burrow with indy decentralized identification blockchain? 2) Is burrow the right tool to create a voting system that uses no gas cost at all? 3) Can a smart contract be designed to allow a user that has an identification record in indi blockchain to execute certain smart contract? 4) Can I assign execution permissions to an identities hosted in indi, to execute certain smart contract?

hackerunet (Sat, 17 Jul 2021 02:02:20 GMT):
Am i making non sense questions at all and need to study a lot more?

hackerunet (Sat, 17 Jul 2021 13:46:08 GMT):
is this chat alive?

seanyoung (Sun, 18 Jul 2021 09:36:16 GMT):
@hackerunet @silasdavis is the one the answer that

seanyoung (Sun, 18 Jul 2021 09:36:16 GMT):
@hackerunet @silasdavis is the one that can answer that

hackerunet (Sun, 18 Jul 2021 18:26:13 GMT):
@silasdavis I would appreciate your help :)

silasdavis (Mon, 19 Jul 2021 07:42:48 GMT):
[ ](https://chat.hyperledger.org/channel/burrow?msg=J7ox6YZqFWqs6MELB) 1) It depends what you mean by integrate. You can use Decentralised Identifiers (DIDs) in smart contracts the same way you could use them in any other software. Take a look at: https://github.com/uport-project/ethr-did-registry/blob/develop/contracts/EthereumDIDRegistry.sol which is not Indy but implements a registry in solidity, resolver: https://github.com/decentralized-identity/ethr-did-resolver 2) We currently do not charge gas (though we do set a limit to bound computation) so yes, but typically people are worried about gas on Ethereum because it costs real money. You can distributed tokens/charges as you see fit on a Burrow network, so there needn't be any practical scarcity if you prefer 3) A smart contract cannot itself make an 'external call' to another services, whether that is an API or another blockchain. You can certainly integrate them either with some middleware running as a service or via a client/user-agent that talks to both Burrow and an Indy chain. This would be the case with most (all?) other chains though. 4) Again I think the answer is 'yes' but I wonder from your questions if you are asking for some specific support of Indy in Burrow - there is no specific support, but our ed25519 keys that sign transactions are naturally DIDs so there should be a good level of inherent compatibility with Indy's identity model and Burrow accounts - which are the same concept as Ethereum accounts.

hackerunet (Mon, 19 Jul 2021 13:25:48 GMT):
wow @silasdavis amazing... is really everything i was looking for. may thanks... I'll study a bit more from this point so I first design the general architecture and then, maybe I'll make some other questions. thanks a lot @seanyoung for pointing to the right direction.

hackerunet (Mon, 19 Jul 2021 13:25:48 GMT):
wow @silasdavis amazing... is really everything i was looking for. many thanks... I'll study a bit more from this point so I first design the general architecture and then, maybe I'll make some other questions. thanks a lot @seanyoung for pointing to the right direction.

hackerunet (Mon, 19 Jul 2021 13:39:38 GMT):
@silasdavis about the 3th question, I'm worried about the legitymation of the operations, the blockchain is public, the smart contracts also are,. but not sure if you can safely store data without being compromized, let's say, I create another operation in the blockchain that indicates an external service that needs to validate this operation in order to run itself, like an observable of blockchain transactions, so, if a different kind of transaction is created it means it was validated by all nodes so, the other program is sure it has to run and no one else forced the operation to run... maybe that way we can make sure a 3rth party service is running due to a legitimate blockchain transaction.

hackerunet (Mon, 19 Jul 2021 13:40:30 GMT):
middlewares, I think is not the right approach because I will still need to validate the authenticity of the requester which has to be the blockchain itself.

ApoorvSingal (Sun, 15 Aug 2021 17:35:01 GMT):
Has joined the channel.

ApoorvSingal (Sun, 15 Aug 2021 17:35:03 GMT):
Hii! I'm new to burrow. I was working with burrow.js but the examples in the documentation don't seem to work. The methods in `IQueryClient` and `IQueryClient` take a class parameter as `request` but the constructors aren't exported at all and apparently there's no way to initialize request objects to pass to those methods as far as I have understood so far. Is there anything I am missing here? Really appreciate some help, thanks!

ApoorvSingal (Sun, 15 Aug 2021 17:35:03 GMT):
Hii! I'm new to burrow. I was working with burrow.js but the examples in the documentation don't seem to work. The methods in `IQueryClient` and `IQueryClient` take a class instance parameter as `request` but the constructors aren't exported at all and apparently there's no way to initialize request objects to pass to those methods as far as I have understood so far. Is there anything I am missing here? Really appreciate some help, thanks!

silasdavis (Thu, 26 Aug 2021 15:42:23 GMT):
@ApoorvSingal if you take a look here: https://github.com/hyperledger/burrow/blob/6920af567489843bef4f515b126271915af2810c/js/src/client.ts#L116

silasdavis (Thu, 26 Aug 2021 15:42:38 GMT):
you can see a canonical use of the QueryClient

silasdavis (Thu, 26 Aug 2021 15:43:03 GMT):
the parameters are little GRPC generated objects, like `StatusParam()`

silasdavis (Thu, 26 Aug 2021 15:43:45 GMT):
The way to get hold of them is to import them from the proto package in the standard distribution (of burrow.js) instantiate an instance with `new`

silasdavis (Thu, 26 Aug 2021 15:43:49 GMT):
does that help?

sashankh (Fri, 27 Aug 2021 19:01:37 GMT):
Has joined the channel.

igorkrupczynski (Thu, 16 Sep 2021 10:05:20 GMT):
Has joined the channel.

AshishBanerjee (Tue, 21 Sep 2021 13:31:03 GMT):
@silasdavis Can secp256k1 reside alongside ed25519 on the same network? if yes, then can they participate in one smart contract, say ERC20 token transfer? Thanks in advance.

SamKrew (Wed, 22 Sep 2021 18:13:45 GMT):
Has joined the channel.

SamKrew (Wed, 22 Sep 2021 18:13:46 GMT):
Hello! Is there any way to automatic create accounts with some default permissions on web3 call? Right now i have errors like `Error 23: invalid address: CallTx to an address (44691B39D1A75DC4E0A0346CBB15E310E6ED1E86) that does not exist`

conanoc (Wed, 20 Oct 2021 10:41:18 GMT):
Has left the channel.

shemnon (Wed, 08 Dec 2021 17:29:39 GMT):
Hello Marmots. Do any of you have strong opinions on the chat platform Hyperledger uses? The TSC is re-examining the chat platform policy and is looking at issues reflected by this questionnaire - https://wiki.hyperledger.org/display/TF/Community+Chat+Interview+Questions.

shemnon (Wed, 08 Dec 2021 17:30:10 GMT):
It would be great to have your opinion represented!

shemnon (Wed, 08 Dec 2021 17:31:30 GMT):
One more thing: the TSC quarterly report is many weeks late. Are any maintainers working on it?

SeanBohan (Fri, 17 Dec 2021 19:58:13 GMT):
Has joined the channel.

FabienFF (Mon, 20 Dec 2021 18:38:39 GMT):
Has joined the channel.

FabienFF (Mon, 20 Dec 2021 18:38:40 GMT):
Hello, did someone used the docker image of burrow and managed to connect Metamask to it ? I'm trying to use the docker image and deploy some contracts on it but RPC endpoint 127.0.0.1:26660 isn't recognize by metamask...

baziorek (Mon, 10 Jan 2022 12:53:06 GMT):
Hello, I saw status of Burrow that it is dormant (https://wiki.hyperledger.org/display/burrow/Hyperledger+Burrow), so what would be future of the project? Will the development stop, or it is temporally?

bjwswangmail (Tue, 08 Feb 2022 03:32:45 GMT):
Has joined the channel.

rjones (Wed, 23 Mar 2022 17:35:04 GMT):

rjones (Wed, 23 Mar 2022 17:35:04 GMT):

rjones (Wed, 23 Mar 2022 17:35:04 GMT):