rjones (Mon, 08 May 2017 16:57:11 GMT):
amundson

amundson (Mon, 08 May 2017 16:57:43 GMT):
User User_1 added by amundson.

amundson (Mon, 08 May 2017 16:59:12 GMT):
User User_2 added by amundson.

amundson (Mon, 08 May 2017 17:01:17 GMT):
Sawtooth + Burrow Integration

sstone1 (Mon, 08 May 2017 17:03:17 GMT):
Has joined the channel.

amundson (Mon, 08 May 2017 17:08:00 GMT):
Initial PR of interest - https://github.com/hyperledger/sawtooth-core/pull/415

amundson (Mon, 08 May 2017 17:08:28 GMT):
User User_3 added by amundson.

amundson (Mon, 08 May 2017 17:08:43 GMT):
User User_4 added by amundson.

kelly_ (Mon, 08 May 2017 17:10:04 GMT):
Has joined the channel.

jsmitchell (Mon, 08 May 2017 17:16:04 GMT):
Has joined the channel.

boydjohnson (Mon, 08 May 2017 17:17:05 GMT):
Do we know/expect that the burrow transaction processor will be stateless? I saw some error handling code that referenced consensus. Does there need to be any interaction between consensus and the transaction processor?

amundson (Mon, 08 May 2017 17:21:38 GMT):
@boydjohnson this is a first cut. the purpose of this branch is to refine the API of Burrow's EVM as we go so that it is stateless and not integrated tightly with other burrow components. After we go through this exercise, what we learn will be used to update the Burrow itself (which lives int the hyperledger burrow repository).

boydjohnson (Mon, 08 May 2017 17:22:08 GMT):
Cool. Sounds good.

amundson (Mon, 08 May 2017 17:23:45 GMT):
The only reason I haven't merged this yet, is that there was an on-going discussion between @benjaminbollen and myself on whether we should move 'borrow' up a level so it's a the same height as sawtooth_burrow_evm, instead of under it.

amundson (Mon, 08 May 2017 17:24:15 GMT):
something like this: ```families/burrow_evm/src/burrow` `families/burrow_evm/src/burrow/evm` `families/burrow_evm/src/sawtooth_burrow_evm/handler```

amundson (Mon, 08 May 2017 17:24:15 GMT):
something like this:```families/burrow_evm/src/burrow` `families/burrow_evm/src/burrow/evm` `families/burrow_evm/src/sawtooth_burrow_evm/handler```

amundson (Mon, 08 May 2017 17:24:15 GMT):
something like this: ```families/burrow_evm/src/burrow` `families/burrow_evm/src/burrow/evm` `families/burrow_evm/src/sawtooth_burrow_evm/handler```

amundson (Mon, 08 May 2017 17:25:41 GMT):
that may make it more friendly with the plan to backport the changes to the burrow repo by keeping it at the namespace it will eventually have there

amundson (Mon, 08 May 2017 17:28:05 GMT):
started trying to list the items we need to accomplish here in an epic: https://jira.hyperledger.org/secure/RapidBoard.jspa?rapidView=3&projectKey=STL&view=planning.nodetail&selectedIssue=STL-108&epics=visible&selectedEpic=STL-106

amundson (Mon, 08 May 2017 17:28:33 GMT):
(I'm sure this will evolve as we learn more)

benjaminbollen (Mon, 08 May 2017 17:39:56 GMT):
hi! great, I was going to propose using #burrow to discuss this (as it s still quiet in there :) ), but thanks for this channel

benjaminbollen (Mon, 08 May 2017 17:40:25 GMT):
there is no on-going discussion, so much as that I need to make the commit

amundson (Mon, 08 May 2017 17:49:55 GMT):
@benjaminbollen ok, so I should continue to hold off on merging it for the moment right?

mfford (Mon, 08 May 2017 17:51:40 GMT):
Has joined the channel.

agunde (Mon, 08 May 2017 18:04:18 GMT):
Has joined the channel.

tkuhrt (Mon, 08 May 2017 18:15:47 GMT):
Has joined the channel.

abaumhof (Tue, 09 May 2017 04:23:15 GMT):
Has joined the channel.

PacoEcotrust (Tue, 09 May 2017 07:09:48 GMT):
Has joined the channel.

benjaminbollen (Tue, 09 May 2017 12:57:20 GMT):
let me push that now

benjaminbollen (Tue, 09 May 2017 13:52:23 GMT):
with now I meant one hour later, but it is pushed now

dennismckinnon (Tue, 09 May 2017 14:36:35 GMT):
Has joined the channel.

benjaminbollen (Tue, 09 May 2017 14:48:09 GMT):
ok. Im logged into to JIRA; thanks for sharing that board @amundson @amundson @adamludvik @boydjohnson please meet Tyler (@dennismckinnon), he has been our long standing smart contract guru (so normally deals with Solidity) but will help us here under the hood and has started reading up on sawtooth

benjaminbollen (Tue, 09 May 2017 14:48:09 GMT):
ok. Im logged into to JIRA; thanks for sharing that board @amundson @amundson @adamludvik @boydjohnson please meet Tyler ( @dennismckinnon ), he has been our long standing smart contract guru (so normally deals with Solidity) but will help us here under the hood and has started reading up on sawtooth

dennismckinnon (Tue, 09 May 2017 14:50:41 GMT):
Hi all!

dennismckinnon (Tue, 09 May 2017 14:51:14 GMT):
Been really enjoying working through your documentation and tutorials

Dan (Tue, 09 May 2017 15:13:45 GMT):
Has joined the channel.

amundson (Tue, 09 May 2017 15:44:29 GMT):
@dennismckinnon great to have you on the project!

amundson (Tue, 09 May 2017 15:45:02 GMT):
After we merge this PR, I'm considering merging master into the PR so it doesn't fall behind too much

boydjohnson (Tue, 09 May 2017 15:46:17 GMT):
Hey, @dennismckinnon.

boydjohnson (Tue, 09 May 2017 15:46:17 GMT):
Hey, @dennismckinnon

amundson (Tue, 09 May 2017 15:46:40 GMT):
sorry, I meant merge master into the feature branch, not the PR

amundson (Tue, 09 May 2017 17:48:08 GMT):
The PR has been merged

adamludvik (Tue, 09 May 2017 20:11:55 GMT):
Hello @dennismckinnon! Looking forward to working with you.

dennismckinnon (Tue, 09 May 2017 22:06:25 GMT):
Thanks I'm looking forward to working with all of you too! So far I love what you have put together I think you are really on the ball. The only suggestion so far is for allowing transaction processors to produce events and pipe those out somewhere.

dennismckinnon (Tue, 09 May 2017 22:06:55 GMT):
I was introducing a co-worker to sawtooth today and one question did come up

dennismckinnon (Tue, 09 May 2017 22:07:16 GMT):
why when running through the tutorial does there not seem to be blocks continuously produced

dennismckinnon (Tue, 09 May 2017 22:07:38 GMT):
Is it not using PoET?

boydjohnson (Tue, 09 May 2017 22:15:49 GMT):
I don't think our tutorials have examples of using PoET. I am not entirely sure, but I think that our validator won't publish blocks if not given batches, no matter the consensus algorithm.

dennismckinnon (Tue, 09 May 2017 22:58:14 GMT):
Really? That seems odd... If consensus like PoET uses largest elasped time to determine the correct fork don't you still need to create empty blocks for registering that time onto the correct chain? otherwise wouldn't it be super easy to overtake? Maybe that intuition is wrong. I have been focused mostly on the transaction processor side and not so much on the consensus side. It just seemed curious to me.

amundson (Wed, 10 May 2017 02:24:17 GMT):
Default consensus is devmode which won't publish an empty block.

amundson (Wed, 10 May 2017 02:25:46 GMT):
What would be some example events? Generic like log messages or with some structure?

amundson (Wed, 10 May 2017 02:26:44 GMT):
We are currently designing the stats system which might be similar.

dennismckinnon (Wed, 10 May 2017 12:34:36 GMT):
Well the evm and solidity allows for events to be triggered by the smart contract

dennismckinnon (Wed, 10 May 2017 12:35:31 GMT):
These are massively useful in many applications from notifying interested parties that something important has happened to triggering cache updates

dennismckinnon (Wed, 10 May 2017 12:37:39 GMT):
the solidity events structure is normally pretty simple containing some data about the block they occurred on and some other information that allows you to find the contract it came from along with some data you can attach from the contract

dennismckinnon (Wed, 10 May 2017 12:39:20 GMT):
@benjaminbollen probably could give more information about their current implementation

dennismckinnon (Wed, 10 May 2017 12:40:38 GMT):
I think they are pushed into the log right now

benjaminbollen (Wed, 10 May 2017 12:40:47 GMT):
from EVM, they would be both `LOG` opcode executions and errors that we d want to deal with (additionally trace messages from the EVM itself)

benjaminbollen (Wed, 10 May 2017 12:47:13 GMT):
from our side we re happy to reschedule a short introduction call today or soon; seems 8.30 CST fell through; let's try to organise that here @amundson @mfford @silasdavis @dennismckinnon @adamludvik @boydjohnson (and possibly others)

silasdavis (Wed, 10 May 2017 12:47:13 GMT):
Has joined the channel.

mfford (Wed, 10 May 2017 13:09:31 GMT):
It's actually 8:08am CST on our side, so we can still meet. If it is too late for you now, let me know what time can work?

silasdavis (Wed, 10 May 2017 13:16:33 GMT):
ah good job I read this was about to go for run, but I'll postpone, so works for me

benjaminbollen (Wed, 10 May 2017 13:16:46 GMT):
great!

silasdavis (Wed, 10 May 2017 13:16:47 GMT):
Seems like our slack has gone down

silasdavis (Wed, 10 May 2017 13:16:49 GMT):
?

silasdavis (Wed, 10 May 2017 13:16:54 GMT):
#decentralised

silasdavis (Wed, 10 May 2017 13:17:48 GMT):
yep ... https://status.slack.com/

benjaminbollen (Wed, 10 May 2017 13:29:00 GMT):
@silasdavis did you get the invite to google hangouts?

adamludvik (Wed, 10 May 2017 15:05:24 GMT):
Thanks again for everyone who was able to attend the call. Based on the end of our conversation, the first hurdle is going to be working through the differences in state representation and addressing. I'm going to write up a few ideas for resolving the differences in a shared doc to drive further discussion and post that here towards the end of the day.

adamludvik (Wed, 10 May 2017 15:05:24 GMT):
Thanks again to everyone who was able to attend the call. Based on the end of our conversation, the first hurdle is going to be working through the differences in state representation and addressing. I'm going to write up a few ideas for resolving the differences in a shared doc to drive further discussion and post that here towards the end of the day.

adamludvik (Wed, 10 May 2017 22:44:56 GMT):
I created a brainstorming doc, but need to figure out the best way to share it with everyone. Will resolve this tomorrow.

beauson45 (Thu, 11 May 2017 08:05:29 GMT):
Has joined the channel.

PacoEcotrust (Thu, 11 May 2017 11:25:46 GMT):
I do not catch very well the way of the integration burrow-STL. a) As other kind of family with own language of Smart Contract but using the STL-Validator, b) or only to interconection of Burrow to the POET -STL-Consensus

benjaminbollen (Thu, 11 May 2017 12:07:31 GMT):
indeed, a. to objective is to have a transaction family in sawtooth that executes Ethereum code

benjaminbollen (Thu, 11 May 2017 12:07:31 GMT):
indeed, a. the objective is to have a transaction family in sawtooth that executes Ethereum code

benjaminbollen (Thu, 11 May 2017 12:09:24 GMT):
@adamludvik although the data in leaf nodes is opaque to the validator core, what serialisation protocol do you currently use for (most) transaction families?

adamludvik (Thu, 11 May 2017 12:21:34 GMT):
We are favoring protobuf right now for serialisation although we have also tried CBOR and a couple other things.

adamludvik (Thu, 11 May 2017 12:28:56 GMT):
@PacoEcotrust I think a simple way to start on a is to just store EVM accounts and associated storage in global state under the account address plus some prefix.

PacoEcotrust (Thu, 11 May 2017 12:33:45 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-burrow?msg=QTAkM7fMMboHqja3W) @adamludvik ..sound well!!

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

adamludvik (Thu, 11 May 2017 15:14:57 GMT):
I was going to share a Google doc here, but we are having some problems with creating a publicly viewable document so the best I can do right now is a PDF. This is a WIP doc and I am looking for feedback on: 1) Did I get any of the facts wrong? 2) Ideas/suggestions/thoughts related to the initial "naive solutions"? 3) Additional parts of Burrow and the EVM I need to consider to get a basic, initial implementation functioning?

adamludvik (Thu, 11 May 2017 15:15:06 GMT):

Message Attachments

adamludvik (Thu, 11 May 2017 15:15:09 GMT):
Thanks!

benjaminbollen (Thu, 11 May 2017 15:24:40 GMT):
thanks for sharing; printed it and will review

benjaminbollen (Thu, 11 May 2017 15:24:40 GMT):
thanks for sharing; printed it and will review and comment

benjaminbollen (Thu, 11 May 2017 16:23:57 GMT):

Message Attachments

benjaminbollen (Thu, 11 May 2017 16:26:45 GMT):
I think option 3. makes a lot of sense if attainable; suggested option 4. requires more design work and coordination with STL but can reflect better that account storage can potentially be separated out (and is costly in global state)

adamludvik (Thu, 11 May 2017 16:51:15 GMT):
Thanks for the quick reply! Reading through it now.

amundson (Thu, 11 May 2017 18:07:20 GMT):
@benjaminbollen cool. the biggest hurdle with Option 4 is that the stateful storage would need to keep all state ever generated, not just the latest, in order to appear stateless. That would probably be less efficient than using the context manager as the database. within Sawtooth's context manager, great care is taken to avoid state/database writes when things get thrown out. for example, if you have a block being processed with many batches and many transactions, if one of the transactions is invalid, no writes to state will have occurred (since the merkle root calculation only occurs when needed)

amundson (Thu, 11 May 2017 18:12:33 GMT):
Another (maybe significant) Con to Option 3 is that there would be increased latency from the back/forth with the validator, which may take longer then Option 1; this would depend on a lot of factors, like how big the storage is and how much savings you get with Option 3 in terms of bandwidth.

amundson (Thu, 11 May 2017 18:14:03 GMT):
I'm curious if you have some rough numbers in terms of sizes here, like the rough sizes of code, storage, etc.

benjaminbollen (Thu, 11 May 2017 18:16:35 GMT):
Yes, i see the pruning of "rollbacked" state and validator would also have to pass over the tp and be new logic; i dont think we should pursue option 4 now, but on longer term separating account storage from accounts enables both parallisation and privacy. Design can be completely different, not attached to it, but storage and accounts can be separated and it is useful mid-term

benjaminbollen (Thu, 11 May 2017 18:18:20 GMT):
Storage is effectively unbounded, 2^(512 + 160) bits in total Ethereum "universe"

benjaminbollen (Thu, 11 May 2017 18:18:20 GMT):
Storage is effectively unbounded, 2^(512 + 160) states in total Ethereum "universe" -on mobile

benjaminbollen (Thu, 11 May 2017 18:18:43 GMT):
- hope i got the math right there

benjaminbollen (Thu, 11 May 2017 18:23:51 GMT):
But code starts at a few1 00-1000 bytes per contract - riugh guess. But often per object you create a contract

benjaminbollen (Thu, 11 May 2017 18:25:30 GMT):
Nice thing of not putting storage in the global treeis that we have 12bytes for sharding

benjaminbollen (Thu, 11 May 2017 18:26:29 GMT):
Prefix 3 + zone 12 + address 20

benjaminbollen (Thu, 11 May 2017 18:28:34 GMT):
The only way to bound storage is to impose it (with Ether or config)

jsmitchell (Thu, 11 May 2017 18:58:00 GMT):
@benjaminbollen: what are a typical number and size of kv pairs stored at a contract address?

dennismckinnon (Thu, 11 May 2017 19:23:14 GMT):
I don't think there is a good answer to that

dennismckinnon (Thu, 11 May 2017 19:23:25 GMT):
some contracts make use of only a single stored value

dennismckinnon (Thu, 11 May 2017 19:23:47 GMT):
while others might have objects with 20+ fields in them and several hundred objects

dennismckinnon (Thu, 11 May 2017 19:24:15 GMT):
typical depends on the use case

dennismckinnon (Thu, 11 May 2017 19:24:37 GMT):
the size of the values though are never more then 32bytes

dennismckinnon (Thu, 11 May 2017 19:25:32 GMT):
when you compile solidity code is decided where to put everything

amundson (Thu, 11 May 2017 19:25:53 GMT):
it would probably be easier to support off-state state directly in the context manager, and let it manage the complexities than to expose those details to TPs; I think we could attach non-state data to addresses pretty easy as long as it had the constraint of only updating off-state state for addresses being written to

dennismckinnon (Thu, 11 May 2017 19:25:55 GMT):
so as to hide as much as possible the kv store from you

amundson (Thu, 11 May 2017 19:28:03 GMT):
but, off-state state doesn't give you privacy by itself, nor would it be particularly more performant except during state transfer events (whether that be checkpointing or state export)

amundson (Thu, 11 May 2017 19:29:18 GMT):
I'm interested in more thoughts on how we might use that in combination with other things from a privacy perspective

dennismckinnon (Thu, 11 May 2017 19:37:34 GMT):
the question of whether unpacking the entirety of state (option 1) is faster than the querying of the parts accessed is interesting. My gut reaction when reading 1 was that since we could have potentially a massive amount of data store under a single contract that option 1 was not feasible

jsmitchell (Thu, 11 May 2017 19:38:24 GMT):
doesn't eth's merkle state do #1 today?

dennismckinnon (Thu, 11 May 2017 19:39:13 GMT):
my understanding was that there was a hierarchy or tries going on

dennismckinnon (Thu, 11 May 2017 19:39:13 GMT):
my understanding was that there was a hierarchy of tries going on

dennismckinnon (Thu, 11 May 2017 19:39:51 GMT):
so each account had its own trie of storage

dennismckinnon (Thu, 11 May 2017 19:41:43 GMT):
But admittedly I have been arms length when it comes to platform implementation for many versions

dennismckinnon (Thu, 11 May 2017 19:45:01 GMT):
``` // Account resides in the application state, and is mutated by transactions // on the blockchain. // Serialized by wire.[read|write]Reflect type Account struct { Address []byte `json:"address"` PubKey crypto.PubKey `json:"pub_key"` Sequence int `json:"sequence"` Balance int64 `json:"balance"` Code []byte `json:"code"` // VM code StorageRoot []byte `json:"storage_root"` // VM storage merkle root. Permissions ptypes.AccountPermissions `json:"permissions"` } ```

jsmitchell (Thu, 11 May 2017 19:46:23 GMT):
ah, cool

jsmitchell (Thu, 11 May 2017 19:47:17 GMT):
does it have some kind of key -> hash radix scheme inside the subtrie referenced by storage_root then?

dennismckinnon (Thu, 11 May 2017 19:49:09 GMT):
that was my thought.... but now i'm doubting myself so i'm combing the code for evidence :P

dennismckinnon (Thu, 11 May 2017 19:50:10 GMT):
I think ben is probably out for the night at this point. and while probably more efficient to let him tell us... I'm curious now

adamludvik (Fri, 12 May 2017 12:35:02 GMT):
https://github.com/hyperledger/burrow/blob/master/manager/burrow-mint/state/state.go

adamludvik (Fri, 12 May 2017 12:37:05 GMT):
https://github.com/hyperledger/burrow/blob/master/manager/burrow-mint/state/block_cache.go

adamludvik (Fri, 12 May 2017 12:38:38 GMT):
It looks like only the accounts are managed directly by that State type and that account storage is managed in the block cache. Storage points at the state root stored in the account.

adamludvik (Fri, 12 May 2017 12:47:25 GMT):
I am leaning towards separating out accounts, code, and account storage with storage possibly fragmented depending on how that gets used. I am with agreement that these should be managed by the sawtooth context manager as doing so on the TP side would mean reproducing a lot of the effort that went into the CM. All that said, I am working on option 1 for the first pass as it is simple and we can iterate on it more easily once we have something functioning.

amundson (Fri, 12 May 2017 14:16:44 GMT):
Sounds good to me. If there is a case for the CM to have off-chain state associated with address that we can articulate, I'd like to open a JIRA task for it as I have ideas on the how, but am struggling with the why. :)

amundson (Fri, 12 May 2017 14:16:44 GMT):
Sounds good to me. If there is a case for the CM to have off-chain state associated with addresses that we can articulate, I'd like to open a JIRA task for it as I have ideas on the how, but am struggling with the why. :)

dennismckinnon (Fri, 12 May 2017 15:03:00 GMT):
Yeah I came to the same conclusion I think after talking with Silas last night

dennismckinnon (Fri, 12 May 2017 15:09:05 GMT):
I understand option 1 and its simplicity. But I am worried that the deserialization of all account storage might take much longer then a bunch of individual key queries. If we combine option 2 and 3. One domain has the account data serialized at the nodes. And a second domain stores all contract states. Likely at key `hash(account+storageaddress)` and store there a serialized list of `{account:20bytes, storageaddress:32bytes, value:32bytes}`

dennismckinnon (Fri, 12 May 2017 15:11:00 GMT):
including the storage address is not necessary but might be good for double checking that an error didn't occur somewhere. If we wanted to obfuscate that we could drop it.

dennismckinnon (Fri, 12 May 2017 15:12:44 GMT):
the reason for using a hash (since arguable you could just have it all serialized at the storage address since we are already separating them. Is because solidity uses the lowest keys first for fixed length arguments and higher storage addresses are only really used by mappings and non-fixed arrays

dennismckinnon (Fri, 12 May 2017 15:13:30 GMT):
so if we just deserialized at the storage root the lowest addresses would likely contain the data for almost every contract which exists on the chain

adamludvik (Fri, 12 May 2017 15:26:25 GMT):
"solidity uses the lowest keys first for fixed length arguments" Could this also be used as an argument for having multiple sequential key-value pairs for a given account stored at a single address in global state? That way you wouldn't always need to deserialize all of storage, but you wouldn't need to send a message to the CM for every address you want?

dennismckinnon (Fri, 12 May 2017 15:28:52 GMT):
well....

dennismckinnon (Fri, 12 May 2017 15:29:03 GMT):
it depends how you are structuring your contracts

dennismckinnon (Fri, 12 May 2017 15:29:19 GMT):
there are kind of two approachs

dennismckinnon (Fri, 12 May 2017 15:29:19 GMT):
there are kind of two approaches

dennismckinnon (Fri, 12 May 2017 15:29:50 GMT):
first you can have a small contract for each object you care about each with self contained logic

dennismckinnon (Fri, 12 May 2017 15:30:06 GMT):
and the second is that you store all the objects together in a mapping

dennismckinnon (Fri, 12 May 2017 15:31:03 GMT):
in the first case storing the commonly used low address values together would be a benefit.

dennismckinnon (Fri, 12 May 2017 15:31:17 GMT):
in the second Its not going to give you much

dennismckinnon (Fri, 12 May 2017 15:31:43 GMT):
but it wouldn't hurt too much either if we were sensible about how much we chunked together

dennismckinnon (Fri, 12 May 2017 15:32:12 GMT):
but that feels like an optimizationg we could add on after the fact

dennismckinnon (Fri, 12 May 2017 15:32:12 GMT):
but that feels like an optimization we could add on after the fact

adamludvik (Fri, 12 May 2017 15:34:53 GMT):
I'd be interested to see some solidity code that demonstrates those two approaches. Definitely sounds like there is a fair amount of optimization that can be done. I'm recording your ideas from above in my doc, along with Ben's ideas so we don't lose them.

benjaminbollen (Fri, 12 May 2017 15:44:06 GMT):
> All that said, I am working on option 1 for the first pass as it is simple and we can iterate on it more easily once we have something functioning. ok. as a first draft option 1. can definitely work for limited storage

benjaminbollen (Fri, 12 May 2017 15:47:31 GMT):
@adamludvik are multiple apply requests expected to arrive within the same (preserved) context? and is the TP told about which context it is in?

benjaminbollen (Fri, 12 May 2017 15:48:35 GMT):
At a mimum we can only use a TxCache per call (which is almost a necessity)

adamludvik (Fri, 12 May 2017 15:54:09 GMT):
The TP is given a Context ID as part of the apply request (TpProcessRequest) which it uses to ask about global state. The ContextManager implements a cache between global state and the TP, which eventually gets synced to global state.

adamludvik (Fri, 12 May 2017 15:56:03 GMT):
So a cache at the TP would be a second layer of caching and would probably just be used to reduce communication between the validator and TP and deserialization/serialization steps.

adamludvik (Fri, 12 May 2017 15:56:19 GMT):
Does that answer your questions?

benjaminbollen (Fri, 12 May 2017 16:18:54 GMT):
yes, it does. But there is no concept of opening and closing a context, right; and there is no assumptions for the TP that the same contextID may not have been written to (by other copies of the TP... or ...)

benjaminbollen (Fri, 12 May 2017 16:23:00 GMT):
or is the ID derived from the subtree and a unique identifier of the whole subtree (and its non-mutation?)

benjaminbollen (Fri, 12 May 2017 16:35:19 GMT):
I realise Im not making myself clear; is the contextId purely for `State` to synchronise its communications (like a JSONRPC id field); or does it carry meaning; how long is it valid; invalidated after one responds to the `Apply` request?

benjaminbollen (Fri, 12 May 2017 16:36:04 GMT):
Im trying to look at the go_inckey to better understand this, but perhaps that s not rich enough to discern fron

benjaminbollen (Fri, 12 May 2017 16:36:04 GMT):
Im trying to look at the go_inckey to better understand this, but perhaps that s not rich enough to discern from

adamludvik (Fri, 12 May 2017 16:40:47 GMT):
^ @boydjohnson @jsmitchell

adamludvik (Fri, 12 May 2017 16:53:38 GMT):
Those guys can probably answer better than me, but I believe the contextID does a little more than just synchronise communications (we have a field called "correlationID" that does this). The contextID is a handle used by the TP to access a "snapshot" of state that the TP calculates a state delta on top of. The state delta is recorded by the validator without it actually being written to global state. It is valid until the TP finishes processing the request and responds with OK, signaling to the validator that all changes to state have been requested. In other words, the validator sends off a bunch of requests to one or more processors at once, along with a contextID they should use when asking to set/get state. It then manages multiple snapshots of state for each request using the contextID and records all of the requests to change state that the processors send it. Eventually these get "squashed" together into one state delta and this is used to actually update global state later (I think when the block is published).

adamludvik (Fri, 12 May 2017 16:57:31 GMT):
At some point we will add docs around this topic... If you are feeling ambitious, the context manager is here: https://github.com/hyperledger/sawtooth-core/blob/master/validator/sawtooth_validator/execution/context_manager.py and we have tests for it (with some documentation and ASCII art) here: https://github.com/hyperledger/sawtooth-core/blob/master/validator/tests/unit3/test_context_manager/tests.py

boydjohnson (Fri, 12 May 2017 18:23:36 GMT):
Yeah, that sounds right. The things that I would point out are that the TP has no control of exactly when the sets it makes to the context manager are actually written to the underlying radix/merkle tree.

amundson (Fri, 12 May 2017 18:35:39 GMT):
A context id is an opaque/random string which is used to lookup the context on the validator side. There is a 1-to-1 relationship between context and a request to process a transaction. A context has a merkle root and a key/value dictionary. When processing reads, the context manager looks up the context based on the context id then retrieves the read based first on the context's key/value store and then the merkle tree. when processing writes, the context manager updates the context's key/value dictionary (key being the address, value being the data). Thus, writes to a context do not immediately cause writes to the merkle tree. Contexts can also be chained together such that the context manager will look through the chain of contexts for a value, which makes what I just described the simplistic case. When we need to generate a merkle root hash of state, the scheduler will instruct the context manager to squash together multiple contexts. This causes a write to the merkle tree (which is batched efficiently, updating only nodes that need updating) resulting in a new merkle root hash. This is usually associated with the end of a block, as block construction requires we generate a new merkle root hash. Once squashed, contexts are deleted.

dennismckinnon (Fri, 12 May 2017 19:02:56 GMT):
hmmm thats interesting

dennismckinnon (Fri, 12 May 2017 19:03:43 GMT):
and possibly problematic

dennismckinnon (Fri, 12 May 2017 19:04:05 GMT):
lets say that we have contracts A0 A1 and B

dennismckinnon (Fri, 12 May 2017 19:04:24 GMT):
B is storing the number of times it has been called. simple counter

dennismckinnon (Fri, 12 May 2017 19:06:10 GMT):
the A contracts (When Called) are calling B and requesting the current count then storing it

dennismckinnon (Fri, 12 May 2017 19:09:30 GMT):
if two independent transactions occur (which don't have each other as a dependency and don't appear in the same batch) then my understanding is that two requests to process the transactions will occur (separately)

dennismckinnon (Fri, 12 May 2017 19:10:41 GMT):
So if B starts at a counter value of 1 after the transactions are processed B will have 2 and both A's will have 1 which would not be the intended consequence in this case

jsmitchell (Fri, 12 May 2017 19:24:53 GMT):
the transactions that reference the same state are made sequential by the scheduler

jsmitchell (Fri, 12 May 2017 19:26:32 GMT):
the list of input and output addresses and dependent transactions allow the scheduler to determine whether the transactions can be run in parallel off of a common base state and then merged or whether they need to be run sequentially

jsmitchell (Fri, 12 May 2017 19:27:57 GMT):
beyond that, the ordering is prescribed by the block publisher as input to the scheduler

jsmitchell (Fri, 12 May 2017 19:28:46 GMT):
once the schedule is finalized for a set of valid transactions the transaction batches are written into the published block along with the corresponding squashed state root hash

jsmitchell (Fri, 12 May 2017 19:28:46 GMT):
once the schedule is finalized for a set of valid transactions, the transaction batches are written into the published block along with the corresponding squashed state root hash

jsmitchell (Fri, 12 May 2017 19:30:37 GMT):
when a receiving validator validates the block, the ordered set of transactions from the block are submitted to the local scheduler and the same execution graph is produced, which results in the same context exposure to the transaction processors for the transactions, which results in the same squashed set of state transitions, which results in the same state root hash, which results in the block being considered valid

dennismckinnon (Fri, 12 May 2017 19:31:01 GMT):
excellent!

dennismckinnon (Fri, 12 May 2017 19:31:44 GMT):
so this is already covered and we just need to set it up so it never tries to parallelize (for now and the immediate future)

jsmitchell (Fri, 12 May 2017 19:31:56 GMT):
yes

jsmitchell (Fri, 12 May 2017 19:32:23 GMT):
the easy case is just listing the contract state address as both an input and output

dennismckinnon (Fri, 12 May 2017 19:32:24 GMT):
whats the easiest way to do that? Add a fixed input to the list to every transaction?

jsmitchell (Fri, 12 May 2017 19:33:17 GMT):
there are probably cleverer things we can do down the road

dennismckinnon (Fri, 12 May 2017 19:33:48 GMT):
Yeah my naive first guess I don't think is safe from malicious actors cause they could choose to manipulate it.

dennismckinnon (Fri, 12 May 2017 19:34:42 GMT):
Is it possible that we could add a configuration field flag for transaction processors which determines if it even attempts to parallelize transactions to that transaction family?

jsmitchell (Fri, 12 May 2017 19:35:24 GMT):
the context manager enforces the input and output addresses

jsmitchell (Fri, 12 May 2017 19:35:52 GMT):
if you try to read from an address not listed in input or write to an address not listed in output, the transaction will fail

jsmitchell (Fri, 12 May 2017 19:36:32 GMT):
and the scheduler guarantees isolation based on those addresses (and wildcards)

jsmitchell (Fri, 12 May 2017 19:36:32 GMT):
and the scheduler guarantees isolation based on those addresses (and address prefixes)

dennismckinnon (Fri, 12 May 2017 19:36:50 GMT):
hmmm... I don't think i properly understand the inputs and outputs

jsmitchell (Fri, 12 May 2017 19:36:55 GMT):
so, i don't think there is a situation where you can screw it up

dennismckinnon (Fri, 12 May 2017 19:37:07 GMT):
are these state addresses?

jsmitchell (Fri, 12 May 2017 19:37:11 GMT):
yes

jsmitchell (Fri, 12 May 2017 19:37:33 GMT):
places the transaction processor will read from and write to as part of the transaction

dennismckinnon (Fri, 12 May 2017 19:37:46 GMT):
how does the transaction maker (client) know this information without having a complete copy of state?

jsmitchell (Fri, 12 May 2017 19:38:20 GMT):
it is either easily predictable or they can use a prefix which has the effect of enforcing sequential execution

jsmitchell (Fri, 12 May 2017 19:39:06 GMT):
so, for evm contract execution without chaining, the input addresses would be the location of the contract bytecode and the location of the contract state (if these were stored separately)

jsmitchell (Fri, 12 May 2017 19:39:18 GMT):
and the output address would be the same location of the contract state

jsmitchell (Fri, 12 May 2017 19:39:48 GMT):
with contract chaining, the transaction client would have to list out the same for the downstream contracts

jsmitchell (Fri, 12 May 2017 19:40:47 GMT):
if that is burdensome, you could go so far as to list the namespace prefix which would force the scheduler to make the execution sequential

jsmitchell (Fri, 12 May 2017 19:41:41 GMT):
evm contract address:bytecode is immutable though, right?

dennismckinnon (Fri, 12 May 2017 19:42:04 GMT):
ok so yeah we currently have no lightweight way to determine ahead of time the possible contracts that will be called.... mostly because you can have addresses of the contracts be arguments sent in during the transaction

dennismckinnon (Fri, 12 May 2017 19:42:17 GMT):
the bytecode is immutable yes

jsmitchell (Fri, 12 May 2017 19:43:09 GMT):
worst case the inputs/outputs are wildcarded to enforce serial execution

dennismckinnon (Fri, 12 May 2017 19:43:37 GMT):
yes that is acceptable.

dennismckinnon (Fri, 12 May 2017 19:44:29 GMT):
but i'm worried (maybe needlessly so) about it being the choice of the client as to whether to enforce serialization

dennismckinnon (Fri, 12 May 2017 19:45:03 GMT):
mostly because its not immediately clear to me that that will not lead to edge cases

dennismckinnon (Fri, 12 May 2017 19:46:16 GMT):
but I guess that the fact that the context manager enforces serialization on matching inputs and outputs

dennismckinnon (Fri, 12 May 2017 19:46:19 GMT):
its fine

jsmitchell (Fri, 12 May 2017 19:46:22 GMT):
right

jsmitchell (Fri, 12 May 2017 19:46:31 GMT):
None is not an option

jsmitchell (Fri, 12 May 2017 19:46:49 GMT):
the client crafting the transaction can't elect to cause isolation violations

dennismckinnon (Fri, 12 May 2017 19:47:13 GMT):
So even if they try to instigate the weirdness I described above they wouldn't be able to cause havok in the rest of the wild carded transactions

dennismckinnon (Fri, 12 May 2017 19:47:21 GMT):
perfect

jsmitchell (Fri, 12 May 2017 19:47:25 GMT):
yep

dennismckinnon (Fri, 12 May 2017 19:47:30 GMT):
thank you for taking the time to explain that

jsmitchell (Fri, 12 May 2017 19:47:55 GMT):
of course!

dennismckinnon (Fri, 12 May 2017 19:47:56 GMT):
the inputs and outputs were the main spot I had difficulty parsing in the architecture documents last week

dennismckinnon (Sat, 13 May 2017 01:17:26 GMT):
Not sure this is the right place to put this. I tried to find the github repo for the documentation so I could submit as a PR but couldn't. I think I have found a slight typo in the application developer tutorial. http://intelledger.github.io/app_developers_guide/intro_to_sawtooth.html#start-validator in particular ``` $ sawtooth keygen --key-dir /home/ubuntu/sawtooth/keys/ validator $ validator -vv --public-uri tcp://localhost:8800 ``` The port that you set there is not the default 8080 which a later step in the tutorial expects it to be

dennismckinnon (Sat, 13 May 2017 01:17:41 GMT):
instead as you can see it is 8800

dennismckinnon (Sat, 13 May 2017 01:43:53 GMT):
it seems that also the intkey tool is expecting by default http://localhost:8080 and not tcp://localhost:8080 ``` [01:39:27 WARNING load] Unable to connect to "http://localhost:8080": make sure URL is correct batches: 1001 batch/sec: 3690.737685448985 ubuntu@ubuntu-xenial:/project$ intkey load -f batches.intkey -U tcp://localhost:8080 batches: 1001 batch/sec: 3982.6808134025305 ```

dennismckinnon (Sat, 13 May 2017 01:43:53 GMT):
it seems that also the intkey tool is expecting by default http://localhost:8080 and not tcp://localhost:8080 ``` ubuntu@ubuntu-xenial:/project$ intkey load -f batches.intkey ... [01:39:27 WARNING load] Unable to connect to "http://localhost:8080": make sure URL is correct batches: 1001 batch/sec: 3690.737685448985 ubuntu@ubuntu-xenial:/project$ intkey load -f batches.intkey -U tcp://localhost:8080 batches: 1001 batch/sec: 3982.6808134025305 ```

skbodwell (Sat, 13 May 2017 02:08:39 GMT):
Has joined the channel.

dennismckinnon (Sun, 14 May 2017 22:20:09 GMT):
Actually i might not know at all what i'm talking about there. I tried it all again (the tutorial) and I realize that the batches are not showing up in the validator logging output at all even though I used -vv

dennismckinnon (Sun, 14 May 2017 22:20:23 GMT):
and the tp is running

dennismckinnon (Sun, 14 May 2017 22:27:09 GMT):
and then I thought I would press on and try doing the config tp steps but when I submitted the transaction a bunch on of these messages popped up ``` [22:25:37 WARNING core] Invalid Transaction Cannot set sawtooth.validator.transaction_families until authorized_keys is set. ```

boydjohnson (Mon, 15 May 2017 11:07:48 GMT):
Hi @dennismckinnon The docs that reference tcp to load batches to the validator are out of date. It should be http and the rest_api needs to be running. A quick way to get everything (many things) running is to use docker and run this file using docker-compose: https://github.com/hyperledger/sawtooth-core/blob/master/docker/compose/sawtooth-demo.yaml

dennismckinnon (Mon, 15 May 2017 15:39:38 GMT):
I did do the docker compose route first

dennismckinnon (Mon, 15 May 2017 15:39:42 GMT):
and I got it working

dennismckinnon (Mon, 15 May 2017 15:40:36 GMT):
but I wanted to get it running in the vagrant environment so I had the more hands on deeper understanding of how all these pieces fit together

dennismckinnon (Mon, 15 May 2017 15:42:01 GMT):
mostly because I want to start writing my own transaction processors and clients etc so I cultivate the knowledge of how everything is supposed to connect on our side

kellyo (Mon, 15 May 2017 17:11:39 GMT):
Has joined the channel.

adamludvik (Mon, 15 May 2017 17:53:47 GMT):
@dennismckinnon If you are still having trouble getting things setup, we could setup a video chat?

dennismckinnon (Mon, 15 May 2017 18:06:24 GMT):
that would be great!

dennismckinnon (Mon, 15 May 2017 18:07:28 GMT):
@adamludvik when could you run through that with me?

adamludvik (Mon, 15 May 2017 18:08:23 GMT):
I am available for the next 4 hours today, or we can set something up tomorrow. What timezone are you in?

dennismckinnon (Mon, 15 May 2017 18:09:10 GMT):
EST

dennismckinnon (Mon, 15 May 2017 18:09:13 GMT):
I'm available now

dennismckinnon (Mon, 15 May 2017 18:09:32 GMT):
want me to send you a google hangout link and I can share my screen?

adamludvik (Mon, 15 May 2017 18:11:41 GMT):
Sure!

dennismckinnon (Mon, 15 May 2017 18:12:40 GMT):
https://hangouts.google.com/hangouts/_/lowzq4tmijbnnby7dhw4gdjztue

dennismckinnon (Mon, 15 May 2017 18:12:55 GMT):
let me know if that doesn't work

adamludvik (Mon, 15 May 2017 18:26:42 GMT):
http://intelledger.github.io/0.8/_autogen/sdk_submit_tutorial_js.html

adamludvik (Mon, 15 May 2017 18:33:25 GMT):
WIP branch for Tyler: https://github.com/aludvik/sawtooth-core/blob/evm-tp-part1/sdk/go/src/sawtooth_sdk/client/signer.go

adamludvik (Mon, 15 May 2017 20:26:54 GMT):
Hey all, I have a very preliminary branch that connects the Burrow EVM to the Sawtooth Validator using option 1: https://github.com/aludvik/sawtooth-core/commits/evm-tp-part1

adamludvik (Mon, 15 May 2017 20:27:46 GMT):
I have a simple python script that creates a transaction and sends it to the REST API. The payload format just mirrors the arguments to `vm.Call()`: https://github.com/aludvik/sawtooth-core/commit/95f9e106f6232dd474e3d6bf55029f6d0dcf51b1

adamludvik (Mon, 15 May 2017 20:34:02 GMT):
@dennismckinnon Do you have any ideas or suggestions on how to manually test the EVM using that client_test.py file? What would be the best way to generate the byte code that would be fed into the EVM? Or is that the wrong approach?

dennismckinnon (Tue, 16 May 2017 01:08:53 GMT):
hmm

dennismckinnon (Tue, 16 May 2017 01:09:02 GMT):
I was actually just thinking about this

dennismckinnon (Tue, 16 May 2017 01:09:28 GMT):
in order to test the vm we would need to deploy a solidity contract... even a simple one

dennismckinnon (Tue, 16 May 2017 01:09:58 GMT):
we have a javascript library which hooks into burrow

dennismckinnon (Tue, 16 May 2017 01:12:06 GMT):
I think the easiest thing right from the start would be if I could pull out the formatted payload from using that library

amundson (Tue, 16 May 2017 03:22:41 GMT):
we can't create one with solc?

dennismckinnon (Tue, 16 May 2017 03:26:59 GMT):
oh yes

dennismckinnon (Tue, 16 May 2017 03:27:10 GMT):
creating the contract data is the easy part

dennismckinnon (Tue, 16 May 2017 03:27:56 GMT):
but all the arguments to the evm use a very awkward "homemade" encoding procedure

dennismckinnon (Tue, 16 May 2017 03:28:36 GMT):
so the data payload for interacting with the contracts is not nice

dennismckinnon (Tue, 16 May 2017 03:29:39 GMT):
so i think the easiest plan for circumventing web3 and the abi encoding procedure for now is to simply intercept the data payload as it currently runs

dennismckinnon (Tue, 16 May 2017 03:30:03 GMT):
and see if those same payloads produce the expected result from what adam has put together

dennismckinnon (Tue, 16 May 2017 03:30:44 GMT):
then with a bit more time I think I can reroute the js libs we have already to connect to the rest api

amundson (Tue, 16 May 2017 03:38:07 GMT):
this is part of what 'monax pkgs do' does?

dennismckinnon (Tue, 16 May 2017 03:39:49 GMT):
yes monax pkgs do produces transactions using a command line tool written in go

dennismckinnon (Tue, 16 May 2017 03:39:54 GMT):
it does the same task

dennismckinnon (Tue, 16 May 2017 03:40:10 GMT):
but I am personally more familiar with the workings of the js libs

dennismckinnon (Tue, 16 May 2017 03:42:14 GMT):
In fact I am pretty sure I have found the location of minimal cut for connecting to the rest api

dennismckinnon (Tue, 16 May 2017 03:42:44 GMT):
I just need to do more of the tutorials to understand writing clients with the sdks

amundson (Tue, 16 May 2017 03:43:32 GMT):
luckily, js is one of the languages with client support in the sdk

amundson (Tue, 16 May 2017 03:44:12 GMT):
http://intelledger.github.io/_autogen/sdk_submit_tutorial_js.html

dennismckinnon (Tue, 16 May 2017 03:45:07 GMT):
yes! Adam showed me that earlier looks really nice. Is it on npm?

amundson (Tue, 16 May 2017 03:46:20 GMT):
we aren't publishing it there yet, no - it's a todo item

amundson (Tue, 16 May 2017 03:47:14 GMT):
@zac and @pschwarz are the js guys for the most part

zac (Tue, 16 May 2017 03:47:14 GMT):
Has joined the channel.

zac (Tue, 16 May 2017 03:48:28 GMT):
I have been summoned

zac (Tue, 16 May 2017 03:48:41 GMT):
Hi

dennismckinnon (Tue, 16 May 2017 03:48:47 GMT):
Hello

rocket.cat (Tue, 16 May 2017 03:48:47 GMT):
Good 'aye!, dennismckinnon

dennismckinnon (Tue, 16 May 2017 03:48:52 GMT):
Nice to meet you

zac (Tue, 16 May 2017 03:49:15 GMT):
I have no idea what we're talking about, but I'm glad you like the the JS SDK client stuff

dennismckinnon (Tue, 16 May 2017 03:50:07 GMT):
Just getting started with it

dennismckinnon (Tue, 16 May 2017 03:50:51 GMT):
one question. since its not on npm i assume to `require` the sawtooth-sdk i should point it to the folder in the sawtooth-core repo?

zac (Tue, 16 May 2017 03:51:36 GMT):
that is one way to do it

zac (Tue, 16 May 2017 03:52:01 GMT):
just `require('../path/to/sdk')`

zac (Tue, 16 May 2017 03:52:15 GMT):
You can `npm install` it though

zac (Tue, 16 May 2017 03:52:34 GMT):
`npm install ../path/to/sdk`

zac (Tue, 16 May 2017 03:52:51 GMT):
And then `require('sawtooth-sdk')`

zac (Tue, 16 May 2017 03:53:10 GMT):
(it gets the name from the `package.json`)

dennismckinnon (Tue, 16 May 2017 03:54:22 GMT):
that seems the better way :)

dennismckinnon (Tue, 16 May 2017 03:54:28 GMT):
:)

zac (Tue, 16 May 2017 03:54:52 GMT):
Both should work fine. If you do an install, it will copy the files over to `node_modules`, so you will need to install again if there are updates. Probably won't come up since you aren't actively developing it.

zac (Tue, 16 May 2017 03:55:33 GMT):
You _might_ be able to do a _link_ instead of an install, which does a symlink. That might just be Yarn though.

dennismckinnon (Tue, 16 May 2017 03:56:17 GMT):
yeah I'll just make myself a mental note about the re-installing

zac (Tue, 16 May 2017 03:56:27 GMT):
If you run into trouble, google "npm install local package", and you'll find a bunch of stuff. Should be pretty straightforward though.

zac (Tue, 16 May 2017 03:57:19 GMT):
You've seen the JS SDK tutorial in the docs yeah?

dennismckinnon (Tue, 16 May 2017 03:57:50 GMT):
yeah i was just pointed to the new and improved ones

dennismckinnon (Tue, 16 May 2017 03:57:59 GMT):
http://intelledger.github.io/0.8/_autogen/sdk_submit_tutorial_js.html

dennismckinnon (Tue, 16 May 2017 03:58:06 GMT):
about to go through them

zac (Tue, 16 May 2017 03:58:51 GMT):
yep

dennismckinnon (Tue, 16 May 2017 03:58:53 GMT):
Hopefully by the end I'll be in a position to modify our existing javascript libraries to connect to sawtooth

zac (Tue, 16 May 2017 03:58:59 GMT):
that hopefully makes it pretty clear

zac (Tue, 16 May 2017 03:59:05 GMT):
let me know if you run into trouble though

dennismckinnon (Tue, 16 May 2017 03:59:12 GMT):
will do thanks!

zac (Tue, 16 May 2017 03:59:13 GMT):
you will be one of the first people to go through it

dennismckinnon (Tue, 16 May 2017 03:59:19 GMT):
:)

zac (Tue, 16 May 2017 03:59:19 GMT):
no problem

dennismckinnon (Tue, 16 May 2017 03:59:27 GMT):
#trailblazer!

zac (Tue, 16 May 2017 04:00:32 GMT):
:motorway::fire:

amundson (Tue, 16 May 2017 04:09:45 GMT):
why does every user experience discussion end in flames? :)

dennismckinnon (Tue, 16 May 2017 04:14:06 GMT):
second law of thermodynamics?

zac (Tue, 16 May 2017 04:17:07 GMT):
That sounds right

JonathanLevi (Tue, 16 May 2017 04:22:05 GMT):
Has joined the channel.

dennismckinnon (Tue, 16 May 2017 04:44:42 GMT):
@adamludvik I am getting a better feeling for it all I'm thinking about and working towards implementing the js client for the burrow family. And I am still trying to get you some test transaction data do you can continue unfortunately I hit a snag and everyone is asleep right now. But ill try to get that to you first thing tomorrow. I would like to better understand what you have implemented though so as to get a better idea of how we can test. You have implemented "call" but there is some confusion from me since there doesn't seem to be a way to do queries (which run the vm but don't change state and return some data) Is there currently a provision for the rest-api to return data from a transaction (call)? I haven't gone through the xo family tutorial yet which I feel like would probably answer this question since you must have SOME way of querying data out of the chain. In either case I'll reach out to you tomorrow and we can chat again maybe? for now though... to sleep... perchance to dream. goodnight all!

adamludvik (Tue, 16 May 2017 13:44:31 GMT):
@dennismckinnon I can chat again today if you like. Almost to work now, will send you links shortly about querying.

dennismckinnon (Tue, 16 May 2017 13:46:18 GMT):
perfect timing as I just got some test payloads I think.

adamludvik (Tue, 16 May 2017 14:02:17 GMT):
Here is the REST API spec, _most_ of which is implemented: http://intelledger.github.io/0.8/rest_api/endpoint_specs.html

adamludvik (Tue, 16 May 2017 14:03:15 GMT):
And here it's being used by XO to submit transactions and query state: https://github.com/hyperledger/sawtooth-core/blob/master/sdk/examples/xo_python/sawtooth_xo/xo_client.py

dennismckinnon (Tue, 16 May 2017 14:22:23 GMT):
oh

dennismckinnon (Tue, 16 May 2017 14:22:41 GMT):
you are manually handling the querying of state?

dennismckinnon (Tue, 16 May 2017 14:23:01 GMT):
as in the client needs to know how to access the right storage addresses?

amundson (Tue, 16 May 2017 14:38:15 GMT):
yes, the client specifies it's inputs/outputs. however, can also specify portions of the tree instead of specific nodes. so for what you are doing, you could just use inputs=[prefix],outputs=[prefix] where prefix is the namespace the txn family is using

dennismckinnon (Tue, 16 May 2017 14:39:26 GMT):
thanks shawn. That is the answer to another question I had but not the one I was currently asking :P

amundson (Tue, 16 May 2017 14:40:22 GMT):
ok, expanding on the one you didn't ask - you can think of inputs/outputs as hints for parallelism that are enforced during processing (you can't read/write to addresses you didn't specify)

dennismckinnon (Tue, 16 May 2017 14:41:23 GMT):
so when I'm constructing the transactions in js for example. For the inputs I only put the string of hex representation of the domain for the evm

dennismckinnon (Tue, 16 May 2017 14:41:40 GMT):
in something like this

dennismckinnon (Tue, 16 May 2017 14:41:45 GMT):
``` const encoder = new TransactionEncoder(privateKey, { // We don't want a batcher pubkey or dependencies for our example, // but this is what setting them might look like: // batcherPubkey: '02d260a46457a064733153e09840c322bee1dff34445d7d49e19e60abd18fd0758', // dependencies: ['540a6803971d1880ec73a96cb97815a95d374cbad5d865925e5aa0432fcf1931539afe10310c122c5eaae15df61236079abbf4f258889359c4d175516934484a'], familyName: 'intkey', familyVersion: '1.0', inputs: ['1cf12650d858e0985ecc7f60418aaf0cc5ab587f42c2570a884095a9e8ccacd0f6545c'], outputs: ['1cf12650d858e0985ecc7f60418aaf0cc5ab587f42c2570a884095a9e8ccacd0f6545c'], payloadEncoding: 'application/cbor', payloadEncoder: cbor.encode }) ```

dennismckinnon (Tue, 16 May 2017 14:42:53 GMT):
so if the domain for the evm was DEADBE those inputs would be just `deadbe`

amundson (Tue, 16 May 2017 14:44:10 GMT):
I think the addresses @adamludvik was defining were prefix+evm_address+padding, so yeah, if prefix=deadbe then inputs: ['deadbe'], outputs: ['deadbe']

amundson (Tue, 16 May 2017 14:45:19 GMT):
for retrieving state via the rest api, you need to be able to calculate the address to retrieve

dennismckinnon (Tue, 16 May 2017 14:45:23 GMT):
Ok cool. Now back to the question I was asking :) The evm during its execution can return data in fact its expected to.

amundson (Tue, 16 May 2017 14:45:54 GMT):
what is it returning data to?

dennismckinnon (Tue, 16 May 2017 14:46:06 GMT):
the client

dennismckinnon (Tue, 16 May 2017 14:47:15 GMT):
we use this in two primary ways

dennismckinnon (Tue, 16 May 2017 14:51:44 GMT):
the first is when actually processing a transaction we can get back information about the actual exectuion (did the contract refuse to process the request because it was not the right time or you are not the right user or the specified object you wanted to manipulate did not exist etc) or we have functionality to "simulate" a transaction which doesn't modify state but runs the evm in full against current state. this second mode we use primarily for retrieving structured information from the smart contracts since in order to know where values are being stored we would otherwise need to do some very tricky analysis of the bytecode. In general its easier to just write a function in the smart contract which retrieves the information for you

dennismckinnon (Tue, 16 May 2017 14:52:17 GMT):
for example. here is a simple "get-set" contract ``` pragma solidity ^0.4.0; contract getset { uint storedData; function set(uint x) { storedData = x; } function get() constant returns (uint retVal) { return storedData; } } ```

dennismckinnon (Tue, 16 May 2017 14:55:54 GMT):
so in this example the set function inside the smart contract doesn't return anything (but it could)

dennismckinnon (Tue, 16 May 2017 14:56:01 GMT):
it just changes the value

dennismckinnon (Tue, 16 May 2017 14:56:20 GMT):
the get function doesn't change state but returns the value we care about

dennismckinnon (Tue, 16 May 2017 14:57:27 GMT):
this is the dead simple example when we start getting to actual systems we have built we have much more structured data and a lot of returns

dennismckinnon (Tue, 16 May 2017 15:00:05 GMT):
I'm available to chat all day today so if you would like to discuss this in a call at some point we can do that :)

dennismckinnon (Tue, 16 May 2017 15:24:39 GMT):
@amundson do transactions have unique ids that are available to the client? Or is that only known to the chain and the transaction processor? I know that there is room for specifying dependencies but not sure where you get that from. I'm guessing its the hash of the serialized transaction but I don't see that explicitly stated in the architecture section of the docs

jsmitchell (Tue, 16 May 2017 15:25:28 GMT):
the transaction id is its signature

jsmitchell (Tue, 16 May 2017 15:25:36 GMT):
and is generated by the client

dennismckinnon (Tue, 16 May 2017 15:29:43 GMT):
as in the header_signature?

jsmitchell (Tue, 16 May 2017 15:30:08 GMT):
yep

dennismckinnon (Tue, 16 May 2017 15:30:25 GMT):
ok excellent

dennismckinnon (Tue, 16 May 2017 15:30:52 GMT):
ben and I were brainstorming alternative methods for getting the returns of evm calls back

dennismckinnon (Tue, 16 May 2017 15:32:07 GMT):
one simple idea is to have them written to state in another domain under the transaction id

dennismckinnon (Tue, 16 May 2017 15:35:06 GMT):
the only downsides are, 1)The purpose of simulated calls was to be quick queries which did not need to be confirmed into state. (with tendermint this process would take 2 seconds which for read access is not really good) 2)by writing returns into state this means that alot of unnecessary query data would be stored to the chain. I can think of some uses cases for this (such as proof of access) but for most its just wasteful

jsmitchell (Tue, 16 May 2017 15:51:02 GMT):
where are the simulated calls used?

dennismckinnon (Tue, 16 May 2017 15:51:42 GMT):
in the code? or in practice?

jsmitchell (Tue, 16 May 2017 15:51:51 GMT):
in practice

dennismckinnon (Tue, 16 May 2017 15:52:24 GMT):
well in the example above with the get set contract, since the get function does not modify state it would be a simulated call

dennismckinnon (Tue, 16 May 2017 15:52:43 GMT):
(no blocks need to be formed its just a query)

adamludvik (Tue, 16 May 2017 15:53:57 GMT):
(PR up with initial implementation and scripts to build it: https://github.com/hyperledger/sawtooth-core/pull/470)

jsmitchell (Tue, 16 May 2017 15:54:05 GMT):
are these calls invoked by a client? or as part of contract chaining?

dennismckinnon (Tue, 16 May 2017 15:55:23 GMT):
simulated calls are invoked by the client

jsmitchell (Tue, 16 May 2017 15:55:53 GMT):
against what version of state?

dennismckinnon (Tue, 16 May 2017 15:55:53 GMT):
they run a transaction exactly as if it were a normal transaction. but state doesn't get changed

dennismckinnon (Tue, 16 May 2017 15:56:05 GMT):
current head

jsmitchell (Tue, 16 May 2017 15:56:39 GMT):
so, it's basically the contract defining an interface for the exposure of its private storage

dennismckinnon (Tue, 16 May 2017 15:56:49 GMT):
yes

dennismckinnon (Tue, 16 May 2017 15:56:56 GMT):
precisely

jsmitchell (Tue, 16 May 2017 15:57:15 GMT):
@pschwarz ^

jsmitchell (Tue, 16 May 2017 15:57:42 GMT):
pertinent to our discussion of segregation of namespace from logic

jsmitchell (Tue, 16 May 2017 15:58:05 GMT):
because eth contracts define their own storage format, it's an additional abstraction

jsmitchell (Tue, 16 May 2017 15:59:33 GMT):
but, there may be a pattern there around requesting/rendering vs. invocation for the purposes of executing a transaction

dennismckinnon (Tue, 16 May 2017 16:01:45 GMT):
having the capability of triggering a transaction processor and having it return some data without the transaction actually having to go through consensus has been incredibly useful for us

dennismckinnon (Tue, 16 May 2017 16:02:21 GMT):
One thing I use it for is to copy segments of smart contract data into a traditional sql table for easier querying

adamludvik (Tue, 16 May 2017 17:31:15 GMT):
@dennismckinnon @benjaminbollen We had a local discussion here around events and querying. Instead of querying at the TP level, we could instead run an additional instance of the EVM that interacts with the REST API directly (using a different implementation of the AppState interface).

adamludvik (Tue, 16 May 2017 17:32:39 GMT):
This would also allow us to determine which addresses will be read/written from prior to submitting a transaction to the validator and possibly provide a place to implement an event system.

dennismckinnon (Tue, 16 May 2017 17:34:35 GMT):
interesting

adamludvik (Tue, 16 May 2017 17:35:50 GMT):

Message Attachments

dennismckinnon (Tue, 16 May 2017 17:37:27 GMT):
So in that picture it seems like the client has to run their own evm and then it fetches state from the rest api to run against?

adamludvik (Tue, 16 May 2017 17:39:26 GMT):
Yeah. So if the client is only reading from state, it won't result in transactions being sent to the validator. However, if it is changing state, it could construct transactions that get sent to the validator and end up at the TP where it modifies state.

adamludvik (Tue, 16 May 2017 17:41:21 GMT):
The client would also be able to "listen" for changes to specific addresses using the REST API State Delta Subscription that @pschwarz to set up an event system.

adamludvik (Tue, 16 May 2017 17:41:21 GMT):
The client would also be able to "listen" for changes to specific addresses using the REST API State Delta Subscription that @pschwarz is working on this sprint to set up an event system.

dennismckinnon (Tue, 16 May 2017 17:55:56 GMT):
I'm mulling it over. It seems fine though. Only concern is the added complexity to the client having to run its own evm (and ensuring its running the same version as the transaction processor).

benjaminbollen (Tue, 16 May 2017 18:07:29 GMT):
as a general note (from the sideline; apologies for being absent here) I see value in separating the questions of validation to the questions of querying; and with burrow we are pushing (as fast as we can) to a cleaner separation

pschwarz (Tue, 16 May 2017 18:09:55 GMT):
The event system, in its current form, runs over ZMQ, but we have some plans for accessing it via a web socket provided by the REST API

benjaminbollen (Tue, 16 May 2017 18:18:32 GMT):
(in case of burrow, to have tx and query input and output-result streams only on a verifying (not validating) node; we call it a "worker" - which has a full copy of state; then from there snapshot and export state and combine it with light client work to enable non-fully replicated clients)

benjaminbollen (Tue, 16 May 2017 18:22:21 GMT):
to the extent that that is not helpful here; I want to put up a warning against allowing queries against validator/mining nodes; it is imo an undesirable paradigm; for the immediate term, getting the state from validator and running a client-side TP* is a good step - if that s how I understood the above sketch

jsmitchell (Tue, 16 May 2017 18:44:06 GMT):
yep, that's the intent

adamludvik (Tue, 16 May 2017 19:11:40 GMT):

Message Attachments

adamludvik (Tue, 16 May 2017 19:12:26 GMT):
That is the output when running some sample code I got from @dennismckinnon

adamludvik (Tue, 16 May 2017 19:13:01 GMT):
I am confused as to why I don't see a SSTORE opcode in there though

adamludvik (Tue, 16 May 2017 19:13:20 GMT):
or CREAT

adamludvik (Tue, 16 May 2017 19:13:20 GMT):
or CREATE

dennismckinnon (Tue, 16 May 2017 19:13:26 GMT):
this is from the first contract deployment?

adamludvik (Tue, 16 May 2017 19:13:29 GMT):
yep

dennismckinnon (Tue, 16 May 2017 19:14:03 GMT):
I don't see any sstores

dennismckinnon (Tue, 16 May 2017 19:14:16 GMT):
this looks good to me

dennismckinnon (Tue, 16 May 2017 19:14:28 GMT):
but you could check to see if the account was created

dennismckinnon (Tue, 16 May 2017 19:15:17 GMT):
OH

adamludvik (Tue, 16 May 2017 19:15:21 GMT):
I don't think it was. I have debug statements in SawtoothAppState, and I don't see any of them printing.

dennismckinnon (Tue, 16 May 2017 19:15:28 GMT):
you were confused why you DONT see a SSTORE

dennismckinnon (Tue, 16 May 2017 19:15:53 GMT):
you don't see it because code is stored in a different place than ... storage

dennismckinnon (Tue, 16 May 2017 19:16:12 GMT):
the sstore opcode is for putting something into storage

dennismckinnon (Tue, 16 May 2017 19:16:47 GMT):
as for why there isn't a create

dennismckinnon (Tue, 16 May 2017 19:16:52 GMT):
that part is weird to me

dennismckinnon (Tue, 16 May 2017 19:17:07 GMT):
oh wait

dennismckinnon (Tue, 16 May 2017 19:17:40 GMT):
i think maybe the returning the code in memory is what triggers the storage into the account code slot

dennismckinnon (Tue, 16 May 2017 19:18:15 GMT):
whereas the create opcode is used to create a contract from another already existing contract

dennismckinnon (Tue, 16 May 2017 19:18:22 GMT):
(what we call contract factories)

dennismckinnon (Tue, 16 May 2017 19:20:39 GMT):
Still something seems weird

dennismckinnon (Tue, 16 May 2017 19:21:33 GMT):
I thought the evm would return the address of the created contract

chrisconway (Tue, 16 May 2017 19:27:16 GMT):
Has joined the channel.

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

benjaminbollen (Tue, 16 May 2017 22:00:22 GMT):
Is this committed or pr ed to burrow-evm? (I havent looked yet, and signing off in europe soon) great work @adamludvik

adamludvik (Tue, 16 May 2017 22:12:05 GMT):
It is a PR now

adamludvik (Tue, 16 May 2017 22:12:14 GMT):
@dennismckinnon has been helping test it out

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

adamludvik (Thu, 18 May 2017 17:55:26 GMT):
I have written up a Sawtooth Burrow-EVM 0.1 Transaction Family Spec which I intend to follow for the rest of the integration. I believe it describes a system with the minimum set of functionality which we can use to iterate on for further improvements. I have posted it for public review and comment here: https://docs.google.com/document/d/1mHaM9MPJD9jGqyJfvrJsj9eSYLBdBLbccYJ8-B1CWgY/edit?usp=sharing

adamludvik (Thu, 18 May 2017 17:55:53 GMT):
^ @benjaminbollen @amundson @pschwarz

benjaminbollen (Fri, 19 May 2017 10:20:34 GMT):
great I will review

benjaminbollen (Fri, 19 May 2017 10:20:34 GMT):
great I will review and comment!

mfford (Mon, 22 May 2017 13:57:31 GMT):
@benjaminbollen Happy :birthday:!

adamludvik (Fri, 26 May 2017 15:42:30 GMT):
Is anyone familiar with how calling contracts that have been deployed works? I thought I understood it, but reviewing my code and the EVM code, I think there is a gap that I need to close.

adamludvik (Fri, 26 May 2017 16:57:21 GMT):
I think I may have it figured out after reviewing @dennismckinnon's messages. Looks like it is executing now, but I have a little more debugging to do

adamludvik (Fri, 26 May 2017 16:57:46 GMT):
Testing with ``` init 6060604052341561000c57fe5b5b60b08061001b6000396000f300606060405263ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166360fe47b1811460435780636d4ce63c146055575bfe5b3415604a57fe5b60536004356074565b005b3415605c57fe5b6062607d565b60408051918252519081900360200190f35b60008190555b50565b6000545b905600a165627a7a72305820ec5f770aeda092d29c5a11c326a9ca0c377f3342db5d8eabfdbc2f8ffc23e25d0029 set42 60fe47b1000000000000000000000000000000000000000000000000000000000000002a get 6d4ce63c ```

adamludvik (Fri, 26 May 2017 16:58:02 GMT):
Curious how the set42 and get were generated

dennismckinnon (Fri, 26 May 2017 17:22:44 GMT):
Hi adam

dennismckinnon (Fri, 26 May 2017 17:22:44 GMT):
Hi @adamludvik

dennismckinnon (Fri, 26 May 2017 17:23:38 GMT):
all of these data fields were generated by using the javascript libraries we have in order to do the formatting

dennismckinnon (Fri, 26 May 2017 17:24:15 GMT):
but I intercepted the payload on its way to the existing version of burrow

dennismckinnon (Fri, 26 May 2017 17:24:27 GMT):
as for how calling a contract works

dennismckinnon (Fri, 26 May 2017 17:24:55 GMT):
iirc what happens is that the address field is that of an existing contract and so the code of the contract gets run

dennismckinnon (Fri, 26 May 2017 17:25:31 GMT):
the data payload becomes the message data (not 100% what its called in the code i can dig into that in a bit)

dennismckinnon (Fri, 26 May 2017 17:26:47 GMT):
basically the code gets loaded from the account that you are calling and gets submitted to the evm which also has state, memory and message data available to it to work with

dennismckinnon (Fri, 26 May 2017 17:27:01 GMT):
I think that might be called the context of the evm instance but not sure

dennismckinnon (Fri, 26 May 2017 17:28:26 GMT):
anyways in the first we are creating a new contract so the address would be null and that makes the message data run and any return data from that run is the contract code during this time it can also modify state of the new contract's account

dennismckinnon (Fri, 26 May 2017 17:28:56 GMT):
in the second its is structured data so that the evm can pull out the contract function call arguments

dennismckinnon (Fri, 26 May 2017 17:29:15 GMT):
once upon a time we had to do this by hand but solidity and the abi do all the formatting

dennismckinnon (Fri, 26 May 2017 17:29:42 GMT):
the first 4 bytes are a trick to specify which function is being called

dennismckinnon (Fri, 26 May 2017 17:29:52 GMT):
and the rest are arguments

adamludvik (Fri, 26 May 2017 17:30:17 GMT):
I got it working!

dennismckinnon (Fri, 26 May 2017 17:30:28 GMT):
so i'm calling the set function (function ID 60fe47b1) and passing it a value of 42 (000000000000000000000000000000000000000000000000000000000000002a)

dennismckinnon (Fri, 26 May 2017 17:30:33 GMT):
WOOOOHOOOOO!!!!

dennismckinnon (Fri, 26 May 2017 17:30:41 GMT):
well done

adamludvik (Fri, 26 May 2017 17:31:19 GMT):
Output from my CLI running against the TP ``` sawtooth-lake/sawtooth-core - [evm-handler●] » docker exec -it dev-go bash root@0eb6bf7344b0:/# seth load -k 8ff78a756a018e41cdd0364bfe88cb4547867eae27a0ee03fd3a585000775d90 -i 6060604052341561000c57fe5b5b60b08061001b6000396000f300606060405263ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166360fe47b1811460435780636d4ce63c146055575bfe5b3415604a57fe5b60536004356074565b005b3415605c57fe5b6062607d565b60408051918252519081900360200190f35b60008190555b50565b6000545b905600a165627a7a72305820ec5f770aeda092d29c5a11c326a9ca0c377f3342db5d8eabfdbc2f8ffc23e25d0029 --url http://rest_api:8080 Data: Link: http://rest_api:8080/batch_status?id=6d369cb4ab66a694097286b2b661ad469c1113263314946e142e8648297a956726e75ffc1fe25135467cc4dc901685475d7e61e4cd6853156dbd09253061d20e Head: root@0eb6bf7344b0:/# seth exec -k 8ff78a756a018e41cdd0364bfe88cb4547867eae27a0ee03fd3a585000775d90 -t 6fb1aca9b78709b7a9fe94b9dce0d946adf48907 -d 60fe47b1000000000000000000000000000000000000000000000000000000000000002a --url http://rest_api:8080 Data: Link: http://rest_api:8080/batch_status?id=b73c1d5367c3f5fbf6a0e52bb25098272bca357cb9968baac00b7bcced683d9242a3542e90d111e2680a0c34a93f0e79aa214e3134af36e630630dbf8e898dc0 Head: root@0eb6bf7344b0:/# seth show -k 8ff78a756a018e41cdd0364bfe88cb4547867eae27a0ee03fd3a585000775d90 Error: Get http://127.0.0.1:8080/state/a84eda6fb1aca9b78709b7a9fe94b9dce0d946adf48907000000000000000000000000: dial tcp 127.0.0.1:8080: getsockopt: connection refused root@0eb6bf7344b0:/# seth show -k 8ff78a756a018e41cdd0364bfe88cb4547867eae27a0ee03fd3a585000775d90^C root@0eb6bf7344b0:/# seth show -k 8ff78a756a018e41cdd0364bfe88cb4547867eae27a0ee03fd3a585000775d90 --url http://rest_api:8080 Address: 6fb1aca9b78709b7a9fe94b9dce0d946adf48907 Balance: 0 Code : 606060405263ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166360fe47b1811460435780636d4ce63c146055575bfe5b3415604a57fe5b60536004356074565b005b3415605c57fe5b6062607d565b60408051918252519081900360200190f35b60008190555b50565b6000545b905600a165627a7a72305820ec5f770aeda092d29c5a11c326a9ca0c377f3342db5d8eabfdbc2f8ffc23e25d0029 Nonce : 0 Storage: [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 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 0 42] root@0eb6bf7344b0:/# seth exec -k 8ff78a756a018e41cdd0364bfe88cb4547867eae27a0ee03fd3a585000775d90 -t 6fb1aca9b78709b7a9fe94b9dce0d946adf48907 -d 6d4ce63c --url http://rest_api:8080 Data: Link: http://rest_api:8080/batch_status?id=ea757498af77728272b3260194d8f03379354f6d8c648010326e9e7e812b99726330f5bdbe8d8d9454ea1f5bdf47dca3bb13f8e59732337d773534d0655511f8 Head: ```

adamludvik (Fri, 26 May 2017 17:32:36 GMT):
seth is the client, load creates a new contract with the initialization data, exec calls the loaded contract with the given "message data" I think you called it, and show just dumps everything out in state at the address

adamludvik (Fri, 26 May 2017 17:33:02 GMT):
There are a bunch of simplifications going on here, but the bare minimum functionality is there

dennismckinnon (Fri, 26 May 2017 17:34:04 GMT):
hmmm

dennismckinnon (Fri, 26 May 2017 17:34:16 GMT):
its weird though... the contract data looks wrong to me

dennismckinnon (Fri, 26 May 2017 17:35:44 GMT):
nvm

dennismckinnon (Fri, 26 May 2017 17:36:16 GMT):
its just weird to me that it has the 606060 start....

dennismckinnon (Fri, 26 May 2017 17:36:34 GMT):
because I thought that was part of the contract deployment code

dennismckinnon (Fri, 26 May 2017 17:36:46 GMT):
and didn't usually end up in the final code

dennismckinnon (Fri, 26 May 2017 17:37:03 GMT):
but I just checked your raw evm output again from last week

dennismckinnon (Fri, 26 May 2017 17:37:17 GMT):
and it seems like that does get included

adamludvik (Fri, 26 May 2017 17:37:49 GMT):

Message Attachments

adamludvik (Fri, 26 May 2017 17:37:49 GMT):

Message Attachments

adamludvik (Fri, 26 May 2017 17:38:38 GMT):
Is there any additional processing that needs to happen with output the EVM gives after executing the contract deployment code?

dennismckinnon (Fri, 26 May 2017 17:38:51 GMT):
ah! message data = call data

dennismckinnon (Fri, 26 May 2017 17:38:54 GMT):
thats right

dennismckinnon (Fri, 26 May 2017 17:39:03 GMT):
been a while since i worked with the raw opcodes

adamludvik (Fri, 26 May 2017 17:40:39 GMT):
Sorry, that was after doing the get transaction

dennismckinnon (Fri, 26 May 2017 17:40:39 GMT):
ok

dennismckinnon (Fri, 26 May 2017 17:40:59 GMT):
this looks right

dennismckinnon (Fri, 26 May 2017 17:41:23 GMT):
``` tp_burrow_evm_1 | 2017/05/26 17:28:00.942153 vm.go:225: [DEBUG] (pc) 128 (op) SLOAD (st) 3 tp_burrow_evm_1 | 2017/05/26 17:28:00.942167 sawtooth_app_state.go:83: [DEBUG] GetStorage([111 177 172 169 183 135 9 183 169 254 148 185 220 224 217 70 173 244 137 7 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 0 0 0 0 0 0 0 0 0 0 0 0 0]) validator_1 | [17:28:00.946 DEBUG tp_state_handlers] GET: [('a84eda6fb1aca9b78709b7a9fe94b9dce0d946adf48907000000000000000000000000', b'\n\xd5\x01\n o\xb1\xac\xa9\xb7\x87\t\xb7\xa9\xfe\x94\xb9\xdc\xe0\xd9F\xad\xf4\x89\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\xb0\x01```@Rc\xff\xff\xff\xff|\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x005\x04\x16c`\xfeG\xb1\x81\x14`CW\x80cmL\xe6<\x14`UW[\xfe[4\x15`JW\xfe[`S`\x045`tV[\x00[4\x15`\\W\xfe[`b`}V[`@\x80Q\x91\x82RQ\x90\x81\x90\x03` \x01\x90\xf3[`\x00\x81\x90U[PV[`\x00T[\x90V\x00\xa1ebzzr0X \xec_w\n\xed\xa0\x92\xd2\x9cZ\x11\xc3&\xa9\xca\x0c7\x7f3B\xdb]\x8e\xab\xfd\xbc/\x8f\xfc#\xe2]\x00)\x12D\n \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00*')] validator_1 | [17:28:00.948 DEBUG interconnect] ServerThread sending TP_STATE_GET_RESPONSE to b'e7ee6718-7a95-4f55-a936-423328519675' tp_burrow_evm_1 | 2017/05/26 17:28:00.950693 vm.go:684: [DEBUG] {0x0000000000000000000000000000000000000000000000000000000000000000 : 0x000000000000000000000000000000000000000000000000000000000000002A} ```

dennismckinnon (Fri, 26 May 2017 17:41:36 GMT):
ok the formatting failed

dennismckinnon (Fri, 26 May 2017 17:41:45 GMT):
but notice this is the SLOAD call

dennismckinnon (Fri, 26 May 2017 17:42:01 GMT):
and then the value that gets loaded into memory is 2A = 42

dennismckinnon (Fri, 26 May 2017 17:42:23 GMT):
and then ``` tp_burrow_evm_1 | 2017/05/26 17:28:00.956400 vm.go:225: [DEBUG] (pc) 115 (op) RETURN (st) 3 tp_burrow_evm_1 | 2017/05/26 17:28:00.956433 vm.go:914: [DEBUG] => [96, 32] (32) 0x000000000000000000000000000000000000000000000000000000000000002A tp_burrow_evm_1 | 2017/05/26 17:28:00.956640 handler.go:202: [DEBUG] EVM Output: 000000000000000000000000000000000000000000000000000000000000002a ```

dennismckinnon (Fri, 26 May 2017 17:42:27 GMT):
it returns it

dennismckinnon (Fri, 26 May 2017 17:42:43 GMT):
so this is perfect validation that it is infact working

dennismckinnon (Fri, 26 May 2017 17:43:06 GMT):
now normally.... the return value from this run of the code

adamludvik (Fri, 26 May 2017 17:43:09 GMT):

Message Attachments

dennismckinnon (Fri, 26 May 2017 17:43:13 GMT):
would be returned to the client

adamludvik (Fri, 26 May 2017 17:43:31 GMT):
You can see it do SSTORE in that second file.

dennismckinnon (Fri, 26 May 2017 17:43:47 GMT):
yes

dennismckinnon (Fri, 26 May 2017 17:43:52 GMT):
this is wonderful

dennismckinnon (Fri, 26 May 2017 17:44:07 GMT):
and it has no return data

adamludvik (Fri, 26 May 2017 17:44:10 GMT):
Yeah, I am thinking we implement a simpler version of the EVM wrapper we did with the TP on the client side, so you can actually return the value from the client

adamludvik (Fri, 26 May 2017 17:44:16 GMT):
Like we discussed

dennismckinnon (Fri, 26 May 2017 17:44:22 GMT):
(though in practice it normally would)

dennismckinnon (Fri, 26 May 2017 17:44:48 GMT):
ok

dennismckinnon (Fri, 26 May 2017 17:45:16 GMT):
though that does make it a wee bit complicated for non-query type returns

dennismckinnon (Fri, 26 May 2017 17:45:31 GMT):
like if the set returned a confirmation code

dennismckinnon (Fri, 26 May 2017 17:45:36 GMT):
or an errorcode

adamludvik (Fri, 26 May 2017 17:46:07 GMT):
hmm, we will have to figure out how to handle those too then

dennismckinnon (Fri, 26 May 2017 17:46:10 GMT):
you wouldn't want to get that by simulating the call first and ignoring reality when it got into a block

dennismckinnon (Fri, 26 May 2017 17:46:29 GMT):
mostly because it could be unreliable by the time it got into the block

dennismckinnon (Fri, 26 May 2017 17:46:45 GMT):
but as ben pointed out before

adamludvik (Fri, 26 May 2017 17:46:45 GMT):
that makes sense

dennismckinnon (Fri, 26 May 2017 17:47:11 GMT):
if you have a forking chain consensus algorithm then this doesn't always make sense

dennismckinnon (Fri, 26 May 2017 17:47:35 GMT):
I'm guessing that if there is some kind of event pipe to send it back through then thats the best you could do

dennismckinnon (Fri, 26 May 2017 17:48:40 GMT):
Anyways this is awesome!

dennismckinnon (Fri, 26 May 2017 17:49:42 GMT):
Since this seems to be working I'll focus on writing a dumbed down version of the jslibs we have

dennismckinnon (Fri, 26 May 2017 17:49:47 GMT):
to hook into sawtooth

adamludvik (Fri, 26 May 2017 17:50:30 GMT):
We should try deploying a slightly more complex contract too. Do you think it would be hard to write something in the same vein as the intkey family in solidity?

adamludvik (Fri, 26 May 2017 17:50:32 GMT):
http://intelledger.github.io/transaction_family_specifications/integerkey_transaction_family.html

dennismckinnon (Fri, 26 May 2017 17:51:01 GMT):
three functions?

dennismckinnon (Fri, 26 May 2017 17:51:19 GMT):
set(key, value), inc(key, value), dec(key,value)?

dennismckinnon (Fri, 26 May 2017 17:51:19 GMT):
set(key, value), inc(key), dec(key)?

adamludvik (Fri, 26 May 2017 17:51:28 GMT):
Yeah, basically.

adamludvik (Fri, 26 May 2017 17:51:41 GMT):
Right now we just have one key, right?

dennismckinnon (Fri, 26 May 2017 17:52:39 GMT):
oh really?

dennismckinnon (Fri, 26 May 2017 17:52:47 GMT):
so you don't even specify the key?

dennismckinnon (Fri, 26 May 2017 17:53:01 GMT):
it basically the get set contract with two additional functions?

adamludvik (Fri, 26 May 2017 17:53:16 GMT):
I mean, in that contract code you provided. There isn't a key, just one value you can set/get.

adamludvik (Fri, 26 May 2017 17:53:31 GMT):
In the intkey family, there are many keys

dennismckinnon (Fri, 26 May 2017 17:54:02 GMT):
ok

dennismckinnon (Fri, 26 May 2017 17:54:14 GMT):
what can the keys be?

dennismckinnon (Fri, 26 May 2017 17:55:10 GMT):
or do you care if i just make the key and integer

adamludvik (Fri, 26 May 2017 17:55:37 GMT):
The keys are "utf-8 encoded strings with a maximum of 20 characters" in the spec, but we can do whatever makes sense in the land of smart contracts. So an integer would be fine.

adamludvik (Fri, 26 May 2017 17:57:13 GMT):
Another thing that would be useful is a brief write-up of how to generate the blobs you provided originally. (contract deployment code, function call code) I have been playing with solc, but haven't gotten very far yet.

dennismckinnon (Fri, 26 May 2017 17:57:32 GMT):
yeah solc is only half the battle

dennismckinnon (Fri, 26 May 2017 17:58:04 GMT):
in order to format your data for calls you use the abi

dennismckinnon (Fri, 26 May 2017 17:58:38 GMT):
which has to be one of the most confusing things ever... most of the time I just imagine it as a black box

dennismckinnon (Fri, 26 May 2017 17:58:41 GMT):
:P

dennismckinnon (Fri, 26 May 2017 17:59:13 GMT):
``` pragma solidity ^0.4.0; contract getset { mapping uint => uint storedData; function set(uint key, uint value) { storedData[key] = value; } function inc(uint key){ storedData[key] = storedData[key] + 1; } function dec(uint key){ storedData[key] = storedData[key] - 1; } function get(uint key) constant returns (uint retVal) { return storedData[key]; } } ```

dennismckinnon (Fri, 26 May 2017 17:59:13 GMT):
``` pragma solidity ^0.4.0; contract intkey { mapping uint => uint storedData; function set(uint key, uint value) { storedData[key] = value; } function inc(uint key){ storedData[key] = storedData[key] + 1; } function dec(uint key){ storedData[key] = storedData[key] - 1; } function get(uint key) constant returns (uint retVal) { return storedData[key]; } } ```

dennismckinnon (Fri, 26 May 2017 17:59:13 GMT):
``` pragma solidity ^0.4.0; contract intkey { mapping (uint => uint) storedData; function set(uint key, uint value) { storedData[key] = value; } function inc(uint key){ storedData[key] = storedData[key] + 1; } function dec(uint key){ storedData[key] = storedData[key] - 1; } function get(uint key) constant returns (uint retVal) { return storedData[key]; } } ```

dennismckinnon (Fri, 26 May 2017 18:11:41 GMT):
ok

dennismckinnon (Fri, 26 May 2017 18:13:12 GMT):
by the way adam

dennismckinnon (Fri, 26 May 2017 18:13:29 GMT):
if this was an actual contract you would recognize the structure

dennismckinnon (Fri, 26 May 2017 18:13:44 GMT):
its much like the handlers you demoed yesterday

dennismckinnon (Fri, 26 May 2017 18:13:54 GMT):
an bunch of checks to validate input

dennismckinnon (Fri, 26 May 2017 18:14:06 GMT):
followed by some changes to state

dennismckinnon (Fri, 26 May 2017 18:14:38 GMT):
basically smart contracts are their own transaction handlers running in a vm

dennismckinnon (Fri, 26 May 2017 18:18:01 GMT):
after a bit of finagling: ``` 6060604052341561000c57fe5b5b6101748061001c6000396000f300606060405263ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416631ab06ee5811461005b578063812600df146100735780639507d39a14610098578063c20efb90146100bd575bfe5b341561006357fe5b6100716004356024356100e2565b005b341561007b57fe5b6100866004356100f8565b60408051918252519081900360200190f35b34156100a057fe5b610086600435610115565b60408051918252519081900360200190f35b34156100c557fe5b61008660043561012a565b60408051918252519081900360200190f35b60008281526020819052604090208190555b5050565b60008181526020819052604090208054600101908190555b919050565b6000818152602081905260409020545b919050565b6000818152602081905260409020805460001901908190555b9190505600a165627a7a723058205daf5c3ea3ad36e9dd0a0c027d3f74a94519a807cd6f44185b666af2f59604a70029 contract deployed at : 4F82C45EFB345A9EE2EDEFF637DF87081DED0C9A 1ab06ee50000000000000000000000000000000000000000000000000000000005473c96000000000000000000000000000000000000000000000000000000000000002a Done setting 9507d39a0000000000000000000000000000000000000000000000000000000005473c96 returned value: 42 812600df0000000000000000000000000000000000000000000000000000000005473c96 incrementing returned value: 43 c20efb900000000000000000000000000000000000000000000000000000000005473c96 decrementing returned value: 42 ```

dennismckinnon (Fri, 26 May 2017 18:18:20 GMT):
try that out and see how it works for you

dennismckinnon (Fri, 26 May 2017 18:18:36 GMT):
as usual the first block in the contract deployment

dennismckinnon (Fri, 26 May 2017 18:18:41 GMT):
second is setting

dennismckinnon (Fri, 26 May 2017 18:19:04 GMT):
third is getting fourth and fifth are inc and dec respectfully

dennismckinnon (Fri, 26 May 2017 18:19:38 GMT):
I'm using the integer 88554646 as my key here

dennismckinnon (Fri, 26 May 2017 18:19:54 GMT):
(thats why the get command is longer then before

dennismckinnon (Fri, 26 May 2017 18:22:56 GMT):
@adamludvik I can do two things for you. One is I can tear out the parts of the javascript libraries that do the formatting of data payloads and expose that functionality for you

dennismckinnon (Fri, 26 May 2017 18:23:21 GMT):
or I can write a client to hook into the rest-api and will submit the transactions

dennismckinnon (Fri, 26 May 2017 18:23:35 GMT):
unless you already have a js lib for that

dennismckinnon (Fri, 26 May 2017 18:23:55 GMT):
in which case I can focus on incorporating the formatter in with it

dennismckinnon (Fri, 26 May 2017 18:24:36 GMT):
in either case its going to be a day or two worth of work to get it done since I have to be carefule about not breaking that black box

dennismckinnon (Fri, 26 May 2017 18:25:10 GMT):
but i'm planning on working this weekend somewhat so I could probably have it monday or tuesday

adamludvik (Fri, 26 May 2017 18:44:18 GMT):
That `seth` client is interacting with the REST API and submitting transactions, but it is pretty basic right now. I think it would be interesting to have a tool that outputs those blobs you generated, but I'm not quite sure what it would look like yet. Also, thanks for coding that up and dumping the output for me!

adamludvik (Fri, 26 May 2017 18:49:51 GMT):
Long term, we will need to write a client that supports interacting with smart contracts in whatever way is most natural/accepted by the community. This implementation is more of a PoC than anything else. Once I get this merged, we will want to write a second version of the spec that solves a lot of these other problems that you, @amundson and @benjaminbollen have brought up.

adamludvik (Fri, 26 May 2017 20:57:24 GMT):
PR is up: https://github.com/hyperledger/sawtooth-core/pull/535

compleatang (Sun, 28 May 2017 16:41:30 GMT):
Has joined the channel.

snowy13 (Tue, 30 May 2017 01:29:26 GMT):
Has joined the channel.

amundson (Thu, 01 Jun 2017 15:55:37 GMT):
@benjaminbollen @dennismckinnon how often are the block information op codes used in practice in smart contracts (0x4?)?

adamludvik (Thu, 01 Jun 2017 17:08:58 GMT):
I have updated the spec and am going to start converting it to Sphinx. I also updated the Appendix in the doc. It is now a catalogue of the work that needs to be completed for the integration to reach maturity. My hope is that we can use it to assign specific tasks going forward and collaborate more efficiently: https://docs.google.com/document/d/1mHaM9MPJD9jGqyJfvrJsj9eSYLBdBLbccYJ8-B1CWgY/edit?usp=sharing

dennismckinnon (Thu, 01 Jun 2017 18:05:47 GMT):
@amundson the most useful of those tends to be TIMESTAMP (0x42)

dennismckinnon (Thu, 01 Jun 2017 18:07:40 GMT):
NUMBER can on occasion be useful and there are some use cases for blockhash (mostly as a source of an "unpredictable" number even though its not truly random which is an interesting question in its own right)

dennismckinnon (Thu, 01 Jun 2017 18:07:40 GMT):
NUMBER can on occasion be useful and there are some use cases for BLOCKHASH (mostly as a source of an "unpredictable" number even though its not truly random which is an interesting question in its own right)

dennismckinnon (Thu, 01 Jun 2017 18:09:08 GMT):
but of these TIMESTAMP is definitely the most widely used

dennismckinnon (Thu, 01 Jun 2017 18:09:45 GMT):
i would say >50% of applications we have written make use of timestamp.

dennismckinnon (Thu, 01 Jun 2017 18:10:15 GMT):
normally its in the case of tracking when an instrument comes to maturity

dennismckinnon (Thu, 01 Jun 2017 18:10:34 GMT):
why do you ask?

amundson (Mon, 05 Jun 2017 22:42:57 GMT):
@dennismckinnon thanks. I ask because I needed another opinion on whether we should expose block information to sawtooth transaction processors.

amundson (Mon, 05 Jun 2017 22:48:05 GMT):
I'm very interested in learning the mechanics around trusting a block's timestamp

dennismckinnon (Mon, 05 Jun 2017 23:01:39 GMT):
Well... in non forking consensus its extremely useful. I can see that it might be less reliable in a forking consensus model

amundson (Mon, 05 Jun 2017 23:02:25 GMT):
how do you know the block wasn't generated with an inaccurate timestamp?

amundson (Mon, 05 Jun 2017 23:02:38 GMT):
(from a network perspective)

kelly_ (Mon, 05 Jun 2017 23:14:56 GMT):
@amundson in the case of bitcoin the timestamp is in the blockheader, blocks are rejected by nodes if the timestamp is > +/- 2 hours of your local clock

kelly_ (Mon, 05 Jun 2017 23:15:54 GMT):
also your blocktime must be later than the last block time

kelly_ (Mon, 05 Jun 2017 23:16:54 GMT):
looks like that is much tighter in ethereum - Is block.timestamp <= now + 900 and is block.timestamp >= parent.timestamp?

amundson (Mon, 05 Jun 2017 23:17:54 GMT):
must ignore timestamp on historical blocks

kelly_ (Mon, 05 Jun 2017 23:20:26 GMT):
what do you mean

amundson (Mon, 05 Jun 2017 23:21:47 GMT):
well, if you start from genesis and use +/- 2 hours, very few blocks are going to satisfy that

amundson (Mon, 05 Jun 2017 23:21:55 GMT):
(only the most recent)

kelly_ (Mon, 05 Jun 2017 23:22:40 GMT):
The only checks that are done are relative to the previous parent, and your local time

kelly_ (Mon, 05 Jun 2017 23:23:30 GMT):
I guess it's really not +/-

kelly_ (Mon, 05 Jun 2017 23:23:34 GMT):
it's just +

kelly_ (Mon, 05 Jun 2017 23:24:02 GMT):
so if some reason the previous miner chose to skew the block they published to actual time + 2 hours

kelly_ (Mon, 05 Jun 2017 23:24:15 GMT):
you're only response is the do their timestamp + 1 second

kelly_ (Mon, 05 Jun 2017 23:24:35 GMT):
which if the network accepted their block, and more than 1 second has elapsed since they broadcast, than they should accept your block

kelly_ (Mon, 05 Jun 2017 23:25:00 GMT):
ohhh

kelly_ (Mon, 05 Jun 2017 23:25:15 GMT):
you don't check block timestamp for correctness when you are syncing

kelly_ (Mon, 05 Jun 2017 23:25:28 GMT):
if that's what you are asking

amundson (Mon, 05 Jun 2017 23:25:35 GMT):
that's what I was suggesting, yes

kelly_ (Mon, 05 Jun 2017 23:25:42 GMT):
you just assume that it was correct if that is on the 'most work' chain

kelly_ (Mon, 05 Jun 2017 23:26:15 GMT):
theirs no way to confirm a posteriori

kelly_ (Mon, 05 Jun 2017 23:27:11 GMT):
so in a way it's like your 'distributed oracle'

kelly_ (Mon, 05 Jun 2017 23:27:38 GMT):
the block timestamp is a type of "transaction" that the network agrees to at the time, but can't be verified after

amundson (Mon, 05 Jun 2017 23:27:38 GMT):
in bond, we injected clock transactions which worked in a similar fashion - https://github.com/hyperledger/sawtooth-core/blob/0-7/extensions/bond/sawtooth_bond/updates/clock.py

kelly_ (Mon, 05 Jun 2017 23:27:45 GMT):
yup

dennismckinnon (Tue, 06 Jun 2017 01:58:03 GMT):
@amundson you generally dont need it to be precise. Most legal instruments either care about ordering or time within some fairly wide degree of tolerance. They usually dont care about second minute or even hour accuracy

dennismckinnon (Tue, 06 Jun 2017 02:01:27 GMT):
But based on the discussion above which i only partially followed are you saying that there is absolutely no mechamisms to bound the error in the timestamp. A block could have a timestamp 10 years. 100 years out?

dennismckinnon (Tue, 06 Jun 2017 02:02:07 GMT):
Most applications in that sense only care about timestamp to indicate approximate time after which execution is possible

dennismckinnon (Tue, 06 Jun 2017 02:03:25 GMT):
There are some like randao type contracts which would place closer constraints but in those cases you could substitute NUMBER as a potentially more reliable indication of passed time?

dennismckinnon (Tue, 06 Jun 2017 02:03:36 GMT):
Maybe even thats not the case

dennismckinnon (Tue, 06 Jun 2017 02:03:54 GMT):
You will have to let me know about that

amundson (Tue, 06 Jun 2017 14:01:13 GMT):
@dennismckinnon have you seen any contracts that use a "before TIMESTAMP" check instead of "after TIMESTAMP"?

dennismckinnon (Tue, 06 Jun 2017 14:32:37 GMT):
Are those just negations of each other? Anything that can be formulated as after TIMESTAMP can be reformulated as NOT before TIMESTAMP and vice versa

amundson (Tue, 06 Jun 2017 14:42:35 GMT):
they have different assurances based on how TIMESTAMP is bounded

dennismckinnon (Tue, 06 Jun 2017 15:04:58 GMT):
I see... sort of. I am able to convince myself both ways right now :P In any case before TIMESTAMP logic can on occasion happen.

dennismckinnon (Tue, 06 Jun 2017 15:05:23 GMT):
normally deadline for submission

MaximeLandon (Wed, 14 Jun 2017 00:52:33 GMT):
Has joined the channel.

casualuser (Wed, 14 Jun 2017 08:09:56 GMT):
Has joined the channel.

mattalhonte (Fri, 16 Jun 2017 18:26:35 GMT):
Has joined the channel.

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

atq (Tue, 20 Jun 2017 10:44:16 GMT):
Has joined the channel.

adamludvik (Thu, 22 Jun 2017 21:41:47 GMT):
Hello! I am trying to understand the different permission types here: https://github.com/hyperledger/burrow/blob/master/permission/types/permissions.go#L37

adamludvik (Thu, 22 Jun 2017 21:42:27 GMT):
Can anyone point me in the right direction? Otherwise I will be browsing the repo some more.

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

albrandt (Fri, 23 Jun 2017 18:38:52 GMT):
Has joined the channel.

atq (Mon, 26 Jun 2017 08:52:11 GMT):
@adamludvik: this may be of help: https://dweller.katalysis.io

adamludvik (Mon, 26 Jun 2017 12:55:06 GMT):
thans!

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

dplumb (Mon, 10 Jul 2017 15:05:54 GMT):
Has joined the channel.

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

albrandt (Thu, 27 Jul 2017 19:15:32 GMT):
Has left the channel.

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

highlander (Tue, 22 Aug 2017 19:08:48 GMT):
Has joined the channel.

dataharvest (Tue, 22 Aug 2017 19:57:19 GMT):
Has joined the channel.

garseneau (Wed, 23 Aug 2017 18:56:31 GMT):
Has joined the channel.

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

timblankers (Thu, 31 Aug 2017 12:31:29 GMT):
Has joined the channel.

Khakhar (Mon, 04 Sep 2017 03:28:56 GMT):
Has joined the channel.

silasdavis (Tue, 05 Sep 2017 11:18:27 GMT):
I've heard there was work on a web3 interface for Sawtooth-Burrow... Is that right? Is there any progress on that?

kelly_ (Tue, 05 Sep 2017 18:35:45 GMT):
@adamludvik would have that info :(

kelly_ (Tue, 05 Sep 2017 18:35:45 GMT):
@adamludvik would have that info :)

kelly_ (Tue, 05 Sep 2017 18:35:52 GMT):
whoops :) *

adamludvik (Wed, 06 Sep 2017 23:52:37 GMT):
@silasdavis Yes, we have done some research and design work towards implementing that interface. We are also planning to support (most of) the JSON-RPC methods defined here: https://monax.io/docs/documentation/db/latest/specifications/api/ The actual implementation will begin in the next week or so, probably by me or @pschwarz

adamludvik (Wed, 06 Sep 2017 23:52:37 GMT):
@silasdavis Yes, we have done some research and design work towards implementing that interface. We are also planning to support (most of) the JSON-RPC methods defined by Burrow here: https://monax.io/docs/documentation/db/latest/specifications/api/ The actual implementation will begin in the next week or so, probably by me or @pschwarz

silasdavis (Thu, 07 Sep 2017 11:41:29 GMT):
@adamludvik is there any design work I could see? Do you plan to support RLP serialisation and secp256k1 keys?

adamludvik (Thu, 07 Sep 2017 13:47:39 GMT):
Sure, I will put something together to share with you. Our goal is for existing apps built on web3.js to be able to transition to Sawtooth as seamlessly as possible. I am not aware of how those features are used in that context, so we do not have plans to support them.. yet. Could you elaborate more on how those are used and why we might want to support them?

adamludvik (Thu, 07 Sep 2017 13:48:45 GMT):
@Dan

kelly_ (Thu, 07 Sep 2017 15:26:03 GMT):
RLP is the serialization schema used by Ethereum

kelly_ (Thu, 07 Sep 2017 15:26:21 GMT):
we already support SECP256k1 @silasdavis - it is our dominant signing algorithim

kelly_ (Thu, 07 Sep 2017 15:27:32 GMT):
@adamludvik https://github.com/ethereum/wiki/wiki/RLP

adamludvik (Thu, 07 Sep 2017 15:32:39 GMT):
I know what RLP and secp256k1 are. I am wondering how they are relevant to supporting web3.js

adamludvik (Thu, 07 Sep 2017 15:42:51 GMT):
@silasdavis to clarify, we are planning to implement a JSON-RPC server that provides (most of) the methods used by web3.js and burrow, not write a new web3.js library. The only place I can think of off the top of my head where the encoding scheme and encryption scheme would come into play at that layer is with the `eth_sendRawTransaction` rpc method and maybe the `transact` (which the monax docs say is unsafe) and `broadcastTx` (which the monax docs say is not useful yet).

adamludvik (Thu, 07 Sep 2017 15:49:08 GMT):

Message Attachments

silasdavis (Thu, 07 Sep 2017 16:52:42 GMT):
Thanks, looks promising. Regarding the encoding it depends what assumptions are made by web3 clients. If all they do is use the hashes returned by web3 methods as arguments to other calls, like the hash from `eth_sendTransaction` being used for `eth_getTransactionByHash` then it shouldn't matter

silasdavis (Thu, 07 Sep 2017 16:53:10 GMT):
but if they do things like try to form a particular blocks hash client-side and query it then it is a problem

silasdavis (Thu, 07 Sep 2017 16:53:25 GMT):
perhaps that is not mainstream behaviour I'm not sure

silasdavis (Thu, 07 Sep 2017 16:54:20 GMT):
As you say `eth_sendRawTransaction` would be an issue. Also we can't implement the various 'uncle' block methods

silasdavis (Thu, 07 Sep 2017 16:54:31 GMT):
but that's fine and no way around it

silasdavis (Thu, 07 Sep 2017 16:59:56 GMT):
Another thing I think we need to do is break out the Burrow EVM in to an clearly reusable library rather than the copy pasting we currently have

silasdavis (Thu, 07 Sep 2017 17:00:07 GMT):
there are already some fixes that are in Burrow not in your version

silasdavis (Thu, 07 Sep 2017 17:00:27 GMT):
and it would be nice if we had an easy way for you to push any improvements or fixes upstream

silasdavis (Thu, 07 Sep 2017 17:01:18 GMT):
Did you make any/many changes to the EVM code when integrating it?

adamludvik (Thu, 07 Sep 2017 17:19:54 GMT):
Sounds like we are on roughly the same page. I agree that it would be better to depend on a separate burrow repository rather than have the code copied into ours. We only did that as a temporary convenience until the EVM is in a more reusable form. We did make a couple small changes to the evm code which I will send shortly.

adamludvik (Thu, 07 Sep 2017 17:25:43 GMT):
https://github.com/hyperledger/sawtooth-core/pull/692/files#diff-a37a8d9fb123fa51adc7f41ee18637e3

adamludvik (Thu, 07 Sep 2017 17:27:03 GMT):
I think that is the only functional change made so far. The other modifications have just been fixing some typos/missing pieces from when the evm was initially committed.

silasdavis (Thu, 07 Sep 2017 17:45:13 GMT):
So you could could just depend on Burrow, you'll only pay for what you import (not a great story with dependency management in go so far, though I am just trialling https://github.com/golang/dep).

silasdavis (Thu, 07 Sep 2017 17:45:13 GMT):
So you could could just depend on Burrow, you'll only pay for what you import, in the binary at least (not a great story with dependency management in go so far, though I am just trialling https://github.com/golang/dep).

silasdavis (Thu, 07 Sep 2017 17:46:32 GMT):
Not sure if Ben did any earlier editing to break any dependencies, easy enough to check

silasdavis (Thu, 07 Sep 2017 17:47:45 GMT):
If we had a pure EVM repo would you vendor it?

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

detroitpro (Mon, 11 Sep 2017 17:35:38 GMT):
Has joined the channel.

ktimam (Fri, 15 Sep 2017 14:50:16 GMT):
Has joined the channel.

ktimam (Fri, 15 Sep 2017 16:39:31 GMT):
Hello, I'm getting an error when trying to execute:

ktimam (Fri, 15 Sep 2017 16:39:33 GMT):
docker-compose -f docker/compose/sawtooth-seth.yaml up

ktimam (Fri, 15 Sep 2017 16:39:53 GMT):
ERROR: repository sawtooth-validator not found: does not exist or no pull access

ktimam (Fri, 15 Sep 2017 16:40:27 GMT):
Appreciate the help and thanks in advance

boydjohnson (Fri, 15 Sep 2017 16:43:12 GMT):
Hi @ktimam That docker compose file looks like it expects `bin/build_all` to have been run from sawtooth-core.

ktimam (Fri, 15 Sep 2017 16:44:07 GMT):
it run all the steps but failed at

ktimam (Fri, 15 Sep 2017 16:44:08 GMT):
[--- Running sawtooth-dev-go ---] /bin/sh: 1: build_go: not found

ktimam (Fri, 15 Sep 2017 16:45:04 GMT):
I'm using the docker quick start terminal on windows 10

boydjohnson (Fri, 15 Sep 2017 16:46:26 GMT):
The sawtooth-core git repo you have is quite recent?

ktimam (Fri, 15 Sep 2017 16:49:03 GMT):
just downloaded

boydjohnson (Fri, 15 Sep 2017 16:50:17 GMT):
I'm not sure. @adamludvik wrote the `build_all` script. Do you have any ideas?

ktimam (Fri, 15 Sep 2017 16:51:40 GMT):
Is there a ready made docker image on docker hub that i can use directly, i'm interested in the ethereum vm capabilities?

boydjohnson (Fri, 15 Sep 2017 16:58:19 GMT):
I don't think so for our evm transaction processor, seth-tp.

ktimam (Fri, 15 Sep 2017 17:00:22 GMT):
Does the step [--- Running sawtooth-dev-go ---] have to run for docker-compose to succeed?

boydjohnson (Fri, 15 Sep 2017 17:01:16 GMT):
I think so.

ktimam (Fri, 15 Sep 2017 17:04:44 GMT):
It seems to be searching for build_go in the wrong path, its directly under /bin?

adamludvik (Fri, 15 Sep 2017 17:21:54 GMT):
@ktimam Ethereum support is still in the early stages and we do not have a ready made docker image available yet. Make sure you are running `build_all` from `sawtooth-core` (you should have to do `./bin/build_all`). You can use `./bin/build_all -l go` to skip the other langauges.

ktimam (Fri, 15 Sep 2017 17:34:49 GMT):
Thanks @adamludvik . I tried that but it keeps running with all the steps successfully until it errors out at:

ktimam (Fri, 15 Sep 2017 17:34:50 GMT):
[--- Running sawtooth-dev-go ---] /bin/sh: 1: build_go: not found

ktimam (Fri, 15 Sep 2017 17:56:49 GMT):
Regarding seth-rpc, is there any timeline for when it would be available? Is it possible to deploy Solidity contracts and work with them through applications (mobile and web) without seth-rpc?

kelly_ (Fri, 15 Sep 2017 22:09:37 GMT):
@ktimam seth-rpc should be complete in the next few weeks

kelly_ (Fri, 15 Sep 2017 22:10:02 GMT):
you can currently deploy solidity contracts I believe, but interacting with them through Web3 is not yet possible until seth rpc is available

ktimam (Sat, 16 Sep 2017 20:05:41 GMT):
I tried building on Ubuntu build, and all is working flawlessly, seems to be a windows issue. Thanks @kelly_ @adamludvik @boydjohnson for your help, highly appreciated

ktimam (Sat, 16 Sep 2017 20:07:31 GMT):
One more question if you would allow me, are there any documentation/tutorials for compiling solidity code and running it on the node (i'm guessing the process is different than ethereum)?

kelly_ (Sat, 16 Sep 2017 20:47:55 GMT):
👍

kelly_ (Sat, 16 Sep 2017 20:48:07 GMT):
@adamludvik is the expert

kelly_ (Sat, 16 Sep 2017 20:48:13 GMT):
You may find some information here

kelly_ (Sat, 16 Sep 2017 20:48:19 GMT):
http://intelledger.github.io/transaction_family_specifications/sawtooth_burrow_evm_family.html#execution

ktimam (Mon, 18 Sep 2017 10:59:51 GMT):
Thanks @kelly_ . I was wondering if it is possible to use sawtooth burrow with truffle, i've been trying to migrate the contract using port 8080 of the seth-client instance, but it fails to connect?

ktimam (Mon, 18 Sep 2017 11:00:47 GMT):
pinging the seth-client ip address work fine though

szhman (Mon, 18 Sep 2017 14:19:43 GMT):
Has joined the channel.

kelly_ (Mon, 18 Sep 2017 15:19:19 GMT):
Ah, rpc compatability is not yet complete so that is probably why. Should be ready by the end of September I believe

adamludvik (Mon, 18 Sep 2017 15:49:54 GMT):
@ktimam We do not have any documentation/tutorials for compiling solidity code and running it yet. The plan is to have some of this complete by the end of September, as @kelly_ mentioned.

ktimam (Mon, 18 Sep 2017 16:07:10 GMT):
Thanks @kelly_ , @adamludvik for your help. I'll be rechecking again end of September for updates. Cheers.

kelly_ (Mon, 18 Sep 2017 16:41:41 GMT):
@adamludvik do you know if truffle/remix require the solidity compile RPCs?

adamludvik (Tue, 19 Sep 2017 14:30:41 GMT):
Not sure yet, @dplumb is looking into truffle

Dan (Thu, 21 Sep 2017 11:40:24 GMT):
@cianx @adamludvik fyi on a smart contract creation tool: https://etherparty.io/

cianx (Thu, 21 Sep 2017 11:40:24 GMT):
Has joined the channel.

danconway (Sat, 23 Sep 2017 18:51:39 GMT):
Has joined the channel.

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

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

cre8bidio (Wed, 04 Oct 2017 14:20:18 GMT):
Has joined the channel.

AlekNS (Fri, 06 Oct 2017 05:06:56 GMT):
Has joined the channel.

MonicaPinto (Fri, 06 Oct 2017 14:21:01 GMT):
Has joined the channel.

ktimam (Fri, 06 Oct 2017 20:45:29 GMT):
Hello, any updates regarding rpc compatibility?

Timote (Mon, 09 Oct 2017 12:15:21 GMT):
Has joined the channel.

Dan (Mon, 09 Oct 2017 13:38:33 GMT):
Not sure if this is helpful @ktimam but you might be able to see the Jira list here: https://jira.hyperledger.org/secure/RapidBoard.jspa?rapidView=3&view=planning&selectedIssue=STL-648&epics=visible&selectedEpic=STL-447 @adamludvik Looking at that epic, it seems like the functionality should be done (need some logging, unit tests, etc.). I can't tell if STL-648 is required for @ktimam's interests or not (which I assume are 'can I use Truffle').

ktimam (Mon, 09 Oct 2017 15:53:28 GMT):
Thanks @Dan

adamludvik (Mon, 09 Oct 2017 19:10:30 GMT):
@ktimam We have the Ethereum JSON RPC API mostly implemented, but have not done integration testing with it against web3.js yet. We have not implemented the Burrow JSON RPC API yet. I am working on writing some better docs first in the hopes of enabling the community to maybe help make the last push towards getting all the pieces talking correctly.

silasdavis (Tue, 10 Oct 2017 13:23:20 GMT):
Hey @adamludvik is the Web3 stuff on a branch anywhere I could look at, fine with it being preliminary

adamludvik (Tue, 10 Oct 2017 15:09:56 GMT):
It is in our master branch now: https://github.com/hyperledger/sawtooth-core/tree/master/families/seth/rpc

adamludvik (Tue, 10 Oct 2017 15:11:22 GMT):
As mentioned above the next thing that needs to happen is to fire up web3.js, point it at the running seth-rpc, try interacting with it, and start fixing any inconsistencies.

adamludvik (Tue, 10 Oct 2017 15:12:07 GMT):
I am slowly getting the documentation done now, but I am dividing my time between writing that and researching tendermint

adamludvik (Tue, 10 Oct 2017 15:13:09 GMT):
I heard from @amundson that you may have some feedback re: tendermint+sawtooth

silasdavis (Tue, 10 Oct 2017 16:01:43 GMT):
that's great, I need to avoid the temptation to get distracted on this now, but I think we'd definitely like to work with you more on the Burrow integration

silasdavis (Tue, 10 Oct 2017 16:01:58 GMT):
regarding Tendermint, and I've been speaking to @amundson just now

silasdavis (Tue, 10 Oct 2017 16:06:15 GMT):
Tendermint has a rather larger idea of what it thinks its job is as a consensus engine that I think Sawtooth does via its consensus interface

silasdavis (Tue, 10 Oct 2017 16:06:15 GMT):
Tendermint has a rather larger idea of what it thinks its job is as a consensus engine than I think Sawtooth does via its consensus interface

silasdavis (Tue, 10 Oct 2017 16:07:04 GMT):
in particular it expects to deal with gossip of transactions, formations of blocks, proposing of blocks, signing of blocks

silasdavis (Tue, 10 Oct 2017 16:08:53 GMT):
and exposes a callback interface (called ABCI) that you implement with the main methods of `CheckTx` and `DeliverTx`, the former it uses to check transactions it receives to its mempool against a disposable state cache (that the ABCI app - the implementer of the callback interface), and the latter it uses to verify a block before it is committed

silasdavis (Tue, 10 Oct 2017 16:09:17 GMT):
it might not be impossible to marry them but on first glance I think they would fit awkwardly together

silasdavis (Tue, 10 Oct 2017 16:09:17 GMT):
it might be impossible to marry them but on first glance I think they would fit awkwardly together

silasdavis (Tue, 10 Oct 2017 16:10:21 GMT):
You might be able hook directly into their `ConsensusReactor` but its not their intended public interface: https://github.com/tendermint/tendermint/blob/master/consensus/reactor.go

silasdavis (Wed, 11 Oct 2017 11:05:00 GMT):
@adamludvik in case it is useful, here is my more recent implementation of the Burrow ABCI app - our interface to Tendermint: https://github.com/silasdavis/burrow/blob/bosmarmot/consensus/tendermint/abci/app.go

silasdavis (Wed, 11 Oct 2017 11:05:42 GMT):
whereon it is passed to the tendermint `Node` on launch here: https://github.com/silasdavis/burrow/blob/bosmarmot/consensus/tendermint/tendermint.go#L52-L55

silasdavis (Wed, 11 Oct 2017 11:06:48 GMT):
The state we maintain on the Burrow side of the divide is contained in: https://github.com/silasdavis/burrow/blob/bosmarmot/consensus/tendermint/abci/app.go#L38-L40

adamludvik (Wed, 11 Oct 2017 14:21:49 GMT):
@silasdavis Thanks for the info! This confirms the research I did yesterday and helps a lot. I have some internal discussions today re:ABCI and will share the output after that.

mredmundto (Wed, 11 Oct 2017 14:48:44 GMT):
Has joined the channel.

parisa (Wed, 11 Oct 2017 17:19:47 GMT):
Has joined the channel.

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

karthikworks (Fri, 27 Oct 2017 08:39:44 GMT):
Has joined the channel.

meridian (Sat, 28 Oct 2017 13:56:23 GMT):
Has joined the channel.

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

stingley (Wed, 01 Nov 2017 14:07:11 GMT):
Has joined the channel.

lana-vk (Wed, 01 Nov 2017 14:26:56 GMT):
Has joined the channel.

silasdavis (Thu, 02 Nov 2017 10:12:18 GMT):
@amundson we'd discussed about EVM events in Seth which I'd noted where originally disabled, I think you told me they had been re-enabled, but they seem to still be commented out in the EVM: https://github.com/hyperledger/sawtooth-core/blob/master/families/seth/src/burrow/evm/vm.go#L131-L144

silasdavis (Thu, 02 Nov 2017 10:12:33 GMT):
am I looking in the right place, or where we talking at cross purposes?

silasdavis (Thu, 02 Nov 2017 10:12:41 GMT):
@adamludvik I guess you might know the status

adamludvik (Thu, 02 Nov 2017 17:54:20 GMT):
https://github.com/hyperledger/sawtooth-core/blob/master/families/seth/src/burrow/evm/vm.go#L807

adamludvik (Thu, 02 Nov 2017 17:54:45 GMT):
We just didn't end up using that function

teious (Thu, 02 Nov 2017 18:37:18 GMT):
Has joined the channel.

meridian (Fri, 03 Nov 2017 03:57:12 GMT):
anyone watch the Devcon 3 stream today?

meridian (Fri, 03 Nov 2017 03:57:24 GMT):
some real interesting stuff on EVM vs EVJIT and EV++

meridian (Fri, 03 Nov 2017 03:57:36 GMT):
and possible exploits

lana-vk (Fri, 03 Nov 2017 19:01:36 GMT):
nope, is there a recording?

meridian (Sat, 04 Nov 2017 17:54:09 GMT):
there is

meridian (Sat, 04 Nov 2017 17:54:15 GMT):
its on the youtube channel for ethereum foundation

meridian (Sat, 04 Nov 2017 17:54:24 GMT):
its the dude with the beard

meridian (Sat, 04 Nov 2017 17:54:32 GMT):
cant remember his name

chokha (Sun, 05 Nov 2017 19:36:08 GMT):
Has joined the channel.

cam.ross (Mon, 06 Nov 2017 19:46:47 GMT):
Has joined the channel.

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

Jimskie (Wed, 08 Nov 2017 16:51:28 GMT):
Has joined the channel.

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

laroque (Sun, 12 Nov 2017 16:53:27 GMT):
Has joined the channel.

denofernandes (Thu, 16 Nov 2017 16:33:36 GMT):
Has joined the channel.

chandrairawan (Fri, 17 Nov 2017 03:36:14 GMT):
Has joined the channel.

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

amolk (Fri, 17 Nov 2017 06:44:36 GMT):
Has joined the channel.

denis4net (Fri, 17 Nov 2017 18:31:30 GMT):
Has joined the channel.

nitefrog (Mon, 20 Nov 2017 09:07:31 GMT):
Has joined the channel.

umairmansha (Mon, 20 Nov 2017 13:26:19 GMT):
Has joined the channel.

guoger (Tue, 21 Nov 2017 03:20:56 GMT):
does sawtooth support JSON-RPC so that people could use web3js? thx

marc4gov (Tue, 21 Nov 2017 21:40:02 GMT):
Has joined the channel.

kelly_ (Wed, 22 Nov 2017 22:00:24 GMT):
It does support the rpc as specified by the Ethereum wiki

kelly_ (Wed, 22 Nov 2017 22:00:40 GMT):
However some tools like truffle do not work

kelly_ (Wed, 22 Nov 2017 22:01:16 GMT):
Don't know if the spec is different then the geth rpc

kelly_ (Wed, 22 Nov 2017 22:01:41 GMT):
@adamludvik may have more information

kelly_ (Wed, 22 Nov 2017 22:02:24 GMT):
If you happen to figure out why it's not web 3 compatible, feedback would be appreciated

kelly_ (Wed, 22 Nov 2017 22:02:42 GMT):
That's the goal moving forward

chandrairawan (Thu, 23 Nov 2017 02:16:16 GMT):
Has left the channel.

guoger (Thu, 23 Nov 2017 08:43:25 GMT):
ok, thx! will let you know if i find any

ruchit 2 (Fri, 24 Nov 2017 12:32:40 GMT):
Has joined the channel.

bmiller59 (Sat, 25 Nov 2017 19:32:44 GMT):
Has joined the channel.

mk3595 (Mon, 27 Nov 2017 21:30:45 GMT):
Has joined the channel.

Johnjam (Tue, 28 Nov 2017 16:06:05 GMT):
Has joined the channel.

jimmyadg (Wed, 29 Nov 2017 07:13:22 GMT):
Has joined the channel.

iamprem (Thu, 30 Nov 2017 18:19:15 GMT):
Has joined the channel.

ddcprg (Sat, 02 Dec 2017 18:56:00 GMT):
Has joined the channel.

ddcprg (Sat, 02 Dec 2017 19:09:54 GMT):
the used to be a solidity section in the sawtooth docs which has been removed in the RC's... my understanding was that sawtooth could use the EVM to run smart contracts, does this still hold? Can someone point me out where in the code I can find the EVM integration please?

ddcprg (Sat, 02 Dec 2017 20:58:19 GMT):
I guess this is it https://github.com/hyperledger/sawtooth-seth/tree/master/families/seth

adamludvik (Mon, 04 Dec 2017 21:56:53 GMT):
@ddcprg We removed Seth from the core repo and the RC's due to some licensing issues we did not have time to resolve. Improvements to the new repo will be made starting January.

reggie (Tue, 05 Dec 2017 10:02:57 GMT):
Has joined the channel.

ddcprg (Tue, 05 Dec 2017 20:53:37 GMT):
Thanks for the info @adamludvik

vizillion (Thu, 07 Dec 2017 03:22:48 GMT):
Has joined the channel.

thiago-moreira (Fri, 08 Dec 2017 22:29:29 GMT):
Has joined the channel.

PallabPaul (Sat, 09 Dec 2017 18:04:28 GMT):
Has joined the channel.

PallabPaul (Sat, 09 Dec 2017 18:07:41 GMT):
Hey everyone. I want to use a distributed ledger to start storing information that can be accessed across a few different offices. I specifically want to use Seth because of the Ethereum smart contracts. I need some material to get started though. Can anyone share some helpful links on how to get started using seth or just the sawtooth ledger in general. Thanks!

Dan (Sat, 09 Dec 2017 22:43:04 GMT):
Sure. You can install Sawtooth directly to ubuntu using apt-get, or run it through docker, or launch it on amazon from the marketplace. Instructions for each of those are in the sys admin guide here: https://sawtooth.hyperledger.org/docs/core/releases/1.0.0rc4/sysadmin_guide.html

Dan (Sat, 09 Dec 2017 22:45:34 GMT):
@amundson || @adamludvik where would one find the Seth docs these days? I see the Seth repo has a broken link in the readme. https://github.com/hyperledger/sawtooth-seth

Dan (Sat, 09 Dec 2017 22:48:34 GMT):
@PallabPaul above I link to docs for the latest Sawtooth code which is nearing 1.0 release. A stable release (v0.8) is also available and the Seth documentation for that can be found here: https://sawtooth.hyperledger.org/docs/core/releases/0.8/solidity_developers_guide.html

PallabPaul (Sun, 10 Dec 2017 04:01:10 GMT):
@Dan thank you very much I am really looking forward to using Seth

adamludvik (Mon, 11 Dec 2017 16:33:08 GMT):
Currently the only way to read the seth docs is from the source: https://github.com/hyperledger/sawtooth-seth/blob/master/docs/source/introduction.rst. They are not being published anywhere. @Dan, the link you sent above to the 0.8 docs is out of date.

Dan (Mon, 11 Dec 2017 17:21:47 GMT):
do we have a plan to get the seth docs building?

Dan (Tue, 12 Dec 2017 14:33:22 GMT):
@cianx fyi ^

cianx (Tue, 12 Dec 2017 16:13:04 GMT):
Happy thoughts

adamludvik (Tue, 12 Dec 2017 20:47:54 GMT):
@Dan I do not know what the plan for building seth docs or cleaning up the new repo in general is, but as far as I am aware it is not a priority currently.

Dan (Tue, 12 Dec 2017 20:49:20 GMT):
ok

formax (Tue, 12 Dec 2017 22:40:25 GMT):
Has joined the channel.

wrannaman (Wed, 13 Dec 2017 16:31:24 GMT):
Has joined the channel.

FaysalAhmed (Thu, 14 Dec 2017 09:52:02 GMT):
Has joined the channel.

iswariyar (Thu, 14 Dec 2017 11:06:39 GMT):
Has joined the channel.

grkvlt (Fri, 15 Dec 2017 13:27:22 GMT):
@adamludvik (or other devs) i am really interested in using `sawtooth-seth` in a system i'm building, so if there's anything i can do to help with this let me know!

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

grkvlt (Mon, 18 Dec 2017 16:33:16 GMT):
guys, i'm having odd issues with seth. the transactions fail intermittently, and i get an error if i don't specify a nonce: ```root@e67cd877e8c2:/data# openssl ecparam -genkey -name secp256k1 | openssl ec -out fail.pem read EC key writing EC key root@e67cd877e8c2:/data# seth account import fail.pem fail Key at fail.pem imported with alias fail root@e67cd877e8c2:/data# seth account create --wait fail panic: runtime error: invalid memory address or nil pointer dereference [signal 0xb code=0x1 addr=0x0 pc=0x4aab1d] goroutine 1 [running]: panic(0x83b360, 0xc8200100a0) /usr/lib/go-1.6/src/runtime/panic.go:481 +0x3e6 sawtooth_seth/client.(*Client).LookupAccountNonce(0xc8200c9b10, 0xc8200b7120, 0x20, 0x20, 0x20, 0x0, 0x0) /build/sawtooth-seth/families/seth/src/sawtooth_seth/client/client.go:121 +0x35d main.(*AccountCreate).Run(0xc82000a640, 0xc8200d63a0, 0x0, 0x0) /build/sawtooth-seth/families/seth/src/sawtooth_seth/cli/account_create.go:82 +0x369 main.(*Account).Run(0xc8200b6800, 0xc8200d63a0, 0x0, 0x0) /build/sawtooth-seth/families/seth/src/sawtooth_seth/cli/account.go:60 +0x14e main.main() /build/sawtooth-seth/families/seth/src/sawtooth_seth/cli/main.go:102 +0xaa2 root@e67cd877e8c2:/data# seth account create --nonce=0 --wait fail Account created Transaction Receipt: { "TransactionID": "257ea3d1bc5b15fc13fac404daf4de317c2211293cc59de5589ae4056f57c68d565fcf2003a67452b823302269d2d4101549ece07c0236285e82dcc9badec71a", "Address": "15d49c8afcb64105b01fa8562f41c37a4f64f917" } root@e67cd877e8c2:/data# seth Please specify one command of: account, contract, init, permissions or show root@e67cd877e8c2:/data# seth show account 15d49c8afcb64105b01fa8562f41c37a4f64f917 Address: 15d49c8afcb64105b01fa8562f41c37a4f64f917 Balance: 0 Code : Nonce : 1 Perms : +root,+send,+call,+contract,+account (No Storage Set) ```

grkvlt (Mon, 18 Dec 2017 16:33:54 GMT):
as you can see, the first `seth account create` failed, with a panic, but setting `--nonce=0` made it work. this is not always the case ;(

adamludvik (Mon, 18 Dec 2017 20:48:12 GMT):
@grkvlt To clarify, `seth account create` always fails when you omit --`nonce=0` and it sometimes fails even when you do?

jmugambi (Mon, 18 Dec 2017 20:50:40 GMT):
Has joined the channel.

grkvlt (Mon, 18 Dec 2017 21:13:54 GMT):
er, yes @adamludvik - it even seemed like it would fail if the key file and alias were not the same (i.e. `seth account import name.pem name`) at least if they're the same and i set the nonce it would always work. anyway, it seems like if i set the nonce value it always works now, so maybe my setup was broken before...

adamludvik (Mon, 18 Dec 2017 21:27:40 GMT):
@grkvlt would you mind copying your message above into a bug on JIRA so we can get it resolved? https://jira.hyperledger.org/secure/CreateIssue!default.jspa

grkvlt (Mon, 18 Dec 2017 21:28:07 GMT):
good idea, i'll do that

adamludvik (Mon, 18 Dec 2017 21:28:56 GMT):
thanks

grkvlt (Tue, 19 Dec 2017 20:19:58 GMT):
I've added a PR that builds the Seth documentation at https://github.com/hyperledger/sawtooth-seth/pull/4 which @PallabPaul might find useful, but I wasn't sure how to handle links to the `sawtooth-core` documentation, maybe @Dan or someone could take a look?

Dan (Tue, 19 Dec 2017 20:26:41 GMT):
@grkvlt that's awesome!! @adamludvik fyi ^

grkvlt (Wed, 20 Dec 2017 02:27:09 GMT):
@Dan I've also created https://github.com/hyperledger/sawtooth-seth/pull/5 which updates `sawtooth-seth` to be compatible with Sawtooth 1.0.0 - I just finished testing it with the 1.0.0rc6 release (plus the two extra PRs mentioned in the comments) and it seems ok so far, but would appreciate someone else taking a look

grkvlt (Wed, 20 Dec 2017 02:28:24 GMT):
I don't want to be duplicating anyone;'s work, so please let me know if this sort of thing is already being worked on...

grkvlt (Wed, 20 Dec 2017 02:47:41 GMT):
I filed https://jira.hyperledger.org/browse/STL-959 about the issue with account creation failing in Seth. Looks like the Hyperledger JIRA needs a 'component' category for Seth added, only Burrow EVM exists at the moment, so I used thst?

Dan (Wed, 20 Dec 2017 16:11:38 GMT):
@grkvlt you are not stepping on any toes. these are great!

Dan (Wed, 20 Dec 2017 16:11:57 GMT):
@mfford can you look into adding a jira component for Seth?

mfford (Wed, 20 Dec 2017 16:31:55 GMT):
Added

grkvlt (Wed, 20 Dec 2017 19:10:35 GMT):
Thanks @Dan

grkvlt (Wed, 20 Dec 2017 19:10:35 GMT):
Thanks @Dan - I'm thinking of doing some work to get the Docker images in better shape. Over 1 GiB for an image makes for slow startup! I've also got a Dockerfile to build an image for the `smallbank-workload`, which would be useful for people doing perf testing. I'll add images for the other workload tools and put it alongside the other files in `docker/` for the moment? It's also pretty big when built, so I'm guilty of this too, but I plan to use the same techniques to slim down _all_ the images in a single PR...

adamludvik (Wed, 20 Dec 2017 23:11:31 GMT):
@grkvlt just letting you know I really appreciate your contributions to seth.

grkvlt (Fri, 22 Dec 2017 21:25:15 GMT):
btw, i realised after looking at the code that the `alias` for a seth account *must* be the same as the filename for the key, i.e. `test.pem` must have alias `test` and `more.wif` must have alias `more`, so why does the import command need both: ```$ seth account import alias.pem alias ```

grkvlt (Fri, 22 Dec 2017 21:26:33 GMT):
i guess i could look at updating the code to choose the alias based on the key filename, unless people think the change should go the other way (i.e. save the key filename with the alias, and allow them to be different) - wdyt?

wheeze (Sat, 23 Dec 2017 14:57:05 GMT):
Has joined the channel.

dthandi (Sun, 24 Dec 2017 11:41:29 GMT):
Has joined the channel.

PallabPaul (Mon, 25 Dec 2017 02:44:10 GMT):
thank you for the link @grkvlt!

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

RTLagot (Thu, 28 Dec 2017 14:49:52 GMT):
Has joined the channel.

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

elias_p (Tue, 02 Jan 2018 10:44:33 GMT):
Has joined the channel.

davod (Wed, 10 Jan 2018 13:16:08 GMT):
Has joined the channel.

narendranath (Thu, 11 Jan 2018 16:12:38 GMT):
Has joined the channel.

islandDeveloper242 (Thu, 11 Jan 2018 17:38:26 GMT):
Has joined the channel.

nycycr (Mon, 15 Jan 2018 00:13:34 GMT):
Has joined the channel.

anastath (Mon, 15 Jan 2018 10:52:49 GMT):
Has joined the channel.

Aires.Marques (Mon, 15 Jan 2018 23:44:43 GMT):
Has joined the channel.

Rak (Tue, 16 Jan 2018 14:14:22 GMT):
Has joined the channel.

liushengxi (Wed, 17 Jan 2018 12:09:03 GMT):
Has joined the channel.

IsraelOyinlola (Thu, 18 Jan 2018 19:48:22 GMT):
Has joined the channel.

grkvlt (Wed, 24 Jan 2018 14:34:34 GMT):
is https://jira.hyperledger.org/projects/STL/issues/STL-106 being updated? it looks like it is covered by https://github.com/hyperledger/sawtooth-seth mostly?

pschwarz (Wed, 24 Jan 2018 15:52:30 GMT):
That is the epic covering the original work for seth

pschwarz (Wed, 24 Jan 2018 15:52:43 GMT):
I think it can be closed, but I'll have to ask around

mfford (Thu, 25 Jan 2018 16:22:04 GMT):
STL-106 should be closed, as the stories within the epic were completed. I will take care of that.

toddinpal (Wed, 31 Jan 2018 00:51:27 GMT):
Has joined the channel.

grkvlt (Fri, 02 Feb 2018 22:17:41 GMT):
@adamludvik I have created https://github.com/hyperledger/sawtooth-seth/pull/7 which makes the Seth build use the `1-0` branch of Core, which should fix any build errors. I suggest that once this is merged we should create a branch of the Seth repository based on that (which is compatible with 1.0.x) and I will then work on updating the master Seth branch to be compatible with the master branch of Core next...

vs0901 (Sat, 03 Feb 2018 10:20:20 GMT):
Has joined the channel.

joshuaherman (Sat, 03 Feb 2018 23:10:25 GMT):
Has joined the channel.

colltrix (Mon, 05 Feb 2018 03:47:10 GMT):
Has joined the channel.

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

NileshS (Fri, 09 Feb 2018 09:00:06 GMT):
Has joined the channel.

NileshS (Fri, 09 Feb 2018 09:01:40 GMT):
Hello, I am folllowing this url to setup the environment. https://sawtooth.hyperledger.org/docs/seth/nightly/master/seth_developers_guide/getting_started.html Where to find sawtooth-seth.yaml

NileshS (Fri, 09 Feb 2018 09:01:42 GMT):
?

NileshS (Fri, 09 Feb 2018 09:02:05 GMT):
Appreciate help

grkvlt (Fri, 09 Feb 2018 12:45:13 GMT):
@NileshS 1 that documentation needs updated, sorry - if you go to the `sawtooth-seth` GitHub project you will find the code. I will update the documentation, too!

grkvlt (Fri, 09 Feb 2018 12:53:36 GMT):
the correct Compose file is `docker-compose.yaml` in the root of the Seth project.

NileshS (Fri, 09 Feb 2018 13:06:07 GMT):
Thank you so much @grkvlt ..will give a try

mdoan (Sat, 10 Feb 2018 01:44:32 GMT):
Has joined the channel.

amundson (Sat, 10 Feb 2018 16:19:39 GMT):
should we rename this channel to sawtooth-seth? @Dan @grkvlt @adamludvik thoughts?

Dan (Sun, 11 Feb 2018 17:33:27 GMT):
Might make it easier for people with Seth questions to find.

NileshS (Mon, 12 Feb 2018 09:21:50 GMT):
Hello team where to find image Pulling block-info-tp (hyperledger/sawtooth-block-info-tp:latest)... ERROR: manifest for hyperledger/sawtooth-block-info-tp:latest not found ?

NileshS (Mon, 12 Feb 2018 10:27:36 GMT):
Hello team where to find image Pulling block-info-tp (hyperledger/sawtooth-block-info-tp:latest)... ERROR: manifest for hyperledger/sawtooth-block-info-tp:latest not found

grkvlt (Mon, 12 Feb 2018 13:08:12 GMT):
@amundson yes, good idea

amundson (Mon, 12 Feb 2018 19:41:21 GMT):
@grkvlt do you have a wishlist for seth? we are going to spend some effort making it easier to get running (not require cloning sawtooth-core, etc.) and probably subsequent to that some compatibility work.

rjones (Mon, 12 Feb 2018 19:52:48 GMT):
Has joined the channel.

rjones (Mon, 12 Feb 2018 19:53:23 GMT):
Room name changed to: sawtooth-seth by rjones

amundson (Mon, 12 Feb 2018 19:55:30 GMT):
@rjones thanks!

rjones (Mon, 12 Feb 2018 20:06:42 GMT):
Has left the channel.

grkvlt (Tue, 13 Feb 2018 13:00:46 GMT):
@amundson yep, let me get back to you on that - i have a few ideas

silasdavis (Tue, 13 Feb 2018 15:37:42 GMT):

marmot.jpeg

silasdavis (Tue, 13 Feb 2018 15:37:46 GMT):
:cry:

silasdavis (Tue, 13 Feb 2018 15:37:56 GMT):
no just kidding... makes sense

silasdavis (Tue, 13 Feb 2018 15:39:10 GMT):
Looking for a point release of Burrow in the next few weeks that I think you will probably want to integrate into Seth - including many improvements of encapsulation and EVM compatibility

silasdavis (Tue, 13 Feb 2018 15:45:19 GMT):
I'd recommend using the dep tool (https://github.com/golang/dep) that seems to be at very real risk of providing actual working dependency management for Go, and you can pull us in as a dependency. Either vendor us a check us in (best Go experience) or do it as part of build. Dep will very soon support vendor pruning (https://github.com/golang/dep/issues/944) so vendoring in-repo will be basically free - no extraneous packages - and you'll be go get-able. In context of STL doesn't help, but nice for contributors working on tests

grkvlt (Tue, 13 Feb 2018 15:52:05 GMT):
@silasdavis that sounds great, I'll take a look at how we could integrate that into the Seth build

amundson (Tue, 13 Feb 2018 16:18:38 GMT):
@silasdavis are you suggesting we fix the seth repo on a point release of burrow? sounds fine. I think there is some work to get to that point, as we are still using the internal fork.

silasdavis (Tue, 13 Feb 2018 17:19:37 GMT):
yes it will involve a bit of work

grkvlt (Tue, 13 Feb 2018 17:39:56 GMT):
@amundson I'd definitely like to get Seth updated to be compatible with the latest sawtooth, and also with the latest Burrow EVM, but I'm also thinking about improvements to the CLI tools in terms of output and usability, and working on exposing more configuration and performance tuning properties. I need to dig into the Seth code further to get a better understanding of how it works, though...

grkvlt (Tue, 13 Feb 2018 17:39:56 GMT):
@amundson I'd definitely like to get Seth updated to be compatible with the latest Sawtooth, and also with the latest Burrow EVM, but I'm also thinking about improvements to the CLI tools in terms of output and usability, and working on exposing more configuration and performance tuning properties. I need to dig into the Seth code further to get a better understanding of how it works, though...

amundson (Tue, 13 Feb 2018 18:05:52 GMT):
to summarize, some priorites are: 1) getting seth completely updated to sawtooth 1.0; 2) build/docker enhancements; 3) externalize and use next burrow point release; 4) web3.js compatility

amundson (Tue, 13 Feb 2018 18:06:19 GMT):
5) CLI/tool enhancements

RiyazPanarwala (Wed, 14 Feb 2018 12:15:41 GMT):
Has joined the channel.

kakuzu (Wed, 14 Feb 2018 16:51:39 GMT):
Has joined the channel.

kakuzu (Wed, 14 Feb 2018 20:15:50 GMT):

Clipboard - February 14, 2018 3:15 PM

kakuzu (Wed, 14 Feb 2018 20:25:39 GMT):
how to run seth ? can i build or do some command to add it to transaction family.

kakuzu (Wed, 14 Feb 2018 20:39:46 GMT):
??

agunde (Wed, 14 Feb 2018 21:01:42 GMT):
@grkvlt Can you help @kakuzu ?

grkvlt (Wed, 14 Feb 2018 21:12:07 GMT):
@kakuzu at the moment it's a bit involved - the `hyperledger/sawtooth-block-info-tp` image isn't on docker hub yet, so you need to build `sawtooyh-core` images first (run `./bin/build_all`) then check out `sawtooth-seth` and try `docker-compose up` after editing `docker-compose.yaml` to remove `hyperledger/` from the image used to start `block-info-tp`... there's a pull request waiting to be merged that updates the documenttion for this...

agunde (Wed, 14 Feb 2018 21:12:44 GMT):
Thanks! @grkvlt

kakuzu (Wed, 14 Feb 2018 21:13:01 GMT):
ok i will look into it. thanks

grkvlt (Wed, 14 Feb 2018 21:13:57 GMT):
the seth team are working on making this easier, so bear with us for the moment!

kakuzu (Wed, 14 Feb 2018 21:15:05 GMT):
ok, :) it is easy if image was there i just need to deploy contracts on containers.

amundson (Thu, 15 Feb 2018 04:07:18 GMT):
getting that block-info docker image published is in the queue, should be coming soon

anastath (Thu, 15 Feb 2018 11:30:07 GMT):
Hi, is there any tutorial on how to extend sawtooth-core with sawtooth-seth? I tried this https://sawtooth.hyperledger.org/docs/seth/nightly/master/seth_developers_guide/getting_started.html , but sawtooth-seth has been removed from sawtooth-core repository and thus after running the commands $ git clone https://github.com/hyperledger/sawtooth-core $ cd sawtooth-core/ $ ./bin/build_all -t seth -t python

anastath (Thu, 15 Feb 2018 11:30:07 GMT):
Hi, is there any tutorial on how to extend sawtooth-core with sawtooth-seth? I tried this https://sawtooth.hyperledger.org/docs/seth/nightly/master/seth_developers_guide/getting_started.html , but sawtooth-seth has been removed from sawtooth-core repository and thus after running the commands $ git clone https://github.com/hyperledger/sawtooth-core $ cd sawtooth-core/ $ ./bin/build_all -t seth -t python, a module 'seth' not found appears in bash shell

anastath (Thu, 15 Feb 2018 13:20:30 GMT):

Clipboard - February 15, 2018 3:20 PM

anastath (Thu, 15 Feb 2018 13:20:30 GMT):
Hi again, I downloaded an older version of sawtooth-core https://github.com/hyperledger/sawtooth-core/releases/tag/v0.8.10 which contained the seth transaction family. Then, I tried to run the sawtooth-seth.yaml file with docker-compose. I encountered an access denied error when pulling the seth-rpc (see screenshot below).How can I solve this?

anastath (Thu, 15 Feb 2018 13:20:30 GMT):
Hi again, I downloaded an older version of sawtooth-core https://github.com/hyperledger/sawtooth-core/releases/tag/v0.8.10 which contained the seth transaction family. Then, I tried to run the sawtooth-seth.yaml file with docker-compose. I encountered an access denied error when pulling the seth-rpc (see screenshot above).How can I solve this?

amundson (Mon, 19 Feb 2018 18:27:42 GMT):
@anastath we are currently updating the docs to reflect the separation of seth from core. there is a PR from @grkvlt right now to update the docs and compose file - https://github.com/hyperledger/sawtooth-seth/pull/8

grkvlt (Mon, 19 Feb 2018 19:25:18 GMT):
I updated https://github.com/grkvlt/sawtooth-seth/blob/602616b1dbbeb97bba14d8bb68dc02210ab21dea/families/seth/rpc/src/calls/transaction.rs#L68-L77 with what I think is a better idiom for calling the client from the seth RPC service, but it's a bit more verbose... Can someone check PR #9 again please?

grkvlt (Mon, 19 Feb 2018 19:30:28 GMT):
@amundson this is an update I made after your last comment on my PR... also, is there any good resource you cam recommend for me to improve my Rust skills?

amundson (Mon, 19 Feb 2018 21:45:01 GMT):
@grkvlt I'm still learning Rust myself, and have recently started to really get the functional aspects; I've been reading a lot of Option/Result and trying to chain things together to get the right outcomes, but the example code where I've figured that out isn't open sourced yet. Unrelated to error handling, I really enjoyed this - http://cglab.ca/~abeinges/blah/too-many-lists/book/

amundson (Mon, 19 Feb 2018 21:48:21 GMT):
@grkvlt you have two approvals on https://github.com/hyperledger/sawtooth-seth/pull/9

amundson (Mon, 19 Feb 2018 21:50:05 GMT):
@grkvlt I added an approval on https://github.com/hyperledger/sawtooth-seth/pull/8 but I didn't actually test it, so probably best to get an approval from someone who tests it

grkvlt (Wed, 21 Feb 2018 13:22:23 GMT):
does anyone here have suggestions how i could debug an issue wth `seth-rpc` that seems to cause it to hang on `eth_getTransactionReceipt` calls from Truffle... looking into it, it seems like a call to `client.get_transaction_and_block(txn_id)` is blocking after sending a `CLIENT_TRANSACTION_GET_REQUEST` message to 0mq (i think, `client.rs` line 397) so maybe i should be looking at the validator code for `sawtooth-core` instead? i'm trying to fix smart contract deployment with Truffle here...

grkvlt (Wed, 21 Feb 2018 19:32:14 GMT):
heh, it turns out that `CLIENT_BLOCK_GET_BY_TRANSACTION_ID_REQUEST` messages are _NOT_ being handled by the Sawtooth validator! obviously I'm fixing that, and will submit pull requests shortly

amundson (Wed, 21 Feb 2018 23:17:11 GMT):
@grkvlt nice debugging

grkvlt (Thu, 22 Feb 2018 13:26:27 GMT):
Once https://github.com/hyperledger/sawtooth-seth/pull/10 is merged, it looks like Seth will be usable with Truffle for smart contract deployment - I've started some more intensive testing, but initial checks look good...

grkvlt (Thu, 22 Feb 2018 13:28:07 GMT):
```$ truffle deploy --network sawtooth Using network 'sawtooth'. Running migration: 1_deploy_token.js Replacing BasicToken... ... 0x8aa3f2bf137c3777f748de7db8b68d09c04aea9c72d5dadaa11b6f941747e7505e6613ac63b69c88b3e28fcdf0f128e1c05ad0fe66d0ca02f6d66e10222d422a BasicToken: 0x1a43387a9e39e213dab8161368a847fec2925fd9 Saving artifacts... $ truffle console --network sawtooth truffle(sawtooth)> BasicToken.deployed().then(function(instance) { console.log(instance); }); TruffleContract { constructor: { [Function: TruffleContract] _static_methods: ...

amundson (Thu, 22 Feb 2018 17:46:24 GMT):
@grkvlt COOL!

kakuzu (Thu, 22 Feb 2018 20:05:06 GMT):
./bin/build_all -t seth -t python it is showing seth module on available.

kakuzu (Thu, 22 Feb 2018 20:05:06 GMT):
./bin/build_all -t seth -t python it is showing seth module NOT available.

kakuzu (Thu, 22 Feb 2018 20:06:50 GMT):
:sweat: people running truffle on sawtooth i cant even install it properly

kakuzu (Thu, 22 Feb 2018 20:13:44 GMT):
hope git and docker get an update sooner.

kakuzu (Thu, 22 Feb 2018 20:13:44 GMT):
hope git and docker get an update soon.

grkvlt (Thu, 22 Feb 2018 20:48:59 GMT):
i discovered another issue in the Seth Dockerfile, so I'm fixing that @kakuzu with https://github.com/hyperledger/sawtooth-seth/pull/12 which shows the right commands to use

kakuzu (Thu, 22 Feb 2018 20:49:23 GMT):
ok thanks

kakuzu (Thu, 22 Feb 2018 20:52:22 GMT):
@grkvlt pls let me know when it's done. Really need to setup environment to move forward with set and sawtooth.

amundson (Fri, 23 Feb 2018 20:21:35 GMT):
Publishing the block-info-tp docker image got delayed waiting for sawtooth 1.0.2 to be tagged. we are going to instead publish a 1.0.1 version ad-hoc so we unblock the seth work. should appear soon.

kakuzu (Fri, 23 Feb 2018 20:23:18 GMT):
thanks. I am seriously eagerly for update.

kakuzu (Fri, 23 Feb 2018 20:23:18 GMT):
thanks. I am eagerly waiting for the update.

kakuzu (Fri, 23 Feb 2018 20:23:18 GMT):
@amundson thanks. I am eagerly waiting for the update.

amundson (Fri, 23 Feb 2018 20:41:04 GMT):
I'm told that the block info tp is published

kakuzu (Fri, 23 Feb 2018 20:43:12 GMT):
ok thanks

amundson (Fri, 23 Feb 2018 20:43:46 GMT):
in theory, now if we update docker compose file, we don't need to build sawtooth-core to use seth

kakuzu (Fri, 23 Feb 2018 20:45:03 GMT):
so i clone the seth from git and run directly docker compose file, all the component will be up

amundson (Fri, 23 Feb 2018 20:47:32 GMT):
if you were to edit the compose file to use the image from hyperledger, yes. we still need to get that change into the seth repo.

kakuzu (Fri, 23 Feb 2018 20:54:39 GMT):

Clipboard - February 23, 2018 3:54 PM

kakuzu (Fri, 23 Feb 2018 20:55:33 GMT):
it tried by removing the with/without block-ino-tp

kakuzu (Fri, 23 Feb 2018 20:55:33 GMT):
it tried by removing the with/without block-info-tp

kakuzu (Fri, 23 Feb 2018 20:55:33 GMT):
tried by removing the with/without block-info-tp

kakuzu (Fri, 23 Feb 2018 20:55:33 GMT):
@amundson @grkvlt tried by removing the with/without block-info-tp

kakuzu (Fri, 23 Feb 2018 20:55:33 GMT):
@amundson @grkvlt tried with/without block-info-tp from composer file

kakuzu (Fri, 23 Feb 2018 20:55:33 GMT):
@amundson @grkvlt @Dan tried with/without block-info-tp from composer file

kakuzu (Fri, 23 Feb 2018 20:56:30 GMT):
``` # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # ------------------------------------------------------------------------------ version: "3" services: seth-tp: image: sawtooth-seth:latest command: seth-tp -vv --connect tcp://validator:4004 block-info-tp: image: hyperledger/sawtooth-block-info-tp:1.0 command: block-info-tp -vv --connect tcp://validator:4004 settings-tp: image: hyperledger/sawtooth-settings-tp:1.0 command: settings-tp -vv --connect tcp://validator:4004 validator: image: hyperledger/sawtooth-validator:1.0 ports: - 4004 - 8800 command: "bash -c \"\ sawadm keygen && \ sawset genesis \ -k /etc/sawtooth/keys/validator.priv \ -o config-genesis.batch && \ sawset proposal create \ -k /etc/sawtooth/keys/validator.priv \ sawtooth.validator.batch_injectors=block_info \ -o config.batch && \ sawadm genesis \ config-genesis.batch config.batch && \ sawtooth-validator --endpoint tcp://validator:8800 -v \ --bind component:tcp://eth0:4004 \ --bind network:tcp://eth0:8800 \ \"" rest-api: image: hyperledger/sawtooth-rest-api:1.0 ports: - 8080:8080 command: sawtooth-rest-api -v --connect tcp://validator:4004 --bind rest-api:8080 seth-rpc: image: sawtooth-seth:latest ports: - 3030:3030 command: "bash -c \"\ seth init http://rest-api:8080 && \ seth-rpc --connect tcp://validator:4004 --bind 0.0.0.0:3030 \ \"" ```

kakuzu (Fri, 23 Feb 2018 20:56:34 GMT):
file

kakuzu (Fri, 23 Feb 2018 20:56:34 GMT):
composer file from git

boydjohnson (Fri, 23 Feb 2018 22:34:02 GMT):
My understanding is that the sawtooth-seth:latest image needs to be built from the Dockerfile in sawtooth-seth. I think there is a build script in the repo that does it.

grkvlt (Sun, 25 Feb 2018 14:49:25 GMT):
@boydjohnson @kakuzu yes, you need to build `sawtooth-seth` by running the `./bin/build_all` script - i'll give that a check on monday, as I have been using my own Dockerfile up till now for my Seth deployments

kakuzu (Sun, 25 Feb 2018 21:40:00 GMT):
@grkvlt thanks ,when you build do the build all it says seth module missing

grkvlt (Mon, 26 Feb 2018 15:01:44 GMT):
so, to build using that PR, try the following: ``` $ git remote add grkvlt https://github.com/grkvlt/sawtooth-seth.git $ git fetch grkvlt * [new branch] fix/build-dockerfiles -> grkvlt/fix/build-dockerfiles ... $ git checkout -b fix/build-dockerfiles grkvlt/fix/build-dockerfiles Branch fix/build-dockerfiles set up to track remote branch fix/build-dockerfiles from grkvlt by rebasing. Switched to a new branch 'fix/build-dockerfiles' $ ./bin/build_all ... ``` you should then have the `sawtooth-seth` image in your local Docker instance: ``` $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE sawtooth-seth latest ee90e48a3d5c 18 minutes ago 1.64GB ... ``` now try running the compose file, after editing it with the appropriate image and version details: ``` $ docker-compose up ... ```

grkvlt (Mon, 26 Feb 2018 15:02:30 GMT):
let me know if that doesn't work for you @kakuzu pls

kakuzu (Mon, 26 Feb 2018 15:32:30 GMT):
sure

mccojo1 (Mon, 26 Feb 2018 19:21:07 GMT):
Has joined the channel.

mccojo1 (Mon, 26 Feb 2018 19:33:20 GMT):
tried running that and it broke on step 8/13

mccojo1 (Mon, 26 Feb 2018 19:33:46 GMT):
'Step 8/13 : RUN npm install ethereumjs-abi web3 ---> Running in ff9cd25af40e npm WARN deprecated tar.gz@1.0.7: ⚠️ WARNING ⚠️ tar.gz module has been deprecated and your application is vulnerable. Please use tar module instead: https://npmjs.com/tar npm WARN deprecated fs-promise@2.0.3: Use mz or fs-extra^3.0 with Promise Support npm ERR! git clone --template=/root/.npm/_git-remotes/_templates --mirror git://github.com/frozeman/WebSocket-Node.git /root/.npm/_git-remotes/git-github-com-frozeman-WebSocket-Node-git-browserifyCompatible-6c68775e: Cloning into bare repository '/root/.npm/_git-remotes/git-github-com-frozeman-WebSocket-Node-git-browserifyCompatible-6c68775e'... npm ERR! git clone --template=/root/.npm/_git-remotes/_templates --mirror git://github.com/frozeman/WebSocket-Node.git /root/.npm/_git-remotes/git-github-com-frozeman-WebSocket-Node-git-browserifyCompatible-6c68775e: fatal: unable to connect to github.com: npm ERR! git clone --template=/root/.npm/_git-remotes/_templates --mirror git://github.com/frozeman/WebSocket-Node.git /root/.npm/_git-remotes/git-github-com-frozeman-WebSocket-Node-git-browserifyCompatible-6c68775e: github.com[0: 192.30.253.112]: errno=Connection timed out npm ERR! git clone --template=/root/.npm/_git-remotes/_templates --mirror git://github.com/frozeman/WebSocket-Node.git /root/.npm/_git-remotes/git-github-com-frozeman-WebSocket-Node-git-browserifyCompatible-6c68775e: github.com[1: 192.30.253.113]: errno=Connection timed out npm ERR! Linux 4.4.0-36-generic npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "install" "ethereumjs-abi" "web3" npm ERR! node v6.13.0 npm ERR! npm v3.10.10 npm ERR! code 128 npm ERR! Command failed: git clone --template=/root/.npm/_git-remotes/_templates --mirror git://github.com/frozeman/WebSocket-Node.git /root/.npm/_git-remotes/git-github-com-frozeman-WebSocket-Node-git-browserifyCompatible-6c68775e npm ERR! Cloning into bare repository '/root/.npm/_git-remotes/git-github-com-frozeman-WebSocket-Node-git-browserifyCompatible-6c68775e'... npm ERR! fatal: unable to connect to github.com: npm ERR! github.com[0: 192.30.253.112]: errno=Connection timed out npm ERR! github.com[1: 192.30.253.113]: errno=Connection timed out npm ERR! npm ERR! npm ERR! npm ERR! If you need help, you may report this error at: npm ERR! npm ERR! Please include the following file with any support request: npm ERR! /npm-debug.log The command '/bin/sh -c npm install ethereumjs-abi web3' returned a non-zero code: 1 '

mccojo1 (Mon, 26 Feb 2018 19:38:51 GMT):
looks like I just timed out, trying again `npm ERR! fatal: unable to connect to github.com: npm ERR! github.com[0: 192.30.253.112]: errno=Connection timed out npm ERR! github.com[1: 192.30.253.113]: errno=Connection timed out `

kakuzu (Mon, 26 Feb 2018 19:41:20 GMT):
login GitHub and try again.

mccojo1 (Mon, 26 Feb 2018 20:13:06 GMT):
hmm I can clone ok. not sure what you mean by login again... from the CLI? idk if it matters but I am behind a proxy and have to normally run everything with sudo -E to preserve the proxy info. seems to be failing at npm install ethereumjs-abi web3: Step 8/13 : RUN npm install ethereumjs-abi web3 ---> Running in b6a775c1b562

mccojo1 (Mon, 26 Feb 2018 20:13:52 GMT):
how can I try to push that part along manually?

grkvlt (Tue, 27 Feb 2018 14:32:15 GMT):
@mccojo1 if you look at the `build_all` script, it seems to be setting the `$HTTP_PROXY` and `$http_proxy` (plus SSL) variables, does Node.js need some other setting for npm to work? https://github.com/hyperledger/sawtooth-seth/blob/master/bin/build_all#L51-L56

mccojo1 (Tue, 27 Feb 2018 14:43:58 GMT):
echo real tough the issue was with npm install web3. apparently urls that start with git:// don't get translated correctly from behind a proxy. I had to get around it by adding this to the Dockerfile: RUN git config --global url."https://".insteadOf git://

mccojo1 (Tue, 27 Feb 2018 14:45:53 GMT):
so I finally have sawtooth-seth. but when I run the next step: docker-compose -f docker/compose/sawtooth-seth.yaml up it complains that: Pulling seth-tp (sawtooth-seth-tp:latest)... ERROR: repository sawtooth-seth-tp not found: does not exist or no pull access

kakuzu (Tue, 27 Feb 2018 14:57:44 GMT):
yeah its not there in hyperledger . u can try this https://hub.docker.com/r/grkvlt/sawtooth-seth/ or https://hub.docker.com/r/scotcoin/sawtooth-seth-tp/

mccojo1 (Tue, 27 Feb 2018 15:07:53 GMT):
ok got the scotcoin one... edited the yaml. and now when I try to bring it up: ```Creating compose_validator_1 Creating compose_settings-tp_1 Creating compose_rest-api_1 Creating compose_block-info-tp_1 Creating compose_seth-tp_1 ERROR: for rest-api Cannot start service rest-api: invalid header field value "oci runtime error: container_linux.go:247: starting container process caused \"exec: \\\"sawtooth-rest-api\\\": executable file not found in $PATH\"\n" ERROR: for block-info-tp Cannot start service block-info-tp: invalid header field value "oci runtime error: container_linux.go:247: starting container process caused \"exec: \\\"block-info-tp\\\": executable file not found in $PATH\"\n" ERROR: for settings-tp Cannot start service settings-tp: invalid header field value "oci runtime error: container_linux.go:247: starting container process caused \"exec: \\\"settings-tp\\\": executable file not found in $PATH\"\n" ERROR: Encountered errors while bringing up the project. ```

mccojo1 (Tue, 27 Feb 2018 15:11:57 GMT):
same thing happens when I try to docker-compose up from the sawtooth-seth repo: ```Status: Downloaded newer image for hyperledger/sawtooth-block-info-tp:1.0 Creating sawtoothseth_rest-api_1 Creating sawtoothseth_settings-tp_1 Creating sawtoothseth_seth-rpc_1 Creating sawtoothseth_seth-tp_1 Creating sawtoothseth_validator_1 Creating sawtoothseth_block-info-tp_1 ERROR: for seth-tp Cannot start service seth-tp: invalid header field value "oci runtime error: container_linux.go:247: starting container process caused \"exec: \\\"seth-tp\\\": executable file not found in $PATH\"\n" ERROR: Encountered errors while bringing up the project. ```

mccojo1 (Tue, 27 Feb 2018 15:18:47 GMT):
ok... using the docker from grkvlt/sawtooth-seth worked I think everything came up but there are some errors. not sure if they're critical. something about a module sawtooth_block_info ```Attaching to sawtoothseth_rest-api_1, sawtoothseth_validator_1, sawtoothseth_settings-tp_1, sawtoothseth_block-info-tp_1, sawtoothseth_seth-rpc_1, sawtoothseth_seth-tp_1 rest-api_1 | [2018-02-27 15:10:54.658 INFO messaging] Connecting to tcp://validator:4004 rest-api_1 | [2018-02-27 15:10:54.659 INFO rest_api] Creating handlers for validator at tcp://validator:4004 rest-api_1 | [2018-02-27 15:10:54.660 INFO rest_api] Starting REST API on rest-api:8080 seth-rpc_1 | bash: seth: command not found seth-tp_1 | 2018/02/27 15:15:36.943264 connection.go:94: [INFO] Connecting to tcp://validator:4004 seth-tp_1 | 2018/02/27 15:15:36.944058 connection.go:94: [INFO] Connecting to inproc://workers seth-tp_1 | 2018/02/27 15:15:36.946300 connection.go:94: [INFO] Connecting to inproc://workers seth-tp_1 | 2018/02/27 15:15:36.946340 connection.go:94: [INFO] Connecting to inproc://workers seth-tp_1 | 2018/02/27 15:15:36.946352 connection.go:94: [INFO] Connecting to inproc://workers seth-tp_1 | 2018/02/27 15:15:36.946361 connection.go:94: [INFO] Connecting to inproc://workers seth-tp_1 | 2018/02/27 15:15:36.946404 connection.go:94: [INFO] Connecting to inproc://workers seth-tp_1 | 2018/02/27 15:15:36.946573 connection.go:94: [INFO] Connecting to inproc://workers seth-tp_1 | 2018/02/27 15:15:36.946669 connection.go:94: [INFO] Connecting to inproc://workers validator_1 | writing file: /etc/sawtooth/keys/validator.priv validator_1 | writing file: /etc/sawtooth/keys/validator.pub settings-tp_1 | [2018-02-27 15:10:55.577 INFO core] register attempt: OK block-info-tp_1 | [2018-02-27 15:10:55.632 INFO core] register attempt: OK seth-tp_1 | 2018/02/27 15:15:36.949563 processor.go:355: [INFO] Successfully registered handler (seth, 1.0, [a68b06]) validator_1 | Generated config-genesis.batch validator_1 | Processing config-genesis.batch... settings-tp_1 | [2018-02-27 15:10:55.578 DEBUG core] received message of type: TP_PROCESS_REQUEST validator_1 | Processing config.batch... settings-tp_1 | [2018-02-27 15:10:55.585 INFO handler] Setting setting sawtooth.settings.vote.authorized_keys changed from None to 02ab593efe8347ebe822dee1e81c7d4a016ba5 568d38df7b8bb2c1a5e0fee23639 validator_1 | Generating /var/lib/sawtooth/genesis.batch settings-tp_1 | [2018-02-27 15:10:55.589 DEBUG core] received message of type: TP_PROCESS_REQUEST validator_1 | [2018-02-27 15:10:55.543 INFO cli] sawtooth-validator (Hyperledger Sawtooth) version 1.0.1 settings-tp_1 | [2018-02-27 15:10:55.597 INFO handler] Setting setting sawtooth.validator.batch_injectors changed from None to block_info validator_1 | [2018-02-27 15:10:55.543 INFO path] Skipping path loading from non-existent config file: /etc/sawtooth/path.toml validator_1 | [2018-02-27 15:10:55.544 INFO validator] Skipping validator config loading from non-existent config file: /etc/sawtooth/validator.toml ```

mccojo1 (Tue, 27 Feb 2018 15:19:04 GMT):
```validator_1 | [2018-02-27 15:10:55.544 INFO keys] Loading signing key: /etc/sawtooth/keys/validator.priv validator_1 | [2018-02-27 15:10:55.544 INFO cli] config [path]: config_dir = "/etc/sawtooth"; config [path]: key_dir = "/etc/sawtooth/keys"; config [path]: data_dir = "/var/lib/sawtooth"; config [path]: log_dir = "/var/log/sawtooth"; config [path]: policy_dir = "/etc/sawtooth/policy" validator_1 | [2018-02-27 15:10:55.545 WARNING cli] Network key pair is not configured, Network communications between validators will not be authenticated or encrypted. validator_1 | [2018-02-27 15:10:55.550 INFO interconnect] Listening on tcp://eth0:4004 validator_1 | [2018-02-27 15:10:55.552 INFO genesis] Producing genesis block from /var/lib/sawtooth/genesis.batch validator_1 | [2018-02-27 15:10:55.553 INFO executor] Waiting for transaction processor (sawtooth_settings, 1.0) validator_1 | [2018-02-27 15:10:55.575 INFO processor_handlers] registered transaction processor: connection_id=b5f6b9fc6eb35dc8379584358895bc6499faf3b8dbd4acc4ff3ee13 0717a55e3e4a7c198eef7b9358e8e5923bf4a3944b77f830e0a385cc43fb7100271d3b408, family=sawtooth_settings, version=1.0, namespaces=['000000'] validator_1 | [2018-02-27 15:10:55.603 INFO genesis] Genesis block created: 826474523d531eaf1b16e600d52fe875a1b208b622917c84296b9381277e931b49e8570cc0f7172fdf64af8da79 b26015982bad701e54c51359c35428332d3f5 (block_num:0, state:ed3230a951b554fa7880e1446a3e9826ed7d8022106f902446a465250ce2df87, previous_block_id:0000000000000000) validator_1 | [2018-02-27 15:10:55.605 INFO interconnect] Listening on tcp://eth0:8800 validator_1 | [2018-02-27 15:10:55.606 INFO chain] Chain controller initialized with chain head: 826474523d531eaf1b16e600d52fe875a1b208b622917c84296b9381277e931b49e857 0cc0f7172fdf64af8da79b26015982bad701e54c51359c35428332d3f5 (block_num:0, state:ed3230a951b554fa7880e1446a3e9826ed7d8022106f902446a465250ce2df87, previous_block_id:0000000000000 000) validator_1 | [2018-02-27 15:10:55.606 INFO publisher] Now building on top of block: 826474523d531eaf1b16e600d52fe875a1b208b622917c84296b9381277e931b49e8570cc0f7172fdf 64af8da79b26015982bad701e54c51359c35428332d3f5 (block_num:0, state:ed3230a951b554fa7880e1446a3e9826ed7d8022106f902446a465250ce2df87, previous_block_id:0000000000000000) validator_1 | [2018-02-27 15:10:55.609 CRITICAL publisher] on_chain_updated exception. validator_1 | [2018-02-27 15:10:55.609 ERROR publisher] No module named 'sawtooth_block_info' validator_1 | Traceback (most recent call last): validator_1 | File "/usr/lib/python3/dist-packages/sawtooth_validator/journal/publisher.py", line 698, in on_chain_updated validator_1 | self._build_candidate_block(chain_head) validator_1 | File "/usr/lib/python3/dist-packages/sawtooth_validator/journal/publisher.py", line 567, in _build_candidate_block ```

mccojo1 (Tue, 27 Feb 2018 15:19:10 GMT):
```validator_1 | chain_head.identifier) validator_1 | File "/usr/lib/python3/dist-packages/sawtooth_validator/journal/batch_injector.py", line 84, in create_injectors validator_1 | return [self._create_injector(i) for i in injectors] validator_1 | File "/usr/lib/python3/dist-packages/sawtooth_validator/journal/batch_injector.py", line 84, in validator_1 | return [self._create_injector(i) for i in injectors] validator_1 | File "/usr/lib/python3/dist-packages/sawtooth_validator/journal/batch_injector.py", line 90, in _create_injector validator_1 | "sawtooth_block_info.injector") validator_1 | File "/usr/lib/python3.5/importlib/__init__.py", line 126, in import_module validator_1 | return _bootstrap._gcd_import(name[level:], package, level) validator_1 | File "", line 986, in _gcd_import validator_1 | File "", line 969, in _find_and_load validator_1 | File "", line 944, in _find_and_load_unlocked validator_1 | File "", line 222, in _call_with_frames_removed validator_1 | File "", line 986, in _gcd_import validator_1 | File "", line 969, in _find_and_load validator_1 | File "", line 956, in _find_and_load_unlocked validator_1 | ImportError: No module named 'sawtooth_block_info' validator_1 | [2018-02-27 15:10:55.631 INFO processor_handlers] registered transaction processor: connection_id=f5738eb65702097f875b9a1057c81030de4c72dcbfe4f34851b42b3 f25da412d3748fcfb9d4befd1942eae89d29ee6d3ba51a75f99b52f41578cd6811198bbf9, family=block_info, version=1.0, namespaces=['00b10c'] validator_1 | [2018-02-27 15:15:36.948 INFO processor_handlers] registered transaction processor: connection_id=664d1b502e58499a0d6fd82feb7e3b85e2daffe73c14f01804a0cc0 0f24ff47a17665abafd6b49ee31c7fc1462e0f08e1e2d36b0000ff1f26391baa71d04ad20, family=seth, version=1.0, namespaces=['a68b06'] sawtoothseth_seth-rpc_1 exited with code 127 ```

kakuzu (Tue, 27 Feb 2018 17:04:10 GMT):
block info wont come up at least try the permission and smart contract

hanumankumarn (Wed, 28 Feb 2018 11:03:25 GMT):
Has joined the channel.

hanumankumarn (Wed, 28 Feb 2018 11:04:18 GMT):
How to set up seth development environment?

grkvlt (Wed, 28 Feb 2018 13:36:15 GMT):
so, @kakuzu what you are seeing is because the python module for `sawtooth_block_info` cannot be found by the validator - it's referenced in the validator startup command in the compose file - and it's needed by seth.fyi

grkvlt (Wed, 28 Feb 2018 13:36:15 GMT):
so, @kakuzu what you are seeing is because the python module for `sawtooth_block_info` cannot be found by the validator - it's referenced in the validator startup command in the compose file - and it's needed by seth.

grkvlt (Wed, 28 Feb 2018 13:54:56 GMT):
fyi, @mccojo1 the images for the seth tp you found are mine. the `grkvlt/sawtooth-seth:1.0.2` image is one i have been using in testing; the whole `grkvlt/sawtooth-*`sequence of images with tag `1.0.2` are ones i use for testing, with some minor changes from the main `master` branch. so you can try those but of course, i *cannot* give assurances they won't break on you, while i'm working. the `scotcoin/*` are customised for a client, so less useful.

grkvlt (Wed, 28 Feb 2018 13:54:56 GMT):
fyi, @mccojo1 the images for the seth tp you found are mine. the `grkvlt/sawtooth-seth:1.0.2` image is one i have been using in testing; the whole `grkvlt/sawtooth-*`sequence of images with tag `1.0.2` are ones i use for testing, with some minor changes from the main `master` branch. so you can try those but of course, i *cannot* give assurances they won't break on you, while i'm working. the `scotcoin/*` are customised for a client, so probably even less useful.

mccojo1 (Wed, 28 Feb 2018 18:54:01 GMT):
got it ty. FYI I was trying to follow along in the instructions from : https://sawtooth.hyperledger.org/docs/seth/nightly/master/seth_developers_guide/getting_started.html ... obv, as written it doesn't get past the first few steps now that seth is de-coupled from sawtooth-core.

kakuzu (Wed, 28 Feb 2018 18:58:31 GMT):
yeah, it won't for now, they are working on it will be updated soon.

hanumankumarn (Thu, 01 Mar 2018 12:55:38 GMT):
i am facing the below issue seth account create myalias --wait Error: Failed to decrypt or decode private key

hanumankumarn (Thu, 01 Mar 2018 12:55:53 GMT):
Any solution ?

grkvlt (Thu, 01 Mar 2018 14:03:29 GMT):
make sure the account PEM file has the same name, i.e. `alias.pem`

grkvlt (Thu, 01 Mar 2018 14:03:29 GMT):
@hanumankumarn make sure the account PEM file has the same name, i.e. `myalias.pem` for myalias

hanumankumarn (Fri, 02 Mar 2018 13:46:07 GMT):
seth account create myalias --wait Enter Password to unlock myalias: Error: Coudn't determine nonce for account with address `6e3fab11e904253d09ce7531f42b73229336614c`: Get http://127.0.0.1:8080/state/a68b066e3fab11e904253d09ce7531f42b73229336614c000000000000000000000000: dial tcp 127.0.0.1:8080: getsockopt: connection refused root@b66fec4b015a:/data# seth show account 6e3fab11e904253d09ce7531f42b73229336614c Any solution for above error?

grkvlt (Fri, 02 Mar 2018 15:50:59 GMT):
@hanumankumarn did you run `seth init ` first?

tomislav (Sat, 03 Mar 2018 20:31:16 GMT):
Has joined the channel.

dplumb (Mon, 05 Mar 2018 18:17:09 GMT):
Hello folks, since the Seth repo is currently in a very disorganized state, we are looking into ways to reorganize it. Here is what we came up with so far:

dplumb (Mon, 05 Mar 2018 18:17:17 GMT):
``` sawtooth-seth/ docs/ examples/ contract_chaining/ opcodes/ simple_intkey/ burrow/ src/ burrow/ common/ src/ seth_common/ cli/ src/ seth_cli/ Dockerfile Dockerfile-installed processor/ src/ seth_tp/ Dockerfile Dockerfile-installed rpc/ Dockerfile Dockerfile-installed docker-compose.yaml docker-compose-installed.yaml ```

dplumb (Mon, 05 Mar 2018 18:17:49 GMT):
Let me know if anyone has comments or suggestions

kakuzu (Mon, 05 Mar 2018 18:19:55 GMT):
looks good.

JamesJones (Mon, 05 Mar 2018 23:35:20 GMT):
Has joined the channel.

Joshuah (Mon, 05 Mar 2018 23:43:39 GMT):
Has joined the channel.

grkvlt (Tue, 06 Mar 2018 20:11:31 GMT):
@dplumb that looks good, yes

grkvlt (Tue, 06 Mar 2018 20:13:42 GMT):
I'd like the existing PRs to get merged first before we refactor, or merge hell happens ;)

dplumb (Tue, 06 Mar 2018 20:13:55 GMT):
True

mikezaccardo (Tue, 06 Mar 2018 20:14:01 GMT):
Has joined the channel.

dplumb (Tue, 06 Mar 2018 20:15:20 GMT):
I am changing the Dockerfiles significantly, so I'm not sure how that'll affect https://github.com/hyperledger/sawtooth-seth/pull/12

grkvlt (Tue, 06 Mar 2018 20:15:27 GMT):
i've got a bit to revert on PR 12 (for copyrights) but i think PR 11 just needs review

dplumb (Tue, 06 Mar 2018 20:15:37 GMT):
Ok

grkvlt (Tue, 06 Mar 2018 20:16:25 GMT):
agree, we'll need to change the documentation appropriately, but if we do the refactor in a branch, it'll help to have master in a usable state for now until it's done

adamludvik (Tue, 06 Mar 2018 22:31:23 GMT):
@dplumb @grkvlt Are you both aware of the CI process setup for Seth? https://build.sawtooth.me/job/Sawtooth-Hyperledger/job/sawtooth-seth It doesn't seem to be reporting back to github right now, but we should try to get that setup.

grkvlt (Tue, 06 Mar 2018 22:32:07 GMT):
@adamludvik that's one of the tasks I was hoping to fix this sprint, yes

adamludvik (Tue, 06 Mar 2018 22:33:23 GMT):
Looks like your PRs are failing because you are not in the COMMITTERS file yet. I'll put up a PR to add you quick.

adamludvik (Tue, 06 Mar 2018 22:36:41 GMT):
https://github.com/hyperledger/sawtooth-seth/pull/13

adamludvik (Tue, 06 Mar 2018 22:37:21 GMT):
@Dan @dplumb ^^^

dplumb (Tue, 06 Mar 2018 22:39:10 GMT):
Approved!

grkvlt (Tue, 06 Mar 2018 22:42:26 GMT):
+1

adamludvik (Tue, 06 Mar 2018 23:07:21 GMT):
merged. If you rebase your PRs ontop of that, they should build on CI

adamludvik (Thu, 08 Mar 2018 15:04:31 GMT):
@grkvlt can you give this a quick review? we are trying to install a slightly more structure approach for making larger changes: https://github.com/hyperledger/sawtooth-rfcs/pull/3

grkvlt (Thu, 08 Mar 2018 15:07:05 GMT):
sure, i've been meaning to get to that, will have a look and comment

adamludvik (Thu, 08 Mar 2018 15:21:59 GMT):
thanks

grkvlt (Thu, 08 Mar 2018 19:23:22 GMT):
it turns out that PEM format private keys created as `openssl ecparam -genkey -name secp256k1 | openssl ec -out alias.pem` may have only *31* bytes when converted, causing the `seth account import` command to fail. i think we just need to (left) zero pad the bytes to 32 to fix it, probably in the PEM conversion methods somewhere. i'll make a JIRA about this later, commenting here to make sure it's recorded

adamludvik (Thu, 08 Mar 2018 19:43:32 GMT):
nice find

Gandalf (Fri, 09 Mar 2018 03:52:56 GMT):
Has joined the channel.

grkvlt (Fri, 09 Mar 2018 17:46:22 GMT):
is there any fundamental reason that the `seth-rpc` microservice is written in rust? i know rust gives nice memory safety and mutability properties, but we lose those pretty much immediately when we call into python (sawtooth validator) and go (seth tp) so why not refactor the rpc service into go?

grkvlt (Fri, 09 Mar 2018 17:50:58 GMT):
seth is a real polyglot of a debugging challenge, with solidity -> javascript -> rust -> python -> go and back, so reducing the number of languages in the middle would be nice, but we can't get rid of go (because of the burrow evm imports) or python (sawtooth core) so it has to be rust ;(

pschwarz (Fri, 09 Mar 2018 19:50:25 GMT):
We are looking at replacing python overall (this is a long-run item) and so we evaluated json-rpc libraries in both go and rust. The go implementations available were not really flexible enough, where as the rust library chosen fit our needs better. Secondly, selecting it allowed us to kick-start the development of the Rust SDK (which is feature complete, now). I think our experience with Rust, so far, is why we'll be replacing the python code with Rust.

Dan (Fri, 09 Mar 2018 23:54:05 GMT):
@silasdavis gave an update and had completed a ton of stuff in #burrow so he probably has time this weekend to rewrite it all in rust. :-D

silasdavis (Sun, 11 Mar 2018 13:24:38 GMT):
This may be turkeys voting for Christmas... but you might be interested in: https://github.com/ETCDEVTeam/sputnikvm

silasdavis (Sun, 11 Mar 2018 13:24:44 GMT):
Only recently came on my radar

silasdavis (Sun, 11 Mar 2018 13:25:02 GMT):
Doesn't have permissioning layer, but is a liberally licensed modular EVM written in Rust :0

kasmobir (Sun, 11 Mar 2018 16:44:20 GMT):
Has joined the channel.

myafer (Wed, 14 Mar 2018 07:11:18 GMT):
Has joined the channel.

grkvlt (Wed, 14 Mar 2018 15:26:02 GMT):
@pschwarz ok - that makes sense, if you're replacing python with rust that you really do get the nice benefits of the language, so great - it also means the effort I put in to learn more about rust will be put to good use too!

grkvlt (Wed, 14 Mar 2018 15:26:02 GMT):
@pschwarz ok - that makes sense, if you're replacing python with rust then you really do get the nice benefits of the language, so great - it also means the effort I put in to learn more about rust will be put to good use too!

grkvlt (Wed, 14 Mar 2018 15:26:02 GMT):
@pschwarz ok - that makes sense, if you're replacing python with rust then you really do get the nice benefits of the language, so great - it also means the effort I put in to learn more about rust will be put to good use too!

grkvlt (Wed, 14 Mar 2018 15:27:20 GMT):
i don't know enough about the burrow evm vs the rust evm impl mentioned above to have an opinion yet, but it may be worth watching?

st (Thu, 15 Mar 2018 10:10:33 GMT):
Has joined the channel.

dplumb (Thu, 15 Mar 2018 14:59:22 GMT):
I'm planning to look into how we can improve the EVM situation in the next couple weeks. Right now we just have the (probably outdated) Burrow EVM code committed in the repo which isn't ideal. I'll definitely take a look at SputnikVM during that assessment

grkvlt (Thu, 15 Mar 2018 16:43:58 GMT):
i would really like to implement `eth_call` somehow (execute a smart contract method on the EVM, but do not create a transaction record in the blockchain) in the seth TP, and in my exploration so far this is quite messy, and has also shown some possible issues in the burrow evm impl that may need fixed (dealing with zero ETH transfers, for example, which are required for seth)

grkvlt (Thu, 15 Mar 2018 16:44:34 GMT):
it also has to be done in a way that doesn't break the sawtooth identity/permissions model

grkvlt (Thu, 15 Mar 2018 16:44:45 GMT):
which is also hard and/or messy

grkvlt (Thu, 15 Mar 2018 16:44:45 GMT):
which is also hard and/or messy, and in general not helped by multiple address spaces with different languages for each ;(

hanumankumarn (Fri, 16 Mar 2018 06:26:20 GMT):
Please can anyone share the valid seth docker yaml file

dplumb (Fri, 16 Mar 2018 16:24:08 GMT):
I have one in my open PR: https://github.com/hyperledger/sawtooth-seth/pull/14

smgulley (Fri, 16 Mar 2018 18:54:57 GMT):
Has joined the channel.

pankajgoyal (Sat, 17 Mar 2018 05:12:26 GMT):
Has joined the channel.

zhaoyulong (Mon, 19 Mar 2018 08:32:18 GMT):
Has joined the channel.

vjuge (Mon, 19 Mar 2018 16:39:27 GMT):
Has joined the channel.

DevB (Mon, 19 Mar 2018 16:39:47 GMT):
Has joined the channel.

DevB (Mon, 19 Mar 2018 16:44:51 GMT):
@dplumb Sorry, I still dont see the docker yaml file. Maybe I am missing something.

dplumb (Mon, 19 Mar 2018 16:45:56 GMT):
No problem, it is this one here: https://github.com/hyperledger/sawtooth-seth/blob/master/docker-compose.yaml

jingman (Mon, 19 Mar 2018 16:54:31 GMT):
Has joined the channel.

DevB (Mon, 19 Mar 2018 16:54:40 GMT):
@dplumb Looks like it won't build on Macos. I get an error - ERROR: Cannot locate specified Dockerfile: ./rpc/Dockerfile - do I need to change the extension.

dplumb (Mon, 19 Mar 2018 16:55:27 GMT):
Have you rebased your repo on master? I made some changes to the directory structure last week

DevB (Mon, 19 Mar 2018 16:56:50 GMT):
Just did.

DevB (Mon, 19 Mar 2018 16:57:10 GMT):
Were the changes committed?

dplumb (Mon, 19 Mar 2018 16:57:15 GMT):
Yes

DevB (Mon, 19 Mar 2018 16:57:20 GMT):
Hmm!

dplumb (Mon, 19 Mar 2018 16:57:48 GMT):
you should be able to build and run everything with `docker-compose up --build`

DevB (Mon, 19 Mar 2018 16:59:13 GMT):
That seems to work :relaxed: Thanks much.

dplumb (Mon, 19 Mar 2018 16:59:32 GMT):
Great! no problem

DevB (Mon, 19 Mar 2018 16:59:34 GMT):
Just a quick question - am I left with just Protobuf to design the contract, or can I use the EVM?

dplumb (Mon, 19 Mar 2018 17:04:03 GMT):
You shouldnt have to edit any protobufs to create a new contract - you can create them using Solidity and deploy them using Seth

DevB (Mon, 19 Mar 2018 17:07:47 GMT):
@dplumb Thanks again. GETH has a very complex way of deploying. Is it different with SETH? Is there any documentation on how you do it with SETH?

dplumb (Mon, 19 Mar 2018 17:12:06 GMT):
there are docs: https://sawtooth.hyperledger.org/docs/seth/releases/latest/seth_developers_guide/introduction.html

dplumb (Mon, 19 Mar 2018 17:12:55 GMT):
Some things may be outdated but I believe all the deployment info should be up to date

DevB (Mon, 19 Mar 2018 17:21:38 GMT):
@dplumb Good News, the containers are up and running - IOU a lunch.

TomBarnes (Mon, 19 Mar 2018 17:31:08 GMT):
Has joined the channel.

DevB (Mon, 19 Mar 2018 17:36:15 GMT):
I just did a docker ps - I dont see a seth container. The containers are seth-cli or seth-rpc or seth-tp. That's probably another documentation change. I did a docker exec -it seth-cli bash. And seth cli works like a charm. :blush:

matthewehoward (Mon, 19 Mar 2018 18:13:13 GMT):
Has joined the channel.

DevB (Mon, 19 Mar 2018 22:17:42 GMT):
I am getting an error when I run the Sol Contract as in the examples:

robinrob (Mon, 19 Mar 2018 22:18:44 GMT):
Has joined the channel.

DevB (Mon, 19 Mar 2018 22:21:08 GMT):
As in example - https://sawtooth.hyperledger.org/docs/seth/releases/latest/seth_developers_guide/contracts.html

DevB (Mon, 19 Mar 2018 22:21:17 GMT):
root@d4c46772dedb:/project/sawtooth-seth# seth show account 7e311e2517761bd5ef53cd809fffe6fbeb4607d7 Address: 7e311e2517761bd5ef53cd809fffe6fbeb4607d7 Balance: 0 Code : 606060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631ab06ee514610067578063812600df146100935780639507d39a146100b6578063c20efb90146100ed575b600080fd5b341561007257600080fd5b6100916004808035906020019091908035906020019091905050610110565b005b341561009e57600080fd5b6100b4600480803590602001909190505061016a565b005b34156100c157600080fd5b6100d76004808035906020019091905050610199565b6040518082815260200191505060405180910390f35b34156100f857600080fd5b61010e60048080359060200190919050506101b5565b005b80600080848152602001908152602001600020819055507f545b620a3000f6303b158b321f06b4e95e28a27d70aecac8c6bdac4f48a9f6b38282604051808381526020018281526020019250505060405180910390a15050565b600160008083815260200190815260200160002054016000808381526020019081526020016000208190555050565b6000806000838152602001908152602001600020549050919050565b6001600080838152602001908152602001600020540360008083815260200190815260200160002081905550505600a165627a7a723058208ab2e7f5e3111df3eec10fee0cb32c2db2a7c24b8be8cb885a4db73690b5f6240029 Nonce : 1 Perms : -root,+send,+call,+contract,+account (No Storage Set) root@d4c46772dedb:/project/sawtooth-seth# seth contract call --wait 7e311e2517761bd5ef53cd809fffe6fbeb4607d7 data 1ab06ee50000000000000000000000000000000000000000000000000000000000000013000000000000000000000000000000000000000000000000000000000000002a Error: No key with alias 7e311e2517761bd5ef53cd809fffe6fbeb4607d7

DevB (Mon, 19 Mar 2018 22:21:39 GMT):
Please help

alexlf (Tue, 20 Mar 2018 09:58:18 GMT):
Has joined the channel.

hanumankumarn (Tue, 20 Mar 2018 10:32:16 GMT):
i am getting the below error

hanumankumarn (Tue, 20 Mar 2018 10:32:18 GMT):
root@99f0817d8c53:/project/sawtooth-seth/rpc# seth account create myalias --waiEnter Password to unlock myalias: panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x6b0f29] goroutine 1 [running]: seth_cli/client.(*Client).LookupAccountNonce(0xc420421c20, 0xc4200ae420, 0x20, 0x20, 0x20, 0x0, 0x0) /project/sawtooth-seth/cli/src/seth_cli/client/client.go:121 +0x1f9 main.(*AccountCreate).Run(0xc420088410, 0xc420079c40, 0x7b8531, 0x6) /project/sawtooth-seth/cli/src/seth_cli/cli/account_create.go:82 +0x134 main.(*Account).Run(0xc4200f2e40, 0xc420079c40, 0x7b88b7, 0x7) /project/sawtooth-seth/cli/src/seth_cli/cli/account.go:60 +0x113 main.main() /project/sawtooth-seth/cli/src/seth_cli/cli/main.go:102 +0x5d8

hanumankumarn (Tue, 20 Mar 2018 10:32:26 GMT):
any solution?

alexlf (Tue, 20 Mar 2018 10:54:28 GMT):
I have same problem that @hanumankumarn

alexlf (Tue, 20 Mar 2018 10:55:16 GMT):
root@a2353b97e36a:/project/sawtooth-seth# seth contract create --wait myalias 6060604052341561000c57fe5b5b6102038061001c6000396000f30060606040526000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631ab06ee51461005c578063812600df146100855780639507d39a146100a5578063c20efb90146100d9575bfe5b341561006457fe5b61008360048080359060200190919080359060200190919050506100f9565b005b341561008d57fe5b6100a36004808035906020019091905050610155565b005b34156100ad57fe5b6100c36004808035906020019091905050610187565b6040518082815260200191505060405180910390f35b34156100e157fe5b6100f760048080359060200190919050506101a5565b005b8060006000848152602001908152602001600020819055507f545b620a3000f6303b158b321f06b4e95e28a27d70aecac8c6bdac4f48a9f6b38282604051808381526020018281526020019250505060405180910390a15b5050565b600160006000838152602001908152602001600020540160006000838152602001908152602001600020819055505b50565b6000600060008381526020019081526020016000205490505b919050565b600160006000838152602001908152602001600020540360006000838152602001908152602001600020819055505b505600a165627a7a723058201c04b99799211231198dd3b6c82662635eb42431fb39d641ff7d0edd37a3a8d40029 Enter Password to unlock myalias: panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x6b0f29] goroutine 1 [running]: seth_cli/client.(*Client).LookupAccountNonce(0xc4203f7c10, 0xc4200144a0, 0x20, 0x20, 0x21f, 0x0, 0x0) /project/sawtooth-seth/cli/src/seth_cli/client/client.go:121 +0x1f9 main.(*ContractCreate).Run(0xc42006c410, 0xc420041c80, 0x7b8531, 0x6) /project/sawtooth-seth/cli/src/seth_cli/cli/contract_create.go:82 +0x21d main.(*Contract).Run(0xc4200d0ea0, 0xc420041c80, 0x7b8d41, 0x8) /project/sawtooth-seth/cli/src/seth_cli/cli/contract.go:60 +0x113 main.main() /project/sawtooth-seth/cli/src/seth_cli/cli/main.go:102 +0x5d8

alexlf (Tue, 20 Mar 2018 10:55:31 GMT):
any ideas?

alexlf (Tue, 20 Mar 2018 11:03:05 GMT):
I have checked many times that password for myalias is correct

dplumb (Tue, 20 Mar 2018 14:46:02 GMT):
Did this error just start occurring recently?

hanumankumarn (Tue, 20 Mar 2018 15:06:46 GMT):
yes

alexlf (Tue, 20 Mar 2018 15:06:54 GMT):
yes, from yesterday

dplumb (Tue, 20 Mar 2018 15:13:57 GMT):
Looking into it

alexlf (Tue, 20 Mar 2018 15:23:08 GMT):
okthanks

dplumb (Tue, 20 Mar 2018 15:26:09 GMT):
Looks like a CLI parsing issue of some sort. If you add `--nonce=1` to the command you wont get a segfault.

alexlf (Tue, 20 Mar 2018 15:31:16 GMT):
ok I try

alexlf (Tue, 20 Mar 2018 15:32:41 GMT):
this is what I get

alexlf (Tue, 20 Mar 2018 15:32:43 GMT):
seth contract create --wait myalias --nonce=1 6060604052341561000c57fe5b5b6102038061001c6000396000f30060606040526000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631ab06ee51461005c578063812600df146100855780639507d39a146100a5578063c20efb90146100d9575bfe5b341561006457fe5b61008360048080359060200190919080359060200190919050506100f9565b005b341561008d57fe5b6100a36004808035906020019091905050610155565b005b34156100ad57fe5b6100c36004808035906020019091905050610187565b6040518082815260200191505060405180910390f35b34156100e157fe5b6100f760048080359060200190919050506101a5565b005b8060006000848152602001908152602001600020819055507f545b620a3000f6303b158b321f06b4e95e28a27d70aecac8c6bdac4f48a9f6b38282604051808381526020018281526020019250505060405180910390a15b5050565b600160006000838152602001908152602001600020540160006000838152602001908152602001600020819055505b50565b6000600060008381526020019081526020016000205490505b919050565b600160006000838152602001908152602001600020540360006000838152602001908152602001600020819055505b505600a165627a7a723058201c04b99799211231198dd3b6c82662635eb42431fb39d641ff7d0edd37a3a8d40029 Enter Password to unlock myalias: Error: Problem submitting account creation transaction: Invalid transaction.

alexlf (Tue, 20 Mar 2018 15:38:51 GMT):
I repeat the command and it´s workssss

alexlf (Tue, 20 Mar 2018 15:38:58 GMT):
:grinning:

alexlf (Tue, 20 Mar 2018 15:39:00 GMT):
thnks

alexlf (Tue, 20 Mar 2018 15:39:03 GMT):
a lots

dplumb (Tue, 20 Mar 2018 15:39:19 GMT):
Thats good. I'll try to look for the root cause of that bug because we shouldnt be getting any segfaults

alexlf (Tue, 20 Mar 2018 15:39:28 GMT):
maybe it´s was a bad typo

alexlf (Tue, 20 Mar 2018 15:39:37 GMT):
ok

alexlf (Tue, 20 Mar 2018 15:41:49 GMT):
eerrrrrr one moment

alexlf (Tue, 20 Mar 2018 15:44:38 GMT):
I write "set contract create", no "seth contract create" the reply was nothing and I tought that was ok, but no. Same than before.

alexlf (Tue, 20 Mar 2018 15:44:39 GMT):
seth contract create --wait myalias --nonce=1 6060604052341561000c57fe5b5b6102038061001c6000396000f30060606040526000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631ab06ee51461005c578063812600df146100855780639507d39a146100a5578063c20efb90146100d9575bfe5b341561006457fe5b61008360048080359060200190919080359060200190919050506100f9565b005b341561008d57fe5b6100a36004808035906020019091905050610155565b005b34156100ad57fe5b6100c36004808035906020019091905050610187565b6040518082815260200191505060405180910390f35b34156100e157fe5b6100f760048080359060200190919050506101a5565b005b8060006000848152602001908152602001600020819055507f545b620a3000f6303b158b321f06b4e95e28a27d70aecac8c6bdac4f48a9f6b38282604051808381526020018281526020019250505060405180910390a15b5050565b600160006000838152602001908152602001600020540160006000838152602001908152602001600020819055505b50565b6000600060008381526020019081526020016000205490505b919050565b600160006000838152602001908152602001600020540360006000838152602001908152602001600020819055505b505600a165627a7a723058201c04b99799211231198dd3b6c82662635eb42431fb39d641ff7d0edd37a3a8d40029 Enter Password to unlock myalias: Error: Problem submitting account creation transaction: Invalid transaction.

alexlf (Tue, 20 Mar 2018 15:45:15 GMT):
apologise @dplumb

dplumb (Tue, 20 Mar 2018 15:45:50 GMT):
No prob. can you try `seth account list`

alexlf (Tue, 20 Mar 2018 15:48:05 GMT):
I get below

alexlf (Tue, 20 Mar 2018 15:48:06 GMT):
root@a2353b97e36a:/project/sawtooth-seth# seth account list Enter Password to unlock alexalias: Enter Password to unlock myalias: Enter Password to unlock myalias2: alexalias: d9cd1af91bd0d4cead3fc6f6bef80684744a22be myalias: 976e6b6ae746e1e109b2a177bc3f8495015080bc myalias2: cc4314feea30f653bfa6ac0df8160dbdb48570e3

dplumb (Tue, 20 Mar 2018 15:49:11 GMT):
The segfault looks to be caused by the `client.LookupAccountNonce()` method, and that `--nonce=1` is probably not correct. it is a transaction counter for your account so it should increment after each txn

dplumb (Tue, 20 Mar 2018 15:58:53 GMT):
If you do `seth show account 976e6b6ae746e1e109b2a177bc3f8495015080bc` it will show account details including a nonce. if you set the nonce argument to that number in your `seth contract create` command that should work for you

DevB (Tue, 20 Mar 2018 16:00:25 GMT):

Clipboard - March 20, 2018 12:00 PM

DevB (Tue, 20 Mar 2018 16:00:40 GMT):
@dplumb I restarted the docker containers from yesterday. I was able to deploy the contract.sol. However, it appears that the NODE_MODULES have disappeared. The example with node does not work - it cannot find ethereumjs-abi. I can stop docker-compose and rebuild it. Is there a better way?

dplumb (Tue, 20 Mar 2018 16:06:18 GMT):
I think I may have broken something with regard to the NODE_MODULES in my PR. that is next on my list to figure out

DevB (Tue, 20 Mar 2018 16:11:50 GMT):
@dplumb Do you have plans to add solc and vim (or nano) to the seth-cli container? I added solcjs and nano in the container, after I 'bashed' into it.

alexlf (Tue, 20 Mar 2018 16:12:51 GMT):
when I do seth show account 976e6b6ae746e1e109b2a177bc3f8495015080bc

alexlf (Tue, 20 Mar 2018 16:12:54 GMT):
I get nothing

alexlf (Tue, 20 Mar 2018 16:13:25 GMT):
root@a2353b97e36a:/project/sawtooth-seth# seth show account 976e6b6ae746e1e109b2a177bc3f8495015080bc Nothing at that address

dplumb (Tue, 20 Mar 2018 16:27:01 GMT):
@DevB I think solc should be in the container in order to compile contracts

dplumb (Tue, 20 Mar 2018 16:27:23 GMT):
Not sure about vim or nano. What are you using a text editor for?

grkvlt (Tue, 20 Mar 2018 16:28:53 GMT):
agree, you should mount a volume from the host with contracts, and edit them externally. but having solc in the image would be useful

dplumb (Tue, 20 Mar 2018 16:33:15 GMT):
@alexlf according to the results of your `seth account list` the address of your myalias account is 976e6b6ae746e1e109b2a177bc3f8495015080bc. So if you do seth show account 976e6b6ae746e1e109b2a177bc3f8495015080bc you should get the data for that account

dplumb (Tue, 20 Mar 2018 16:33:15 GMT):
@alexlf according to the results of your `seth account list` the address of your myalias account is 976e6b6ae746e1e109b2a177bc3f8495015080bc. So if you do `seth show account 976e6b6ae746e1e109b2a177bc3f8495015080bc` you should get the data for that account

alexlf (Tue, 20 Mar 2018 16:34:17 GMT):
well may be @dplumb but I get always "Nothing at that address" in all alias

dplumb (Tue, 20 Mar 2018 16:34:32 GMT):
Hmmm

alexlf (Tue, 20 Mar 2018 16:34:37 GMT):
I going to restart everything

dplumb (Tue, 20 Mar 2018 16:34:48 GMT):
Ok. Sorry about that

alexlf (Tue, 20 Mar 2018 16:34:54 GMT):
No probs

alexlf (Tue, 20 Mar 2018 16:35:02 GMT):
At the end we sucess

alexlf (Tue, 20 Mar 2018 16:35:30 GMT):
success

DevB (Tue, 20 Mar 2018 16:38:56 GMT):
@dplumb Text editor for creating the contracts. I am sure Intel will provide a web interface later :relaxed:

dplumb (Tue, 20 Mar 2018 16:42:33 GMT):
If you create a contract in the container they will only exist as long as that container exists. So I think @grkvlt is right in that we should mount a volume from the host and edit contracts externally.

DevB (Tue, 20 Mar 2018 16:47:32 GMT):
Even better.

alexlf (Tue, 20 Mar 2018 18:57:17 GMT):
Hi again everyone....I restart all dockers. And I did:

alexlf (Tue, 20 Mar 2018 18:57:37 GMT):
openssl ecparam -genkey -name secp256k1 | openssl ec -out mykey.pem -aes128

alexlf (Tue, 20 Mar 2018 18:57:37 GMT):
seth account import mykey.pem myalias

alexlf (Tue, 20 Mar 2018 18:58:14 GMT):
openssl ecparam -genkey -name secp256k1 | openssl ec -out mykey.pem -aes128

alexlf (Tue, 20 Mar 2018 18:58:25 GMT):
seth account import mykey.pem myalias

alexlf (Tue, 20 Mar 2018 18:58:41 GMT):
seth account create myalias --wait --nonce=1

alexlf (Tue, 20 Mar 2018 18:58:58 GMT):
eth show account d53fdd60d0d785cb374c8318111ca737b7fa22d8

alexlf (Tue, 20 Mar 2018 18:58:58 GMT):
seth show account d53fdd60d0d785cb374c8318111ca737b7fa22d8

alexlf (Tue, 20 Mar 2018 18:59:07 GMT):
eth contract create --wait myalias 6060604052341561000c57fe5b5b6102038061001c6000396000f30060606040526000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631ab06ee51461005c578063812600df146100855780639507d39a146100a5578063c20efb90146100d9575bfe5b341561006457fe5b61008360048080359060200190919080359060200190919050506100f9565b005b341561008d57fe5b6100a36004808035906020019091905050610155565b005b34156100ad57fe5b6100c36004808035906020019091905050610187565b6040518082815260200191505060405180910390f35b34156100e157fe5b6100f760048080359060200190919050506101a5565b005b8060006000848152602001908152602001600020819055507f545b620a3000f6303b158b321f06b4e95e28a27d70aecac8c6bdac4f48a9f6b38282604051808381526020018281526020019250505060405180910390a15b5050565b600160006000838152602001908152602001600020540160006000838152602001908152602001600020819055505b50565b6000600060008381526020019081526020016000205490505b919050565b600160006000838152602001908152602001600020540360006000838152602001908152602001600020819055505b505600a165627a7a723058201c04b99799211231198dd3b6c82662635eb42431fb39d641ff7d0edd37a3a8d40029

alexlf (Tue, 20 Mar 2018 18:59:07 GMT):
seth contract create --wait myalias 6060604052341561000c57fe5b5b6102038061001c6000396000f30060606040526000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631ab06ee51461005c578063812600df146100855780639507d39a146100a5578063c20efb90146100d9575bfe5b341561006457fe5b61008360048080359060200190919080359060200190919050506100f9565b005b341561008d57fe5b6100a36004808035906020019091905050610155565b005b34156100ad57fe5b6100c36004808035906020019091905050610187565b6040518082815260200191505060405180910390f35b34156100e157fe5b6100f760048080359060200190919050506101a5565b005b8060006000848152602001908152602001600020819055507f545b620a3000f6303b158b321f06b4e95e28a27d70aecac8c6bdac4f48a9f6b38282604051808381526020018281526020019250505060405180910390a15b5050565b600160006000838152602001908152602001600020540160006000838152602001908152602001600020819055505b50565b6000600060008381526020019081526020016000205490505b919050565b600160006000838152602001908152602001600020540360006000838152602001908152602001600020819055505b505600a165627a7a723058201c04b99799211231198dd3b6c82662635eb42431fb39d641ff7d0edd37a3a8d40029

alexlf (Tue, 20 Mar 2018 18:59:18 GMT):
And it´s woooooorrrrkksssss!!!!!

alexlf (Tue, 20 Mar 2018 19:00:02 GMT):
It´s my fault @dplumb...I did no write well the command: "`seth account create myalias --wait --nonce=1`"

alexlf (Tue, 20 Mar 2018 19:00:15 GMT):
so thanks a lots @dplumb

dplumb (Tue, 20 Mar 2018 19:01:22 GMT):
Awesome! glad you got it working. I created a bug for that segfault issue: https://jira.hyperledger.org/browse/STL-1123

alexlf (Tue, 20 Mar 2018 19:01:31 GMT):
nice

dplumb (Tue, 20 Mar 2018 19:26:53 GMT):
I have a PR up that makes some improvements to the contract deployment workflow. It mounts a "contracts" volume on the host inside the container for external contract editing, fixes the node-modules issue, and installs solc in the `sawtooth-seth-cli` image

dplumb (Tue, 20 Mar 2018 19:26:57 GMT):
https://github.com/hyperledger/sawtooth-seth/pull/15

alexlf (Tue, 20 Mar 2018 22:19:28 GMT):
:clap::clap::clap::clap::clap:

ShikarSharma (Tue, 20 Mar 2018 22:56:23 GMT):
Has joined the channel.

hanumankumarn (Wed, 21 Mar 2018 06:39:29 GMT):
seth account create myalias --wait --nonce=1 Enter Password to unlock myalias: Error: Problem submitting account creation transaction: Transaction was submitted, but client timed out before it was committed. Any solution?

jongchulseon (Wed, 21 Mar 2018 12:35:05 GMT):
Has joined the channel.

DevB (Wed, 21 Mar 2018 17:13:36 GMT):
@dplumb Sharing @alexlf 's sentiments :clap:

dplumb (Wed, 21 Mar 2018 17:21:33 GMT):
PR is merged!

dplumb (Wed, 21 Mar 2018 17:23:28 GMT):
@hanumankumarn Not sure about that timeout issue. Are you sure all of the services were running properly?

hanumankumarn (Wed, 21 Mar 2018 18:31:12 GMT):
i am sure all services are running

hanumankumarn (Wed, 21 Mar 2018 18:33:51 GMT):
please can you confirm all the services should run then i will check

dplumb (Wed, 21 Mar 2018 18:55:17 GMT):
The services are listed in the docker-compose.yaml file. You would have seen an error on `docker-compose up` if something failed to start up

dplumb (Wed, 21 Mar 2018 18:55:36 GMT):
Did the account actually get created?

hanumankumarn (Thu, 22 Mar 2018 07:05:54 GMT):
@dplumb Thanks i have resolved this issue by removing the version of each docker image in docker file

darunk67 (Thu, 22 Mar 2018 11:10:47 GMT):
Has joined the channel.

hanumankumarn (Thu, 22 Mar 2018 12:10:30 GMT):
How to integrate the seth with truffle?

hanumankumarn (Thu, 22 Mar 2018 12:11:04 GMT):
and How to integrate the seth with solc?

dplumb (Thu, 22 Mar 2018 14:47:08 GMT):
Here is the section in the docs relevant to solc: https://sawtooth.hyperledger.org/docs/seth/releases/latest/seth_developers_guide/contracts.html#compiling-contracts

dplumb (Thu, 22 Mar 2018 14:47:43 GMT):
I am not familiar with the workflow with Truffle, but I think it is possible at this point. @grkvlt may have more info regarding that

hanumankumarn (Thu, 22 Mar 2018 14:49:14 GMT):
i have tried with https://sawtooth.hyperledger.org/docs/seth/releases/latest/seth_developers_guide/contracts.html#compiling-contracts but solc is not working

grkvlt (Thu, 22 Mar 2018 14:49:37 GMT):
@hanumankumarn yes, you should be able to point truffle at the `seth-rpc` endpoint, and compile and deploy most contracts. some things still do not work like the `eth_call` RPC method, and there is not yet any documentation on configuring `truffle.js`

grkvlt (Thu, 22 Mar 2018 14:50:56 GMT):
you need to unlock the accounts you want to use with the `seth-rpc` endpoint, after creating them, so the service will need to be restarted with `--unlock alias1 alias2 etc` as an argument

hanumankumarn (Thu, 22 Mar 2018 14:53:08 GMT):
@grkvlt & @dplumb thank you i will start to integrate seth with truffle

dplumb (Thu, 22 Mar 2018 14:54:24 GMT):
Thanks @grkvlt . also there is documentation regarding the RPC specifically in the docs: https://sawtooth.hyperledger.org/docs/seth/releases/latest/seth_developers_guide/dapps.html

grkvlt (Thu, 22 Mar 2018 14:57:16 GMT):
```const Web3 = require('web3'); const web3 = new Web3(new Web3.providers.HttpProvider('http://10.0.0.1:3030/')); module.exports = { networks: { 'sawtooth': { network_id: '19', host: '10.0.0.1', port: 3030 } } } ``` Here is an example `truffle.js` file, replace `10.0.0.1` with the IP address of the `seth-rpc` server/container. Then run `truffle deploy --network sawtooth` or similar...

hanumankumarn (Thu, 22 Mar 2018 14:58:29 GMT):
@grkvlt thanks

hanumankumarn (Thu, 22 Mar 2018 15:01:20 GMT):
@grkvlt Do we want to use any ethereum client like geth or infura?

grkvlt (Thu, 22 Mar 2018 15:02:57 GMT):
no, you don't need geth as a client, truffle connects directly to the Seth RPC endpoint

hanumankumarn (Thu, 22 Mar 2018 15:08:56 GMT):
seth-rpc: image: sawtooth-seth-rpc build: context: . dockerfile: ./rpc/Dockerfile container_name: seth-rpc depends_on: - validator ports: - 3030:3030 command: | bash -c " seth init http://rest-api:8080 && seth-rpc --connect tcp://validator:4004 --bind 0.0.0.0:3030

hanumankumarn (Thu, 22 Mar 2018 15:09:26 GMT):
where i want replace ip address 10.0.0.1`?

hanumankumarn (Thu, 22 Mar 2018 15:10:06 GMT):
is this bind 0.0.0.0?

dplumb (Thu, 22 Mar 2018 15:19:14 GMT):
That should be it

dplumb (Thu, 22 Mar 2018 15:19:14 GMT):
https://sawtooth.hyperledger.org/docs/seth/releases/latest/seth_developers_guide/cli_reference.html#seth-rpc

grkvlt (Thu, 22 Mar 2018 15:35:26 GMT):
whatever the address `seth-rpc` is exporting port 3030 on so probably the docker host vm's IP. find what it is and use it in the `truffle.js` file...

grkvlt (Thu, 22 Mar 2018 15:36:05 GMT):
you'll need to modify the `seth-rpc` startup command to unlock an account though

grkvlt (Thu, 22 Mar 2018 15:37:11 GMT):
however i don't think the docker-compose file is set up to handle this yet

grkvlt (Thu, 22 Mar 2018 15:37:52 GMT):
we have to make some more changes to it to set up a shared volume between the cli, tp and rpc containers, for the account PEM files

DevB (Thu, 22 Mar 2018 16:54:47 GMT):
@grkvlt I am reading your conversation with @hanumankumarn. I was able to deploy with solcjs. That's easier than downloading Truffle. What's been the experience with solcjs?

grkvlt (Thu, 22 Mar 2018 16:56:08 GMT):
i'm guessing you used solcjs to programmatically compile the contract, then how did you deploy to seth? through the ethereum rpc interface?

grkvlt (Thu, 22 Mar 2018 16:56:44 GMT):
or was it via the `seth contract` cli?

DevB (Thu, 22 Mar 2018 16:57:32 GMT):
Well, I did a NPM install of solcjs within the seth-cli container and created the .sol file there. It was the seth contract cli - yes.

grkvlt (Thu, 22 Mar 2018 16:58:35 GMT):
ok, that seems quite simple, yes. the reason i want to use truffle is to be able to run unit tests on my contracts, and manage dependencies (like openzeppelin erc-20 code)

grkvlt (Thu, 22 Mar 2018 16:59:15 GMT):
then i don't need to rely on any seth specifics to deploy

DevB (Thu, 22 Mar 2018 17:01:05 GMT):
@dplumb @grkvlt By the way folkd, I just downloaded the sawtooth-seth git onto an Ubuntu box 16.0.4. I get a failure during the docker compose up --build. Getting an error: Could not compile `tiny-keccak`.

DevB (Thu, 22 Mar 2018 17:01:36 GMT):
Excuse the typo - it should read folks not folkd.

dplumb (Thu, 22 Mar 2018 17:02:08 GMT):
I was having that issue too. If you are using default settings I think it happens because the vm runs out of memory

dplumb (Thu, 22 Mar 2018 17:02:33 GMT):
I created a vm with higher memory and it worked

DevB (Thu, 22 Mar 2018 17:04:12 GMT):
@dplumb Dumb question, I guess - How do you create a vm with more memory?

dplumb (Thu, 22 Mar 2018 17:05:18 GMT):
If you are using virtualbox it is an option when you are creating the vm

DevB (Thu, 22 Mar 2018 17:05:41 GMT):
I am running an AWS instance

DevB (Thu, 22 Mar 2018 17:09:04 GMT):
Any recommendation on the memory size? I will change the instance otherwise.

dplumb (Thu, 22 Mar 2018 17:11:00 GMT):
I did 4gb. Not sure if you need that much

dplumb (Thu, 22 Mar 2018 17:11:05 GMT):
it failed at 1gb for me

grkvlt (Thu, 22 Mar 2018 17:43:53 GMT):
@DevB i use `t2.medium` or `t2.large` on AWS

DevB (Thu, 22 Mar 2018 18:02:18 GMT):
@grkvlt Thanks. I just took a t2.medium.

hanumankumarn (Thu, 22 Mar 2018 18:24:19 GMT):
@grkvlt Please can tell where i can find seth-rpc container for replacing ip?

grkvlt (Thu, 22 Mar 2018 18:35:33 GMT):
no, you need to find the IP address of the Docker VM _running_ the `seth-rpc` container. That sounds like it'll be your AWS host's IP address. Then, point Truffle at that. Make sure you've unlocked the accounts you want to use with the RPC endpoint, by passing in their aliases to the `seth-rpc` startup command with the `--unlock` flag. These account aliases must have the PEM files for their keys available to the `seth-rpc` server in its `/root/.sawtooth` folder, so you may want to check that first.

DevB (Thu, 22 Mar 2018 18:45:10 GMT):
@grkvlt @dplumb Seth's running on the AWS instance. I still cant run a contract call with the exampleroot@fefbe67a3736:/project/sawtooth-seth# seth contract call alias data 1ab06ee500000000000000000000000000000000000000000000000000000000000000130000000000 Enter Password to unlock alias: Error: Invalid address: encoding/hex: invalid byte: U+0074 't'

grkvlt (Thu, 22 Mar 2018 18:46:15 GMT):
the word `data ` shouldn't be there

DevB (Thu, 22 Mar 2018 18:47:03 GMT):
Then it says the required argument `data` was not provided

dplumb (Thu, 22 Mar 2018 18:48:32 GMT):
`seth [OPTIONS] contract call [call-OPTIONS] [alias] [address] [data]`

DevB (Thu, 22 Mar 2018 18:48:51 GMT):
Got it. The address is missing

dplumb (Thu, 22 Mar 2018 18:48:53 GMT):
you need the alias, account addr, and the ABI

DevB (Thu, 22 Mar 2018 18:50:12 GMT):
seth contract call alias 2228dcfae51b30ce7121ed02c81f90947aa98124 1ab06ee500000000000000000000000000000000000000000000000000000000000000130000000000 Enter Password to unlock alias: Error: Problem submitting account creation transaction: Transaction was submitted, but client timed out before it was committed.

DevB (Thu, 22 Mar 2018 18:51:09 GMT):
I believe someone else was having that problem

dplumb (Thu, 22 Mar 2018 18:53:06 GMT):
append `--wait`

DevB (Thu, 22 Mar 2018 18:53:54 GMT):
Perfecto - that worked like a charm.

DevB (Thu, 22 Mar 2018 18:54:08 GMT):
:clap:

dplumb (Thu, 22 Mar 2018 18:54:30 GMT):
the previous command probably worked just fine, but it returns before it gets the result back from the validator

DevB (Thu, 22 Mar 2018 18:54:55 GMT):
Thank you

dplumb (Thu, 22 Mar 2018 18:55:03 GMT):
That error message should probably be less intimidating

dplumb (Thu, 22 Mar 2018 18:55:08 GMT):
No problem

DevB (Thu, 22 Mar 2018 18:59:34 GMT):
We have a Hyperledger Meetup next week. Sawtooth will be the celebrity. Hopefully the ec2 instance will work like it did today. Thanks to you @dplumb and @grkvlt

grkvlt (Thu, 22 Mar 2018 19:03:16 GMT):
good stuff. where is your meetup happening @DevB

DevB (Thu, 22 Mar 2018 19:03:36 GMT):
Whippany NJ - Morris County Library

kasmobir (Thu, 22 Mar 2018 21:13:42 GMT):
Has left the channel.

cheetara (Fri, 23 Mar 2018 14:33:41 GMT):
Has joined the channel.

fgtortosa (Sun, 25 Mar 2018 19:50:28 GMT):
Has joined the channel.

mshamory (Mon, 26 Mar 2018 20:25:59 GMT):
Has joined the channel.

mshamory (Mon, 26 Mar 2018 20:34:22 GMT):
Trying to get a contract to create an instance of an existing contract with solidity's _new_ keyword, but I'm getting an error. Contract and caller have +contract perms. Any suggestions? ``` panic: Failed to NewEntry(9e3efc260d36af4c1c2d22e179d8e9fc8de131b3): Authorization exception: Tried to get unauthorized address: [a68b069e3efc260d36af4c1c2d22e179d8e9fc8de131b3000000000000000000000000]'''

mshamory (Mon, 26 Mar 2018 20:34:22 GMT):
Trying to get a contract to create an instance of an existing contract with solidity's _new_ keyword, but I'm getting an error. Contract and caller have +contract perms. Any suggestions? ``` panic: Failed to NewEntry(9e3efc260d36af4c1c2d22e179d8e9fc8de131b3): Authorization exception: Tried to get unauthorized address: [a68b069e3efc260d36af4c1c2d22e179d8e9fc8de131b3000000000000000000000000] '''

mshamory (Mon, 26 Mar 2018 20:34:22 GMT):
Trying to get a contract to create an instance of an existing contract with solidity's _new_ keyword, but I'm getting an error. Contract and caller have +contract perms. Any suggestions? ``` panic: Failed to NewEntry(9e3efc260d36af4c1c2d22e179d8e9fc8de131b3): Authorization exception: Tried to get unauthorized address: [a68b069e3efc260d36af4c1c2d22e179d8e9fc8de131b3000000000000000000000000] '''

mshamory (Mon, 26 Mar 2018 20:34:22 GMT):
Trying to get a contract to create an instance of an existing contract with solidity's _new_ keyword, but I'm getting an error. Contract and caller have +contract perms. Any suggestions? ``` panic: Failed to NewEntry(9e3efc260d36af4c1c2d22e179d8e9fc8de131b3): Authorization exception: Tried to get unauthorized address: [a68b069e3efc260d36af4c1c2d22e179d8e9fc8de131b3000000000000000000000000]

dplumb (Mon, 26 Mar 2018 21:40:44 GMT):
Not sure but will look into it. What was the call that caused the error?

cheetara (Tue, 27 Mar 2018 13:32:17 GMT):
Hi, after building the seth portion I try to run docker-compose -f docker/compose/sawtooth-seth.yaml up and get an error that the files isn't there. In fact it wasn't created in the sawtooth-core repo after the build. I cloned the seth-repo and tried to run the docker-compose.yaml that is included and I am getting another error *Could not connect to Docker daemon at http+docker://localhost - is it running?* What can I do?

cheetara (Tue, 27 Mar 2018 13:40:08 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=SeoXyAWkKv3K3WvL4) Don't bother, I found this https://github.com/docker/compose/issues/1214 and solved the issue

mshamory (Tue, 27 Mar 2018 19:07:39 GMT):
@dplumb Here is a simple example of what I mean. https://pastebin.com/qF9BmbL6 When I call createAsset, it says it fails after "sawtooth_app_state.go:119: [DEBUG] CreateAccount(fa582cf37a434a80e9aa1c2dab22e4649349e3c4).

mshamory (Tue, 27 Mar 2018 19:07:39 GMT):
@dplumb Here is a simple example of what I mean. https://pastebin.com/qF9BmbL6 When I call createAsset, it says it fails after "sawtooth_app_state.go:119: [DEBUG] CreateAccount(fa582cf37a434a80e9aa1c2dab22e4649349e3c4). Created contract with root.

mshamory (Tue, 27 Mar 2018 19:07:39 GMT):
@dplumb Here is a simple example of what I mean. https://pastebin.com/qF9BmbL6 When I call createAsset, it says it fails after "sawtooth_app_state.go:119: [DEBUG] CreateAccount(fa582cf37a434a80e9aa1c2dab22e4649349e3c4). Created contract with root permission account.

cheetara (Wed, 28 Mar 2018 06:36:03 GMT):
When the documentation for generating the keypair says "Start up a shell in that container: *$ docker exec -it seth bash* You should now be logged in as root in the container and your working directory should be /project/sawtooth-core" which container does it mean as long as there are no *seth* containers included?

cheetara (Wed, 28 Mar 2018 07:08:15 GMT):
Also when I get `root@87621b0b1fa5:/project/sawtooth-seth# seth account create myalias --wait Enter Password to unlock myalias: Error: Problem submitting account creation transaction: Invalid transaction. ` Any solution?

cheetara (Wed, 28 Mar 2018 07:08:15 GMT):
Also when I try to create the account I get `root@87621b0b1fa5:/project/sawtooth-seth# seth account create myalias --wait Enter Password to unlock myalias: Error: Problem submitting account creation transaction: Invalid transaction. ` Any solution?

cheetara (Wed, 28 Mar 2018 07:08:15 GMT):
Also when I try to create the account I get *root@11621bbb1fb6:/project/sawtooth-seth# seth account create myalias --wait Enter Password to unlock myalias: Error: Problem submitting account creation transaction: Invalid transaction.* Any solution?

cheetara (Wed, 28 Mar 2018 07:18:51 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=gqrb3YaipAt7XtEoq) OK I found it, the name has been changed and it doesn't show up in the documentation

cheetara (Wed, 28 Mar 2018 07:59:44 GMT):
I try to run the sample contract and I can't understand what do you mean by the *{input}* in the following `To call our contract and run set(19,42), run: $ seth contract call --wait {address} {input}` can you please provide an example value?

st (Wed, 28 Mar 2018 08:02:13 GMT):
I try to run the sample contract and I cannot understand what to put for *{input}* in the following command ``` To call our contract and run set(19,42), run: $ seth contract call --wait {address} {input} ``` can you provide an example please?

hanumankumarn (Wed, 28 Mar 2018 14:12:01 GMT):
truffle migrate --sawtooth Error: No network specified. Cannot determine current network. at Object.detect (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:41338:23) at /usr/local/lib/node_modules/truffle/build/cli.bundled.js:202239:19 at finished (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:41266:9) at /usr/local/lib/node_modules/truffle/build/cli.bundled.js:200593:14 at /usr/local/lib/node_modules/truffle/build/cli.bundled.js:63299:7 at /usr/local/lib/node_modules/truffle/build/cli.bundled.js:165077:9 at /usr/local/lib/node_modules/truffle/build/cli.bundled.js:161676:16 at replenish (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:162196:25) at iterateeCallback (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:162186:17) at /usr/local/lib/node_modules/truffle/build/cli.bundled.js:162161:16 at /usr/local/lib/node_modules/truffle/build/cli.bundled.js:165074:13 at /usr/local/lib/node_modules/truffle/build/cli.bundled.js:63295:11 at /usr/local/lib/node_modules/truffle/build/cli.bundled.js:162329:9 at /usr/local/lib/node_modules/truffle/build/cli.bundled.js:161676:16 at iteratorCallback (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:162253:13) at /usr/local/lib/node_modules/truffle/build/cli.bundled.js:162161:16 at /usr/local/lib/node_modules/truffle/build/cli.bundled.js:162326:13 at /usr/local/lib/node_modules/truffle/build/cli.bundled.js:63274:13 at FSReqWrap.oncomplete (fs.js:152:21)

hanumankumarn (Wed, 28 Mar 2018 14:12:14 GMT):
I am facing the above error

hanumankumarn (Wed, 28 Mar 2018 14:12:25 GMT):
Any solution please ?

hanumankumarn (Wed, 28 Mar 2018 14:14:56 GMT):
truffle.js

hanumankumarn (Wed, 28 Mar 2018 14:16:43 GMT):
const Web3 = require('web3'); const web3 = new Web3(new Web3.providers.HttpProvider('http://127.0.0.1:3030/')); module.exports = { sawtooth: { host: "127.0.0.1", port: 3030, network_id: "*" } } };

dplumb (Wed, 28 Mar 2018 14:48:03 GMT):
Input is the ABI for the function you want to call @st

DevB (Wed, 28 Mar 2018 18:52:02 GMT):
@hanumankumarn I notice you have a missing brace '{'. I believe you have the structure as module.exports = { networks: { 'sawtooth': { } } }

DevB (Wed, 28 Mar 2018 18:53:06 GMT):
I used Truffle and it worked fine.

DevB (Wed, 28 Mar 2018 21:05:47 GMT):
@hanumankumarn Here's what I have been using. The from belongs to the account address. You can get that address through seth account.

DevB (Wed, 28 Mar 2018 21:06:19 GMT):
seth account list

DevB (Wed, 28 Mar 2018 21:07:19 GMT):
and then change the truffle.js:module.exports = { rpc: { host:"0.0.0.0", port: 3030 }, networks: { 'sawtooth': { network_id: '*', host: '127.0.0.1', from: '0x0349b00f72c87b4a7e3d5bc8f91d75cab7b620ef', port: 3030, gas: 4612388 // default gas } } }

DevB (Wed, 28 Mar 2018 21:08:20 GMT):
From I have read of truffle, it looks for the account (from) address.

hanumankumarn (Thu, 29 Mar 2018 02:18:53 GMT):
@DevB module.exports = { rpc: { host:"0.0.0.0", port: 3030 }, networks: { 'sawtooth': { network_id: '*', host: '127.0.0.1', from: 'd6804e65db09fb755ca2d281522eb7f006893112', port: 3030, gas: 4612388 // default gas } } }

hanumankumarn (Thu, 29 Mar 2018 02:19:49 GMT):
with the above code i am using but still i am getting error "Error: No network specified. Cannot determine current network."

hanumankumarn (Thu, 29 Mar 2018 02:21:43 GMT):
@DevB where you are pointing with 127.0.0.1 ip in seth-rpc?

anastath (Thu, 29 Mar 2018 10:06:30 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=JryKpZ5YizPxeaoRM) @amundson I tried to use the updated 'getting Started' instructions here:( https://github.com/hyperledger/sawtooth-seth/pull/8/files/e130374f877e0cd37a33e7c8592e5cef139027ab#diff-de92c40112e3daa502829ed2f0c20daa). The thing is that there is not any ./bin/build_all script under the sawtooth-seth repository cloned from github. How can I build seth to produce the Docker image used to interact with Seth? What is the script/commands to do it? Thank you very much in advance!

anastath (Thu, 29 Mar 2018 11:24:52 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=ChpsgdYmD4yFctc4N) Also what is the latest compose file?

dplumb (Thu, 29 Mar 2018 14:35:15 GMT):
its just `docker-compose.yaml`

dplumb (Thu, 29 Mar 2018 14:35:48 GMT):
run `docker-compose up --build` and that will start up the whole env

adamludvik (Thu, 29 Mar 2018 15:14:59 GMT):
@grkvlt @dplumb @drozd can you approve this PR please? https://github.com/hyperledger/sawtooth-seth/pull/20

drozd (Thu, 29 Mar 2018 15:14:59 GMT):
Has joined the channel.

DevB (Thu, 29 Mar 2018 15:29:16 GMT):
@hanumankumarn I think the truffle version you are using may be the rogue. Couple of things, which I found does or does not work with truffle. I have downgraded to Truffle 4.0.0 beta. I downgraded as the new version kept giving similar problems as yours. npm uninstall -g truffle && npm i -g truffle@4.0.0beta0.0 (dont remember if it was beta 0.0). On Docker, if you are using 18.0.3, then your docker instance uses your machine IP. If 127.0.0.1 or 0.0.0.0 or localhost does not work, do a ifconfig and obtain the DHCP ip. Also run truffle verbose and see where the error is. truffle migrate --network sawtooth --reset --verbose-rpc.

DevB (Thu, 29 Mar 2018 15:32:23 GMT):
@hanumankumarn Try running truffle develop and then run migrate --network sawtooth.

DevB (Thu, 29 Mar 2018 15:54:48 GMT):
@hanumankumarn Sorry, I am not an expert at truffle, but have been following their issues in github - https://github.com/trufflesuite/truffle/issues/660

DevB (Thu, 29 Mar 2018 16:45:06 GMT):
@dplumb If I were to POST directly using the rpc at 127.0.0.1:3030, example - {"jsonrpc": "2.0", "id": 66, "method": "eth_sendTransaction", "params": [ {"from": "0x8ed23d5b860f9e17f0279e04c041e7c0836d5e86", "gas": "0x6691b7", "gasPrice": "0x174876e800", "data": "0x60606040523415600e57600080fd5b609a8061001c6000396000f300606060405260043610603e5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663c6888fa181146043575b600080fd5b3415604d57600080fd5b60566004356068565b60405190815260200160405180910390f35b600702905600a165627a7a723058206f4a604d7fb9f559014a48b1e2be9ab50644a5984e8bbb1b6496425aa59f1ee00029" }]} - I see the POST coming through but I get an error -seth-rpc | [01:25:10.160] (140339832465152) ERROR NoResource seth-rpc | [01:26:40.262] (140339834566400) ERROR Account with address `8ed23d5b860f9e17f0279e04c041e7c0836d5e86` not found.

DevB (Thu, 29 Mar 2018 16:45:59 GMT):
@dplumb I know its a valid address - seth show account 8ed23d5b860f9e17f0279e04c041e7c0836d5e86 Address: 8ed23d5b860f9e17f0279e04c041e7c0836d5e86 Balance: 0 Code : Nonce : 1 Perms : +root,+send,+call,+contract,+account (No Storage Set)

DevB (Thu, 29 Mar 2018 16:46:12 GMT):
@dplumb What am I doing wrong?

hanumankumarn (Thu, 29 Mar 2018 18:19:40 GMT):
truffle migrate --network sawtooth Using network 'sawtooth'. Running migration: 1_deploy_hello_world.js Deploying HelloWorld... ... undefined Error encountered, bailing. Network state unknown. Review successful transactions manually. Error: Internal error at Object.InvalidResponse (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:41484:16) at /usr/local/lib/node_modules/truffle/build/cli.bundled.js:329530:36 at /usr/local/lib/node_modules/truffle/build/cli.bundled.js:176186:11 at /usr/local/lib/node_modules/truffle/build/cli.bundled.js:325200:9 at XMLHttpRequest.request.onreadystatechange (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:328229:7) at XMLHttpRequestEventTarget.dispatchEvent (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:176415:18) at XMLHttpRequest._setReadyState (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:176705:12) at XMLHttpRequest._onHttpResponseEnd (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:176860:12) at IncomingMessage. (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:176820:24) at emitNone (events.js:111:20)

hanumankumarn (Thu, 29 Mar 2018 18:20:11 GMT):
any solution?

dplumb (Thu, 29 Mar 2018 19:30:39 GMT):
I am not up to date on the current state of truffle compatibility

dplumb (Thu, 29 Mar 2018 19:30:50 GMT):
@grkvlt would be a better resource for that

DevB (Thu, 29 Mar 2018 19:36:17 GMT):
@dplumb Any suggestions to the RPC question I asked? Somehow, it keeps saying the address does not exist. Its probably the same as @hanumankumarn 's issue. Not using truffle though.

DevB (Thu, 29 Mar 2018 19:36:47 GMT):
@dplumb Do I need to add anything to the POST header?

dplumb (Thu, 29 Mar 2018 19:46:21 GMT):
Hmm

dplumb (Thu, 29 Mar 2018 19:46:36 GMT):
Did you do the `$ seth-rpc --unlock {alias}` step?

DevB (Thu, 29 Mar 2018 20:00:40 GMT):
@dplumb Which container to use?

dplumb (Thu, 29 Mar 2018 20:01:48 GMT):
`seth-rpc`

DevB (Thu, 29 Mar 2018 20:02:17 GMT):
It says alias not found in data directory

DevB (Thu, 29 Mar 2018 20:15:08 GMT):
Do I have to run seth permissions?

dplumb (Thu, 29 Mar 2018 20:26:17 GMT):
It looks like your account has all permissions enabled

DevB (Thu, 29 Mar 2018 20:27:52 GMT):
I just read @grkvlt 's note -you need to unlock the accounts you want to use with the `seth-rpc` endpoint, after creating them, so the service will need to be restarted with `--unlock alias1 alias2 etc` as an argument. Do I need to restart the seth-rpc service?

DevB (Thu, 29 Mar 2018 20:28:26 GMT):
It worked before. I didnt have to unlock it.

dplumb (Thu, 29 Mar 2018 20:34:19 GMT):
Did you read through this section of the docs? You shouldn't have to restart the service as far as I know

dplumb (Thu, 29 Mar 2018 20:34:22 GMT):
https://sawtooth.hyperledger.org/docs/seth/releases/latest/seth_developers_guide/dapps.html

DevB (Thu, 29 Mar 2018 20:37:56 GMT):
I just read it, it says when starting seth-rpc you need to send the --unlock alias names to it.

dplumb (Thu, 29 Mar 2018 20:38:08 GMT):
Ah yeah I think that is correct

dplumb (Thu, 29 Mar 2018 20:38:15 GMT):
Sorry about that

DevB (Thu, 29 Mar 2018 20:40:43 GMT):
Any idea how can I bring seth-rpc down and restart it? I think that should solve it.

DevB (Thu, 29 Mar 2018 20:44:34 GMT):
Change the docker composer yaml file?

DevB (Thu, 29 Mar 2018 20:47:27 GMT):
Nope - does not like it. It brings the seth-rpc container down.

DevB (Thu, 29 Mar 2018 20:52:26 GMT):
@dplumb I think there is a bug with seth-rpc when it comes to unlocking the aliases. Or perhaps it is looking somewhere else for the aliases.

dplumb (Thu, 29 Mar 2018 20:55:09 GMT):
Did you create the alias within the seth-rpc container?

dplumb (Thu, 29 Mar 2018 20:55:36 GMT):
if you did it on the seth-cli container, those files wont be available in the seth-rpc container

dplumb (Thu, 29 Mar 2018 20:57:33 GMT):
You should be able to kill the process and restart the rpc I believe

DevB (Thu, 29 Mar 2018 21:03:47 GMT):
I tried that - still getting the same message:

DevB (Thu, 29 Mar 2018 21:03:52 GMT):
root@75c56a3ff183:/project/sawtooth-seth/rpc# seth account create --nonce=0 --wait alias1 Enter Password to unlock alias1: Account created Transaction Receipt: { "TransactionID": "cbdb93f8bd43d28a3933dc05497ed94b3e67020ad26f806ef11dff14fd4181bb75b7e8d8bcef0571d3ac1a33c41aeaca1548ccc30a08b28d49642139f967f67d", "Address": "eb677603ab4d04d6b41d2bbaeb446086d1af1f1f" } root@75c56a3ff183:/project/sawtooth-seth/rpc# seth-rpc --unlock alias1 Alias not found in data directory

DevB (Thu, 29 Mar 2018 21:04:13 GMT):
Notice, I am in the rpc container

DevB (Thu, 29 Mar 2018 21:05:44 GMT):
@dplumb I dont see any files being created other than the pem file.

pschwarz (Thu, 29 Mar 2018 21:15:42 GMT):
It sounds like you found a bug. If you could log that in jira, with steps to reproduce, that would be great

hanumankumarn (Fri, 30 Mar 2018 09:12:06 GMT):
truffle migrate --network seth --reset --verbose-rpc > { > "jsonrpc": "2.0", > "id": 1, > "method": "net_version", > "params": [] > } < { < "jsonrpc": "2.0", < "result": "19", < "id": 1 < } Using network 'seth'. Running migration: 1_deploy_hello_world.js > { > "jsonrpc": "2.0", > "id": 2, > "method": "eth_accounts", > "params": [] > } < { < "jsonrpc": "2.0", < "result": [], < "id": 2 < } > { > "jsonrpc": "2.0", > "id": 3, > "method": "net_version", > "params": [] > } < { < "jsonrpc": "2.0", < "result": "19", < "id": 3 < } Deploying HelloWorld... > { > "jsonrpc": "2.0", > "id": 4, > "method": "net_version", > "params": [] > } < { < "jsonrpc": "2.0", < "result": "19", < "id": 4 < } > { > "jsonrpc": "2.0", > "id": 5, > "method": "eth_sendTransaction", > "params": [ > { > "from": "0xd6804e65db09fb755ca2d281522eb7f006893112", > "gas": "0x466124", > "gasPrice": "0x174876e800", > "data": "0x6060604052341561000f57600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040805190810160405280600c81526020017f48656c6c6f2c20776f726c6400000000000000000000000000000000000000008152506002908051906020019061009a9291906100a8565b50600560018190555061014d565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106100e957805160ff1916838001178555610117565b82800160010185558215610117579182015b828111156101165782518255916020019190600101906100fb565b5b5090506101249190610128565b5090565b61014a91905b8082111561014657600081600090555060010161012e565b5090565b90565b61025d8061015c6000396000f300606060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806302d05d3f1461005c57806323fd0e40146100b1578063e21f37ce146100da575b600080fd5b341561006757600080fd5b61006f610168565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156100bc57600080fd5b6100c461018d565b6040518082815260200191505060405180910390f35b34156100e557600080fd5b6100ed610193565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561012d578082015181840152602081019050610112565b50505050905090810190601f16801561015a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102295780601f106101fe57610100808354040283529160200191610229565b820191906000526020600020905b81548152906001019060200180831161020c57829003601f168201915b5050505050815600a165627a7a72305820ada95dfa428a0da6cf311c192bbb226d8f64438a5b65a37971db615a9323d3bd0029" > } > ] > } < { < "jsonrpc": "2.0", < "error": { < "code": -32603, < "message": "Internal error" < }, < "id": 5 < } ... undefined Error encountered, bailing. Network state unknown. Review successful transactions manually. Error: Internal error at Object.InvalidResponse (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:41484:16) at /usr/local/lib/node_modules/truffle/build/cli.bundled.js:329530:36 at /usr/local/lib/node_modules/truffle/build/cli.bundled.js:176186:11 at /usr/local/lib/node_modules/truffle/build/cli.bundled.js:325200:9 at XMLHttpRequest.request.onreadystatechange (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:328229:7) at XMLHttpRequestEventTarget.dispatchEvent (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:176415:18) at XMLHttpRequest._setReadyState (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:176705:12) at XMLHttpRequest._onHttpResponseEnd (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:176860:12) at IncomingMessage. (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:176820:24) at emitNone (events.js:111:20)

victer (Fri, 30 Mar 2018 11:39:00 GMT):
Has joined the channel.

DevB (Fri, 30 Mar 2018 15:56:42 GMT):
@pschwarz I will log the bug into Jira (Sawtooth Lake). I still have to find why it will not Log me in with the LinuxFoundation ID. I will also put it in Github if that is OK.

pschwarz (Fri, 30 Mar 2018 15:58:41 GMT):
We don't use the github issue system

pschwarz (Fri, 30 Mar 2018 15:59:38 GMT):
If you created your Linux Foundation ID using a Oauth login of some sort, you'll need to add a password to your account. Unfortunately, Jira doesn't handle the Oauth well

DevB (Fri, 30 Mar 2018 16:33:09 GMT):
I noticed that @pschwarz .:relaxed: Yes, the JIRA ticket has been created under Sawtooth Lake.

pschwarz (Fri, 30 Mar 2018 19:04:37 GMT):
thanks

audreyle (Mon, 02 Apr 2018 20:18:30 GMT):
Has joined the channel.

harishperfect (Tue, 03 Apr 2018 17:40:34 GMT):
Has joined the channel.

hanumankumarn (Wed, 04 Apr 2018 10:53:51 GMT):
truffle migrate --network seth --reset --verbose-rpc > { > "jsonrpc": "2.0", > "id": 1, > "method": "net_version", > "params": [] > } < { < "jsonrpc": "2.0", < "result": "19", < "id": 1 < } Using network 'seth'. Running migration: 1_initial_migration.js > { > "jsonrpc": "2.0", > "id": 2, > "method": "eth_accounts", > "params": [] > } < { < "jsonrpc": "2.0", < "result": [], < "id": 2 < } > { > "jsonrpc": "2.0", > "id": 3, > "method": "net_version", > "params": [] > } < { < "jsonrpc": "2.0", < "result": "19", < "id": 3 < } Deploying Migrations... > { > "jsonrpc": "2.0", > "id": 4, > "method": "net_version", > "params": [] > } < { < "jsonrpc": "2.0", < "result": "19", < "id": 4 < } > { > "jsonrpc": "2.0", > "id": 5, > "method": "eth_sendTransaction", > "params": [ > { > "from": "0x6695494a50beee82121d6b59a955d9d52de36a16", > "gas": "0x466124", > "gasPrice": "0x174876e800", > "data": "0x6060604052341561000f57600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506102db8061005e6000396000f300606060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630900f01014610067578063445df0ac146100a05780638da5cb5b146100c9578063fdacd5761461011e575b600080fd5b341561007257600080fd5b61009e600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610141565b005b34156100ab57600080fd5b6100b3610224565b6040518082815260200191505060405180910390f35b34156100d457600080fd5b6100dc61022a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561012957600080fd5b61013f600480803590602001909190505061024f565b005b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610220578190508073ffffffffffffffffffffffffffffffffffffffff1663fdacd5766001546040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b151561020b57600080fd5b6102c65a03f1151561021c57600080fd5b5050505b5050565b60015481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102ac57806001819055505b505600a165627a7a72305820da9eab655c020eb6b1246407f5474e0cca550a3a5634121497ca4314905d5ccc0029" > } > ] > } < { < "jsonrpc": "2.0", < "error": { < "code": -32603, < "message": "Internal error" < }, < "id": 5 < } ... undefined Error encountered, bailing. Network state unknown. Review successful transactions manually. Error: Internal error at Object.InvalidResponse (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:41484:16) at /usr/local/lib/node_modules/truffle/build/cli.bundled.js:329530:36 at /usr/local/lib/node_modules/truffle/build/cli.bundled.js:176186:11 at /usr/local/lib/node_modules/truffle/build/cli.bundled.js:325200:9 at XMLHttpRequest.request.onreadystatechange (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:328229:7) at XMLHttpRequestEventTarget.dispatchEvent (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:176415:18) at XMLHttpRequest._setReadyState (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:176705:12) at XMLHttpRequest._onHttpResponseEnd (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:176860:12) at IncomingMessage. (/usr/local/lib/node_modules/truffle/build/cli.bundled.js:176820:24) at emitNone (events.js:111:20)

hanumankumarn (Wed, 04 Apr 2018 10:54:24 GMT):
Any solution for the above code?

hanumankumarn (Wed, 04 Apr 2018 10:55:42 GMT):
Any body integrated seth with truffle? if did please let me know steps

hanumankumarn (Wed, 04 Apr 2018 10:55:42 GMT):
@DevB thank you i have followed the above steps its working fine but where is the contract address

grkvlt (Thu, 05 Apr 2018 13:03:56 GMT):
@hanumankumarn @DevB hi, i have been working on getting seth integrated with truffle - i'd need to see more information (particularly logs from the running containers) to be of further help. please note that full integration with the ethereum ecosystem is a work in progress, and some things may not yet work properly!

DevB (Thu, 05 Apr 2018 20:37:13 GMT):
@grkvlt I think the problem is more with unlocking the aliases. It seems to be a bug - I have a raised a ticket in Jira. I just cant run seth-rpc --unlock [alias list]

grkvlt (Thu, 05 Apr 2018 23:48:38 GMT):
@DevB what's the JIRA issue number? also note that you will need the PEM file for the users key (named as `alias.pem`) stored in `/root/.sawtooth/` folder. you can do this with docker volumes, but the compose files don't implement it yet... to test it quickly, try copying the file manually. oh, and remember `seth init ` has to be called on any contain er where you wish to use the seth CLI

grkvlt (Thu, 05 Apr 2018 23:48:38 GMT):
@DevB what's the JIRA issue number? also note that you will need the PEM file for the users key (named as `alias.pem`) stored in `/root/.sawtooth/` folder. you can do this with docker volumes, but the compose files don't implement it yet... to test it quickly, try copying the file manually. oh, and remember `seth init ` has to be called on any container where you wish to use the seth CLI

DevB (Fri, 06 Apr 2018 05:09:54 GMT):
@grkvlt Looks like some problems have been solved. I set the unlock after copying the pem file to the /root/.sawtooth folder in the seth-rpc container - that worked fine root@60a06d5dce7f:/project/sawtooth-seth/rpc# seth-rpc --unlock alias Enter Password to unlock alias: alias unlocked: 65cfa399ecb788912768904d63000625cbf30214 Ran the seth init http://localhost:3030 - worked fine root@60a06d5dce7f:/project/sawtooth-seth/rpc# seth init http://localhost:3030 Initializing seth to communicate with http://localhost:3030 when I run a post on http://127.0.0.1:3030 {"jsonrpc": "2.0", "id": 19, "method": "eth_sendTransaction", "params": [ {"from": "0x65cfa399ecb788912768904d63000625cbf30214", "gas": "0x6691b7", "gasPrice": "0x174876e800", "data": "0x60606040523415600e57600080fd5b609a8061001c6000396000f300606060405260043610603e5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663c6888fa181146043575b600080fd5b3415604d57600080fd5b60566004356068565b60405190815260200160405180910390f35b600702905600a165627a7a723058206f4a604d7fb9f559014a48b1e2be9ab50644a5984e8bbb1b6496425aa59f1ee00029"}]} I get a error response { jsonrpc: '2.0', error: { code: -32603, message: 'Internal error' }, id: 19 } On the Docker console, I see the hit seth-rpc | [02:40:21.396] (140646203303680) ERROR Account with address `65cfa399ecb788912768904d63000625cbf30214` not found. seth-rpc | [02:40:21.396] (140646203303680) ERROR NoResource

DevB (Fri, 06 Apr 2018 05:10:15 GMT):
Am I doing something wrong?

DevB (Fri, 06 Apr 2018 05:15:46 GMT):
@grkvlt The Jira ticket is https://jira.hyperledger.org/browse/STL-1141. I guess I will close it, since we have a workaround.

grkvlt (Fri, 06 Apr 2018 13:55:29 GMT):
@DevB what is the transaction here trying to do? is it creating a contract?

grkvlt (Fri, 06 Apr 2018 14:39:21 GMT):
@DevB i think i see the problem - you must shut down the old `seth-rpc` and start a new one, with `--unlock alias` appended to the arguments - see how the `rpc/comp_seth_rpc.yaml` file does thia

grkvlt (Fri, 06 Apr 2018 14:39:21 GMT):
@DevB i think i see the problem - you must shut down the old `seth-rpc` and start a new one, with `--unlock alias` appended to the arguments - see how the `rpc/comp_seth_rpc.yaml` file does this

DevB (Fri, 06 Apr 2018 16:57:27 GMT):
@grkvlt Scenario # 1, When I start with: $ seth init 0.0.0.0:3030 Initializing seth to communicate with 0.0.0.0:3030 $ seth-rpc --connect tcp://comp-seth-rpc:4004 --bind 0.0.0.0:3030 --unlock alias Enter Password to unlock alias: alias unlocked: 90e77c172a41dd532831c13ac01ddc7ab9e0418f When I run the POST, it hangs - just - no response. In fact, I waited for 15 minutes and then ctrl+c-ed Scenario # 2, When I change it to: $ seth init 127.0.0.1:3030 Initializing seth to communicate with 127.0.0.1:3030 $ seth-rpc --connect tcp://comp-seth-rpc:4004 --bind 127.0.0.1:3030 --unlock alias Enter Password to unlock alias: alias unlocked: 90e77c172a41dd532831c13ac01ddc7ab9e0418f I get a response - { jsonrpc: '2.0', error: { code: -32603, message: 'Internal error' }, id: 19 } On the Docker console I see the old error seth-rpc | [00:47:24.448] (140484137703168) ERROR Account with address `90e77c172a41dd532831c13ac01ddc7ab9e0418f` not found. seth-rpc | [00:47:24.448] (140484137703168) ERROR NoResource

grkvlt (Fri, 06 Apr 2018 17:03:23 GMT):
The `seth init` is for the `seth` CLI command to talk to the *REST API*, not the RPC endpoint. So, give it the HTTP URL for your REST API server, probably `http://rest-api:8008` or similar. But it's only needed before you run the `seth account` commands. Also, the `--connect` argument should point at the *validator* endpoint, probably `tcp://validator:4004` - can you try again making sure the RPC server is connecting to the validator?

DevB (Fri, 06 Apr 2018 17:10:27 GMT):
It did not complain, seth-rpc --connect tcp://validator:4004 --bind 0.0.0.0:3030 --unlock alias Enter Password to unlock alias: alias unlocked: 90e77c172a41dd532831c13ac01ddc7ab9e0418f I still get a error response back - { jsonrpc: '2.0', error: { code: -32603, message: 'Internal error' }, id: 19 }

DevB (Fri, 06 Apr 2018 17:13:51 GMT):
@grkvlt Wait! I take that back, I set the seth init to http://rest-api:8008 and Bingo - it worked.

grkvlt (Fri, 06 Apr 2018 17:14:47 GMT):
great. we need to write up some more documentation on the process, so this is helpful

DevB (Fri, 06 Apr 2018 17:15:01 GMT):
:smile: Hah! That was quite an ordeal.

DevB (Fri, 06 Apr 2018 17:15:14 GMT):
Thank you! Thank you!

DevB (Fri, 06 Apr 2018 17:15:41 GMT):
{ jsonrpc: '2.0', result: '0x306bd51adf9b6eaa51fc34f9ed7987559445d4f1d2d2317478cd8d232b2c75b23835b35c02ed621eec44cbc1779589193dcbd3488c2cb1a3a62c0a80b7e12613', id: 19 }

DevB (Fri, 06 Apr 2018 17:16:41 GMT):
All's well ...

DevB (Fri, 06 Apr 2018 17:22:45 GMT):
@hanumankumarn I guess this solves your Truffle problem. Three steps to nirvana:docker exec -it seth-rpc bash cp alias.pem /root/.sawtooth/ seth init http://rest-api:8008 seth-rpc --connect tcp://comp-seth-rpc:4004 --bind 0.0.0.0:3030 --unlock alias Test json {url: 'http://127.0.0.1:3030', method: 'POST', json: {"jsonrpc": "2.0", "id": 19, "method": "eth_sendTransaction", "params": [ {"from": "0x90e77c172a....", "gas": "0x6691b7", "gasPrice": "0x174876e800", "data":5260200160.... }

hanumankumarn (Sun, 08 Apr 2018 14:16:22 GMT):
@DevB & @grkvlt Thank you I have followed the above steps its working fine but where is the contract address?

hanumankumarn (Sun, 08 Apr 2018 14:23:10 GMT):
Using network 'seth'. Running migration: 1_initial_migration.js > { > "jsonrpc": "2.0", > "id": 2, > "method": "eth_accounts", > "params": [] > } < { < "jsonrpc": "2.0", < "result": [ < "0xe047b21a279cf98e4113e49876ede9473ac2b855" < ], < "id": 2 < } > { > "jsonrpc": "2.0", > "id": 3, > "method": "net_version", > "params": [] > } < { < "jsonrpc": "2.0", < "result": "19", < "id": 3 < } Deploying Migrations... > { > "jsonrpc": "2.0", > "id": 4, > "method": "net_version", > "params": [] > } < { < "jsonrpc": "2.0", < "result": "19", < "id": 4 < } > { > "jsonrpc": "2.0", > "id": 5, > "method": "eth_sendTransaction", > "params": [ > { > "from": "0xe047b21a279cf98e4113e49876ede9473ac2b855", > "gas": "0xb42b", > "gasPrice": "0x174876e800", > "data": "0x6060604052341561000f57600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506102db8061005e6000396000f300606060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630900f01014610067578063445df0ac146100a05780638da5cb5b146100c9578063fdacd5761461011e575b600080fd5b341561007257600080fd5b61009e600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610141565b005b34156100ab57600080fd5b6100b3610224565b6040518082815260200191505060405180910390f35b34156100d457600080fd5b6100dc61022a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561012957600080fd5b61013f600480803590602001909190505061024f565b005b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610220578190508073ffffffffffffffffffffffffffffffffffffffff1663fdacd5766001546040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b151561020b57600080fd5b6102c65a03f1151561021c57600080fd5b5050505b5050565b60015481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102ac57806001819055505b505600a165627a7a72305820878f3cdb1622e9e3edcdf4916128dd1ac4746cdc36286bad26e8f67652dd50850029" > } > ] > } < { < "jsonrpc": "2.0", < "result": "0xda8b066b36c88bf43dee7599bf69b4e96afc2d34f5272a3c9701201c14b1ffdf242dd39723de7cabf4040d75951def94fd55ac6bfdede8ae603461701ead6e07", < "id": 5 < } ... 0xda8b066b36c88bf43dee7599bf69b4e96afc2d34f5272a3c9701201c14b1ffdf242dd39723de7cabf4040d75951def94fd55ac6bfdede8ae603461701ead6e07 > { > "jsonrpc": "2.0", > "id": 6, > "method": "eth_newBlockFilter", > "params": [] > } < { < "jsonrpc": "2.0", < "result": "0x1", < "id": 6 < } > [ > { > "jsonrpc": "2.0", > "id": 7, > "method": "eth_getFilterChanges", > "params": [ > "0x1" > ] > } > ] < [ < { < "jsonrpc": "2.0", < "result": [], < "id": 7 < } < ] > [ > { > "jsonrpc": "2.0", > "id": 8, > "method": "eth_getFilterChanges", > "params": [ > "0x1" > ] > } > ] < [ < { < "jsonrpc": "2.0", < "result": [ < "0xc7fd0e84604cd6eae2bfacb67139b65d67646748368e540e89e00c91542b604c0dae454ab1f1748db7e7a770ba365b08ccc580e9bcfe16c0eb52c04b7bf6768d" < ], < "id": 8 < } < ] > { > "jsonrpc": "2.0", > "id": 9, > "method": "eth_getTransactionReceipt", > "params": [ > "0xda8b066b36c88bf43dee7599bf69b4e96afc2d34f5272a3c9701201c14b1ffdf242dd39723de7cabf4040d75951def94fd55ac6bfdede8ae603461701ead6e07" > ] > } > [ > { > "jsonrpc": "2.0", > "id": 10, > "method": "eth_getFilterChanges", > "params": [ > "0x1" > ] > } > ] < [ < { < "jsonrpc": "2.0", < "result": [ < "0xc7fd0e84604cd6eae2bfacb67139b65d67646748368e540e89e00c91542b604c0dae454ab1f1748db7e7a770ba365b08ccc580e9bcfe16c0eb52c04b7bf6768d" < ], < "id": 10 < } < ] > { > "jsonrpc": "2.0", > "id": 11, > "method": "eth_getTransactionReceipt", > "params": [ > "0xda8b066b36c88bf43dee7599bf69b4e96afc2d34f5272a3c9701201c14b1ffdf242dd39723de7cabf4040d75951def94fd55ac6bfdede8ae603461701ead6e07" > ] > }

hanumankumarn (Sun, 08 Apr 2018 14:23:55 GMT):
containers log

hanumankumarn (Sun, 08 Apr 2018 14:24:28 GMT):
e81a7bff3a494f55ba89b440672d251627a1e5052c1e43a14c8c2b9624140bf1336e770b7ee20767881d3c9b80369ff5bef7980152c488c0ccf12438c06d1df1 (block_num:1, state:a291085a6c47cec0ef821073577921ff396991d55046304a5f63dfa1907fda45, previous_block_id:dabfae3e325c7666f9ce06ca3f90e0170622c9bf48037ef18284cbeffcf501572f53e3de9da6c491fdca704cb08c17657d91d016f07b72c2e6cf8dcc9b8d0050)' against new block '7aa3a53b2ef219ffdc29ec4ed099d985de37c8ab4d778660a279bbe64140e8593d39ebba8ecb5bb0e97ac773cad4c634076e46a01f8bc06c78974cee8b2227ca (block_num:2, state:87d05439bcb6ebbbcded63656066907418e0c8839b60d09816e8f7bbdb147838, previous_block_id:e81a7bff3a494f55ba89b440672d251627a1e5052c1e43a14c8c2b9624140bf1336e770b7ee20767881d3c9b80369ff5bef7980152c488c0ccf12438c06d1df1)' sawtooth-validator | [2018-04-08 14:06:31.632 INFO chain] Fork comparison at height 2 is between - and 7aa3a53b sawtooth-validator | [2018-04-08 14:06:31.633 INFO chain] Chain head updated to: 7aa3a53b2ef219ffdc29ec4ed099d985de37c8ab4d778660a279bbe64140e8593d39ebba8ecb5bb0e97ac773cad4c634076e46a01f8bc06c78974cee8b2227ca (block_num:2, state:87d05439bcb6ebbbcded63656066907418e0c8839b60d09816e8f7bbdb147838, previous_block_id:e81a7bff3a494f55ba89b440672d251627a1e5052c1e43a14c8c2b9624140bf1336e770b7ee20767881d3c9b80369ff5bef7980152c488c0ccf12438c06d1df1) sawtooth-validator | [2018-04-08 14:06:31.633 INFO publisher] Now building on top of block: 7aa3a53b2ef219ffdc29ec4ed099d985de37c8ab4d778660a279bbe64140e8593d39ebba8ecb5bb0e97ac773cad4c634076e46a01f8bc06c78974cee8b2227ca (block_num:2, state:87d05439bcb6ebbbcded63656066907418e0c8839b60d09816e8f7bbdb147838, previous_block_id:e81a7bff3a494f55ba89b440672d251627a1e5052c1e43a14c8c2b9624140bf1336e770b7ee20767881d3c9b80369ff5bef7980152c488c0ccf12438c06d1df1) sawtooth-validator | [2018-04-08 14:06:31.634 DEBUG publisher] Loaded batch injectors: [] sawtooth-validator | [2018-04-08 14:06:31.635 DEBUG chain] Verify descendant blocks: 7aa3a53b2ef219ffdc29ec4ed099d985de37c8ab4d778660a279bbe64140e8593d39ebba8ecb5bb0e97ac773cad4c634076e46a01f8bc06c78974cee8b2227ca (block_num:2, state:87d05439bcb6ebbbcded63656066907418e0c8839b60d09816e8f7bbdb147838, previous_block_id:e81a7bff3a494f55ba89b440672d251627a1e5052c1e43a14c8c2b9624140bf1336e770b7ee20767881d3c9b80369ff5bef7980152c488c0ccf12438c06d1df1) ([]) sawtooth-validator | [2018-04-08 14:06:31.638 INFO chain] Finished block validation of: 7aa3a53b2ef219ffdc29ec4ed099d985de37c8ab4d778660a279bbe64140e8593d39ebba8ecb5bb0e97ac773cad4c634076e46a01f8bc06c78974cee8b2227ca (block_num:2, state:87d05439bcb6ebbbcded63656066907418e0c8839b60d09816e8f7bbdb147838, previous_block_id:e81a7bff3a494f55ba89b440672d251627a1e5052c1e43a14c8c2b9624140bf1336e770b7ee20767881d3c9b80369ff5bef7980152c488c0ccf12438c06d1df1) sawtooth-validator | [2018-04-08 14:06:32.060 INFO dispatch] received a message of type CLIENT_BLOCK_GET_BY_TRANSACTION_ID_REQUEST from 6ac39939a9fa14d9abe7e9bb78ea85570e86e5a806903e6e9ffed070b7a3d6c11c03e76cf645e7bb368354000aab5a7af52be92a961cd413ca2e1a5566d890b9 but have no handler for that type

hanumankumarn (Sun, 08 Apr 2018 14:26:03 GMT):
if any body knows solution please help me

grkvlt (Sun, 08 Apr 2018 19:10:26 GMT):
@hanumankumarn can you perhaps upload such long log files to a gist or similar service, and post the link here instead, as it makes conversation difficult

grkvlt (Sun, 08 Apr 2018 19:22:36 GMT):
also, are you running the 1.0 validator? `CLIENT_BLOCK_GET_BY_TRANSACTION_ID_REQUEST` was not used in 0.8 so that is the only reason I can think of for the last error message you give. try using the 1.0 docker images, as in the latest `sawtooth-seth` compose files

grkvlt (Sun, 08 Apr 2018 19:27:10 GMT):
https://github.com/hyperledger/sawtooth-core/blob/0-8/validator/sawtooth_validator/server/core.py vs https://github.com/hyperledger/sawtooth-core/blob/1-0/validator/sawtooth_validator/server/component_handlers.py#L186-L189

ThangDC (Mon, 09 Apr 2018 07:33:11 GMT):
Has joined the channel.

haile 3 (Mon, 09 Apr 2018 08:54:05 GMT):
Has joined the channel.

TeXnicians (Mon, 09 Apr 2018 17:10:29 GMT):
Has joined the channel.

TeXnicians (Mon, 09 Apr 2018 17:16:54 GMT):
Anyone knows how to generate the docs using `seth-build-docs`? I didn't see this in the docker-compose.yaml.

adamludvik (Mon, 09 Apr 2018 17:19:06 GMT):
@grkvlt @dplumb I am going to merge the maintainers PR shortly. I would like to immediately follow it up with a PR to add @pschwarz and @amundson to the list. They have been involved with the research, design, and development of Seth from its inception. This is evidenced by their regular involvement in code reviews. Additionally, @amundson was the first to meet with the Burrow team and conceived of the original design. Do either of you have any objections to this? We will do the formal vote in the PR that adds them but I just wanted to give you both a heads up.

grkvlt (Mon, 09 Apr 2018 17:21:49 GMT):
+1

adamludvik (Mon, 09 Apr 2018 17:22:56 GMT):
@grkvlt Approved and ready for merge: https://github.com/hyperledger/sawtooth-seth/pull/22

grkvlt (Mon, 09 Apr 2018 17:23:44 GMT):
thx for that, @adamludvik

grkvlt (Mon, 09 Apr 2018 17:24:58 GMT):
i've still got to work out what's up with the exception on shutdown, as well

adamludvik (Mon, 09 Apr 2018 17:30:55 GMT):
do we have a bug report filed for that?

grkvlt (Mon, 09 Apr 2018 20:01:37 GMT):
no, not yet - i'll put something into JIRA...

dplumb (Mon, 09 Apr 2018 21:04:14 GMT):
instructions are in the Dockerfile under sawtooth-seth/docs

dplumb (Mon, 09 Apr 2018 21:04:14 GMT):
instructions are in the Dockerfile under sawtooth-seth/docs @TeXnicians

TeXnicians (Mon, 09 Apr 2018 22:13:26 GMT):
I found it. Thanks @dplumb !

TeXnicians (Tue, 10 Apr 2018 00:30:36 GMT):
@DevB I followed your steps, it shows alias unlocked: xxxx, but hanging there. No output on the server side and not return json. Any suggestions?

DevB (Tue, 10 Apr 2018 15:52:43 GMT):
@TeXnicians You should see the output on your Docker console. The seth-rpc goes into a listen mode after it shows the alias has been unlocked.

adamludvik (Tue, 10 Apr 2018 18:55:24 GMT):
@grkvlt is this similar to the error you are seeing on shutdown? ```thread '' panicked at 'called `Result::unwrap()` on an `Err` value: "SendError(..)"', libcore/result.rs:945:5```

adamludvik (Wed, 11 Apr 2018 17:30:41 GMT):
I think I fixed it here: https://github.com/hyperledger/sawtooth-core/pull/1565

DevB (Thu, 12 Apr 2018 15:41:53 GMT):
@grkvit @dplumb Is there any documentation on how to setup a multi-clustered validator or multi-node Sawtooth-Seth architecture. Which configuration files are needed? Should this question go to the sawtooth channel? I am more interested in how the smart contract propagates across the network - even some help on how POET synchs the method calls. Any help would really appreciated.

DevB (Thu, 12 Apr 2018 17:28:53 GMT):
@dplumb What are your recommended changes for sawtooth-default-poet.yaml to run 4 different rest apis? Say they are running on 4 different EC2-Tier2-Medium instances. What changes do I need to make to the Yaml file?

dplumb (Thu, 12 Apr 2018 17:36:48 GMT):
What do you mean by 4 different rest apis? I've only used those files for docker-compose, so I'm not familiar with what configuration options you'd need to change if you are using it with AWS. I'd recommend the #sawtooth channel for POET questions

dplumb (Thu, 12 Apr 2018 17:37:15 GMT):
or #sawtooth-consensus

dplumb (Thu, 12 Apr 2018 17:38:04 GMT):
these docs may be helpful: https://sawtooth.hyperledger.org/docs/core/nightly/master/app_developers_guide/creating_sawtooth_network.html#

DevB (Thu, 12 Apr 2018 17:45:15 GMT):
I am more interested in how the Smart Contract propagates across multiple nodes. Right now the seth-cli works inside one container. In real life, you will have it dispersed across different nodes.

dplumb (Thu, 12 Apr 2018 17:51:58 GMT):
Right, you could try adding the Seth TP and block info TP to each node in that docker-compose file

dplumb (Thu, 12 Apr 2018 17:52:10 GMT):
and add a client to one of the nodes

DevB (Thu, 12 Apr 2018 18:01:44 GMT):
@dplumb Will it be the same docker-compose file for all? I guess I will have to configure the Seth TP separately for each node - Is that right?

dplumb (Thu, 12 Apr 2018 18:02:34 GMT):
That is correct

DevB (Thu, 12 Apr 2018 18:03:07 GMT):
And have ports 8080 kept opened?

dplumb (Thu, 12 Apr 2018 18:05:17 GMT):
You only need to connect the TP to the validator, as in the sawtooth-seth docker-compose.yaml file

DevB (Thu, 12 Apr 2018 18:08:25 GMT):
Thanks. I will get back to you with more questions? Incidentally - do you have a diagram?

dplumb (Thu, 12 Apr 2018 18:10:37 GMT):
Great! I'm interested to see how it works, I don't know if anyone has tried a multi-node seth network. This may be helpful: https://sawtooth.hyperledger.org/docs/core/nightly/master/_images/arch-sawtooth-overview.svg

mshamory (Thu, 12 Apr 2018 18:56:52 GMT):
After calling a contract with an alias, an additional address appears in the seth contract list for that alias. Seth account show returns that there is nothing at that address. Is this a bug?

DevB (Thu, 12 Apr 2018 20:55:36 GMT):
@dplumb I have two instances running in AWS. Have ports 4004 and 8008 opened between them. My question is which part of the docker-compose.yaml needs to be changed - is it sawtooth-validator -vv --endpoint tcp://validator:8800 --bind component:tcp://eth0:4004 --bind network:tcp://eth0:8800 . I dont see any peers.

dplumb (Thu, 12 Apr 2018 20:58:29 GMT):
I think you need to expose port 8800

DevB (Thu, 12 Apr 2018 21:03:09 GMT):
Just opened it. Restarted the containers. I see a lot of activity with seth-tp.

DevB (Thu, 12 Apr 2018 21:11:26 GMT):
I created an account and unlocked the alias. Should it propagate to the other instance?

anastath (Fri, 13 Apr 2018 08:13:55 GMT):
Hi all, do you know when this bug will be deployed to production (https://jira.hyperledger.org/browse/STL-1141)? Is there any link with the version in which this bug has been fixed so as to download and deploy it?We currently cannot unlock an account to connect with the rpc server, since "seth-rpc --unlock alias" responds with "Alias not found in data directory" but we need to connect with the seth-rpc server since we are developing a dapp and need to submit transactions to the validator through the seth-rpc server in json format. Thank you in advance for your answer!

santiagop (Fri, 13 Apr 2018 20:07:02 GMT):
Has joined the channel.

ShashankChndkr (Fri, 13 Apr 2018 20:19:23 GMT):
Has joined the channel.

ShashankChndkr (Fri, 13 Apr 2018 21:16:26 GMT):
as per the documentation https://sawtooth.hyperledger.org/docs/seth/releases/latest/seth_developers_guide/getting_started.html at the github repo https://github.com/hyperledger/sawtooth-core i should find sawtooth-core/docker/compose/sawtooth-seth.yaml unable to find one any help which yaml file to use

tkuhrt (Fri, 13 Apr 2018 21:44:00 GMT):
@ShashankChndkr : I am guessing you want one of the docker-compose*.yaml files in https://github.com/hyperledger/sawtooth-seth

tkuhrt (Fri, 13 Apr 2018 21:46:29 GMT):
Looks like based on the latest docs source, you want docker-compose.yaml in https://github.com/hyperledger/sawtooth-seth/

tkuhrt (Fri, 13 Apr 2018 21:47:33 GMT):
I wonder why https://sawtooth.hyperledger.org/docs/seth/releases/latest/seth_developers_guide/getting_started.html doesn't match https://github.com/hyperledger/sawtooth-seth/blob/master/docs/source/seth_developers_guide/getting_started.rst

rjones (Fri, 13 Apr 2018 22:16:52 GMT):
Has joined the channel.

TeXnicians (Sun, 15 Apr 2018 05:36:01 GMT):
@DevB What do you mean by docker console? I followed the steps above from: ``` ``` docker exec -it seth-rpc bash

TeXnicians (Sun, 15 Apr 2018 05:36:01 GMT):
@DevB What do you mean by docker console?

TeXnicians (Sun, 15 Apr 2018 05:38:18 GMT):
from `docker exec -it seth-rpc bash` to `seth-rpc --connect tcp://comp-seth-rpc:4004 --bind 0.0.0.0:3030 --unlock alias`, then the seth-rpc enter listen mode. Then I used another terminal window and run `docker exec -it seth-rpc bash`, then `curl -d '{"jsonrpc": "2.0", "method": "eth_blockNumber", "id": 1}' -H "Content-Type: application/json" localhost:3030` but it hangs. I am thinking that I might used it wrongly. Can you give me a detailed guidance? Thanks a lot!

TeXnicians (Sun, 15 Apr 2018 05:38:18 GMT):
I followed the steps from `docker exec -it seth-rpc bash` to `seth-rpc --connect tcp://comp-seth-rpc:4004 --bind 0.0.0.0:3030 --unlock alias`, then the seth-rpc enter listen mode. Then I used another terminal window and run `docker exec -it seth-rpc bash`, then `curl -d '{"jsonrpc": "2.0", "method": "eth_blockNumber", "id": 1}' -H "Content-Type: application/json" localhost:3030` but it hangs. If I hit CTRL+C on the seth-rpc side. The server console would show: `Unable to find entry at address a68b06...`. I am thinking that I might used it wrongly. Can you give me a detailed guidance? Thanks a lot!I

TeXnicians (Sun, 15 Apr 2018 05:38:18 GMT):
I followed the steps from `docker exec -it seth-rpc bash` to `seth-rpc --connect tcp://comp-seth-rpc:4004 --bind 0.0.0.0:3030 --unlock alias`, then the seth-rpc enter listen mode. Then I used another terminal window and run `docker exec -it seth-rpc bash`, then `curl -d '{"jsonrpc": "2.0", "method": "eth_blockNumber", "id": 1}' -H "Content-Type: application/json" localhost:3030` but it hangs. If I hit CTRL+C on the seth-rpc side and run the `curl ...` again, the server console would show: `Unable to find entry at address a68b06...`. I am thinking that I might used it wrongly. Can you give me a detailed guidance? Thanks a lot!I

TeXnicians (Sun, 15 Apr 2018 05:38:18 GMT):
I followed the steps from `docker exec -it seth-rpc bash` to `seth-rpc --connect tcp://comp-seth-rpc:4004 --bind 0.0.0.0:3030 --unlock alias`, then the seth-rpc enter listen mode. Then I used another terminal window and run `docker exec -it seth-rpc bash`, and `curl -d '{"jsonrpc": "2.0", "method": "eth_blockNumber", "id": 1}' -H "Content-Type: application/json" localhost:3030`, then it hangs. If I hit CTRL+C on the seth-rpc side and run the `curl ...` again, the server console would show: `Unable to find entry at address a68b06...`. I am thinking that I might used it wrongly. Can you give me a detailed guidance? Thanks a lot!I

TeXnicians (Sun, 15 Apr 2018 05:38:18 GMT):
I followed the steps from `docker exec -it seth-rpc bash` to `seth-rpc --connect tcp://comp-seth-rpc:4004 --bind 0.0.0.0:3030 --unlock alias`, then the seth-rpc enter listen mode. Then I used another terminal window and run `docker exec -it seth-rpc bash`, and `curl -d '{"jsonrpc": "2.0", "method": "eth_blockNumber", "id": 1}' -H "Content-Type: application/json" localhost:3030`, it hangs. If I hit CTRL+C on the seth-rpc side and run the `curl ...` again, the server console would show: `Unable to find entry at address a68b06...`. I am thinking that I might used it wrongly. Can you give me a detailed guidance? Thanks a lot!I

TeXnicians (Sun, 15 Apr 2018 05:38:18 GMT):
I followed the steps from `docker exec -it seth-rpc bash` to `seth-rpc --connect tcp://comp-seth-rpc:4004 --bind 0.0.0.0:3030 --unlock alias`, then the seth-rpc enter listen mode. Then I used another terminal window and run `docker exec -it seth-rpc bash`, and `curl -d '{"jsonrpc": "2.0", "method": "eth_sendTransaction", "id": 2, "params": [{"from": "0x7507d38a135be3e353c962b9915d0ebefd883b90", "data": "0x606..."}]}' -H "Content-Type: application/json" localhost:3030`, it hangs. If I hit CTRL+C on the seth-rpc side and run the `curl ...` again, the server console would show: `Unable to find entry at address a68b06...`. I am thinking that I might used it wrongly. Can you give me a detailed guidance? Thanks a lot!I

TeXnicians (Sun, 15 Apr 2018 05:38:18 GMT):
I followed the steps from `docker exec -it seth-rpc bash` to `seth-rpc --connect tcp://comp-seth-rpc:4004 --bind 0.0.0.0:3030 --unlock alias`, then the seth-rpc enter listen mode. Then I used another terminal window and run `docker exec -it seth-rpc bash`, and ```curl -d '{"jsonrpc": "2.0", "method": "eth_sendTransaction", "id": 2, "params": [{"from": "0x7507d38a135be3e353c962b9915d0ebefd883b90", "data": "0x606..."}]}' -H "Content-Type: application/json" localhost:3030```, it hangs. If I hit CTRL+C on the seth-rpc side and run the `curl ...` again, the server console would show: `Unable to find entry at address a68b06...`. I am thinking that I might used it wrongly. Can you give me a detailed guidance? Thanks a lot!I

TeXnicians (Sun, 15 Apr 2018 05:38:18 GMT):
I followed the steps from `docker exec -it seth-rpc bash` to `seth-rpc --connect tcp://comp-seth-rpc:4004 --bind 0.0.0.0:3030 --unlock alias`, then the seth-rpc enter listen mode. Then I used another terminal window and run `docker exec -it seth-rpc bash`, and ```curl -d '{"jsonrpc": "2.0", "method": "eth_sendTransaction", "id": 2, "params": [{"from": "0x7507d38a135be3e353c962b9915d0ebefd883b90", "data": "0x606..."}]}' -H "Content-Type: application/json" localhost:3030```, it either hangs or the server shows `ERROR Account with address `bc555571cea00df1b976d5ccec25ae85f2137ce1` not found.` If I hit CTRL+C on the seth-rpc side and run the `curl ...` again, the server console would show: `Unable to find entry at address a68b06...`. I am thinking that I might used it wrongly. Can you give me a detailed guidance? Thanks a lot!I

TeXnicians (Sun, 15 Apr 2018 05:38:18 GMT):
I followed the steps from `docker exec -it seth-rpc bash` to `seth-rpc --connect tcp://comp-seth-rpc:4004 --bind 0.0.0.0:3030 --unlock alias`, then the seth-rpc enter listen mode. Then I used another terminal window and run `docker exec -it seth-rpc bash`, and ```curl -d '{"jsonrpc": "2.0", "method": "eth_sendTransaction", "id": 2, "params": [{"from": "0xbc555571cea00df1b976d5ccec25ae85f2137ce1", "data": "0x606..."}]}' -H "Content-Type: application/json" localhost:3030```, it either hangs or the server shows `ERROR Account with address `bc555571cea00df1b976d5ccec25ae85f2137ce1` not found.` If I hit CTRL+C on the seth-rpc side and run the `curl ...` again, the server console would show: `Unable to find entry at address a68b06...`. I am thinking that I might used it wrongly. Can you give me a detailed guidance? Thanks a lot!I

TeXnicians (Sun, 15 Apr 2018 05:38:18 GMT):
I followed the steps from `docker exec -it seth-rpc bash` to `seth-rpc --connect tcp://comp-seth-rpc:4004 --bind 0.0.0.0:3030 --unlock alias`, then the seth-rpc enter listen mode. Then I used another terminal window and run `docker exec -it seth-rpc bash`, and ```curl -d '{"jsonrpc": "2.0", "method": "eth_sendTransaction", "id": 2, "params": [{"from": "0xbc555571cea00df1b976d5ccec25ae85f2137ce1", "data": "0x606..."}]}' -H "Content-Type: application/json" localhost:3030```, it either hangs or the server shows ```ERROR Account with address `bc555571cea00df1b976d5ccec25ae85f2137ce1` not found.``` If I hit CTRL+C on the seth-rpc side and run the `curl ...` again, the server console would show: `Unable to find entry at address a68b06...`. I am thinking that I might used it wrongly. Can you give me a detailed guidance? Thanks a lot!I

TeXnicians (Sun, 15 Apr 2018 05:38:18 GMT):
I followed the steps from `docker exec -it seth-rpc bash` to `seth-rpc --connect tcp://comp-seth-rpc:4004 --bind 0.0.0.0:3030 --unlock alias`, then the seth-rpc enter listen mode. Then I used another terminal window and run `docker exec -it seth-rpc bash`, and ```curl -d '{"jsonrpc": "2.0", "method": "eth_sendTransaction", "id": 2, "params": [{"from": "0xbc555571cea00df1b976d5ccec25ae85f2137ce1", "data": "0x606..."}]}' -H "Content-Type: application/json" localhost:3030``` it either hangs or the server shows ```ERROR Account with address 'bc555571cea00df1b976d5ccec25ae85f2137ce1' not found.``` If I hit CTRL+C on the seth-rpc side and run the `curl ...` again, the server console would show: `Unable to find entry at address a68b06...`. I am thinking that I might used it wrongly. Can you give me a detailed guidance? Thanks a lot!I

TeXnicians (Sun, 15 Apr 2018 05:38:18 GMT):
I followed the steps from `docker exec -it seth-rpc bash` to `seth-rpc --connect tcp://comp-seth-rpc:4004 --bind 0.0.0.0:3030 --unlock alias`, then the seth-rpc enter listen mode. Then I used another terminal window and run `docker exec -it seth-rpc bash`, and ```curl -d '{"jsonrpc": "2.0", "method": "eth_sendTransaction", "id": 2, "params": [{"from": "0xbc555571cea00df1b976d5ccec25ae85f2137ce1", "data": "0x606..."}]}' -H "Content-Type: application/json" localhost:3030``` it either hangs or the server shows `ERROR Account with address 'bc555571cea00df1b976d5ccec25ae85f2137ce1' not found.` If I hit CTRL+C on the seth-rpc side and run the `curl ...` again, the server console would show: `Unable to find entry at address a68b06...`. I am thinking that I might used it wrongly. Can you give me a detailed guidance? Thanks a lot!I

TeXnicians (Sun, 15 Apr 2018 05:38:18 GMT):
I followed the steps from `docker exec -it seth-rpc bash` to `seth-rpc --connect tcp://comp-seth-rpc:4004 --bind 0.0.0.0:3030 --unlock alias`, then the seth-rpc enter listen mode. Then I used another terminal window and run ```curl -d '{"jsonrpc": "2.0", "method": "eth_sendTransaction", "id": 2, "params": [{"from": "0xbc555571cea00df1b976d5ccec25ae85f2137ce1", "data": "0x606..."}]}' -H "Content-Type: application/json" localhost:3030``` it either hangs or the server shows `ERROR Account with address 'bc555571cea00df1b976d5ccec25ae85f2137ce1' not found.` If I hit CTRL+C on the seth-rpc side and run the `curl ...` again, the server console would show: `Unable to find entry at address a68b06...`. I am thinking that I might used it wrongly. Can you give me a detailed guidance? Thanks a lot!I

TeXnicians (Sun, 15 Apr 2018 05:38:18 GMT):
I followed the steps from `docker exec -it seth-rpc bash` to `seth-rpc --connect tcp://comp-seth-rpc:4004 --bind 0.0.0.0:3030 --unlock alias`, then the seth-rpc enter listen mode. Then I used another terminal window and run ``` curl -d '{"jsonrpc": "2.0", "method": "eth_accounts", "id": 2, "params": []}' -H "Content-Type: application/json" localhost:3030 ``` it return: ``` ``` ``` curl -d '{"jsonrpc": "2.0", "method": "eth_sendTransaction", "id": 2, "params": [{"from": "0xbc555571cea00df1b976d5ccec25ae85f2137ce1", "data": "0x606..."}]}' -H "Content-Type: application/json" localhost:3030 ``` it either hangs or the server shows `ERROR Account with address 'bc555571cea00df1b976d5ccec25ae85f2137ce1' not found.` If I hit CTRL+C on the seth-rpc side and run the `curl ...` again, the server console would show: `Unable to find entry at address a68b06...`. I am thinking that I might used it wrongly. Can you give me a detailed guidance? Thanks a lot!I

TeXnicians (Sun, 15 Apr 2018 05:38:18 GMT):
I followed the steps from `docker exec -it seth-rpc bash` to `seth-rpc --connect tcp://comp-seth-rpc:4004 --bind 0.0.0.0:3030 --unlock alias`, then the seth-rpc enter listen mode. Then I used another terminal window and run ``` curl -d '{"jsonrpc": "2.0", "method": "eth_accounts", "id": 2, "params": []}' -H "Content-Type: application/json" localhost:3030 ``` it return: ``` {"jsonrpc":"2.0","result":["0xbc555571cea00df1b976d5ccec25ae85f2137ce1"],"id":2} ``` Then I compile the smart contract and get the deploy code, and run ``` curl -d '{"jsonrpc": "2.0", "method": "eth_sendTransaction", "id": 2, "params": [{"from": "0xbc555571cea00df1b976d5ccec25ae85f2137ce1", "data": "0x606..."}]}' -H "Content-Type: application/json" localhost:3030 ``` it either hangs or the server shows `ERROR Account with address 'bc555571cea00df1b976d5ccec25ae85f2137ce1' not found.` If I hit CTRL+C on the seth-rpc side and run the `curl ...` again, the server console would show: `Unable to find entry at address a68b06...`. I am thinking that I might used it wrongly. Can you give me a detailed guidance? Thanks a lot!I

TeXnicians (Sun, 15 Apr 2018 05:38:18 GMT):
I followed the steps from `docker exec -it seth-rpc bash` to `seth-rpc --connect tcp://comp-seth-rpc:4004 --bind 0.0.0.0:3030 --unlock alias`, then the seth-rpc enter listen mode. Then I used another terminal window and run ```curl -d '{"jsonrpc": "2.0", "method": "eth_accounts", "id": 2, "params": []}' -H "Content-Type: application/json" localhost:3030 ``` it returns: ```{"jsonrpc":"2.0","result":["0xbc555571cea00df1b976d5ccec25ae85f2137ce1"],"id":2} ``` Then I compile the smart contract and get the deploy code, and run ```curl -d '{"jsonrpc": "2.0", "method": "eth_sendTransaction", "id": 2, "params": [{"from": "0xbc555571cea00df1b976d5ccec25ae85f2137ce1", "data": "0x606..."}]}' -H "Content-Type: application/json" localhost:3030 ``` it either hangs or the server shows `ERROR Account with address 'bc555571cea00df1b976d5ccec25ae85f2137ce1' not found.` If I hit CTRL+C on the seth-rpc side and run the `curl ...` again, the server console would show: `Unable to find entry at address a68b06...`. I am thinking that I might used it wrongly. Can you give me a detailed guidance? Thanks a lot!I

TeXnicians (Sun, 15 Apr 2018 05:38:18 GMT):
I used the following steps: On sawtooth-seth folder, run $ docker-compose up (or if it is first time) $ docker-compose up --build. When everything is up and running, shell into the container from another terminal $ docker exec -it seth-rpc bash Once inside, run the following commands: 1. openssl ecparam -genkey -name secp256k1 | openssl ec -out alias.pem -aes128 2. seth account import alias.pem alias 3. seth account create --nonce=0 --wait alias ```Account created Transaction Receipt: { "TransactionID": "2a8c3d0e412360962d679b47818022251dab3ed8f957b562c8aaacd5580cb473525f8109b5f886485899e26e9120f74a393ba7b4f35f7e4ed75b61a7424d2372", "Address": "bc555571cea00df1b976d5ccec25ae85f2137ce1" }``` 4. cp alias.pem /root/.sawtooth/ 5. seth-rpc --unlock alias then the seth-rpc enter listen mode. Then I used another terminal window and run ```curl -d '{"jsonrpc": "2.0", "method": "eth_accounts", "id": 2, "params": []}' -H "Content-Type: application/json" localhost:3030 ``` it returns: ```{"jsonrpc":"2.0","result":["0xbc555571cea00df1b976d5ccec25ae85f2137ce1"],"id":2} ``` Then I compile the smart contract and get the deploy code, and run ```curl -d '{"jsonrpc": "2.0", "method": "eth_sendTransaction", "id": 2, "params": [{"from": "0xbc555571cea00df1b976d5ccec25ae85f2137ce1", "data": "0x606..."}]}' -H "Content-Type: application/json" localhost:3030 ``` it either hangs or the server shows `ERROR Account with address 'bc555571cea00df1b976d5ccec25ae85f2137ce1' not found.` If I hit CTRL+C on the seth-rpc side and run the `curl ...` again, the server console would show: `Unable to find entry at address a68b06...`. I am thinking that I might used it wrongly. Can you give me a detailed guidance? Thanks a lot!I

TeXnicians (Sun, 15 Apr 2018 05:38:18 GMT):
I used the following steps: On sawtooth-seth folder, run `$ docker-compose up` (or if it is first time) `$ docker-compose up --build`. When everything is up and running, shell into the container from another terminal `$ docker exec -it seth-rpc bash` Once inside, run the following commands: 1. `openssl ecparam -genkey -name secp256k1 | openssl ec -out alias.pem -aes128` 2. `seth account import alias.pem alias` 3. `seth account create --nonce=0 --wait alias` ```Account created Transaction Receipt: { "TransactionID": "2a8c3d0e412360962d679b47818022251dab3ed8f957b562c8aaacd5580cb473525f8109b5f886485899e26e9120f74a393ba7b4f35f7e4ed75b61a7424d2372", "Address": "bc555571cea00df1b976d5ccec25ae85f2137ce1" }``` 4. `cp alias.pem /root/.sawtooth/` 5. `seth-rpc --unlock alias` then the seth-rpc enter listen mode. Then I used another terminal window and run ```curl -d '{"jsonrpc": "2.0", "method": "eth_accounts", "id": 2, "params": []}' -H "Content-Type: application/json" localhost:3030 ``` it returns: ```{"jsonrpc":"2.0","result":["0xbc555571cea00df1b976d5ccec25ae85f2137ce1"],"id":2} ``` Then I compile the smart contract and get the deploy code, and run ```curl -d '{"jsonrpc": "2.0", "method": "eth_sendTransaction", "id": 2, "params": [{"from": "0xbc555571cea00df1b976d5ccec25ae85f2137ce1", "data": "0x606..."}]}' -H "Content-Type: application/json" localhost:3030 ``` it either hangs or the server shows `ERROR Account with address 'bc555571cea00df1b976d5ccec25ae85f2137ce1' not found.` If I hit CTRL+C on the seth-rpc side and run the `curl ...` again, the server console would show: `Unable to find entry at address a68b06...`. I am thinking that I might used it wrongly. Can you give me a detailed guidance? Thanks a lot!I

TeXnicians (Sun, 15 Apr 2018 05:38:18 GMT):
I used the following steps: On sawtooth-seth folder, run `$ docker-compose up` (or if it is first time) `$ docker-compose up --build`. When everything is up and running, shell into the container from another terminal `$ docker exec -it seth-rpc bash` Once inside, run the following commands: 1. `openssl ecparam -genkey -name secp256k1 | openssl ec -out alias.pem -aes128` 2. `seth account import alias.pem alias` 3. `seth account create --nonce=0 --wait alias` ```Account created Transaction Receipt: { "TransactionID": "2a8c3d0e412360962d679b47818022251dab3ed8f957b562c8aaacd5580cb473525f8109b5f886485899e26e9120f74a393ba7b4f35f7e4ed75b61a7424d2372", "Address": "bc555571cea00df1b976d5ccec25ae85f2137ce1" }``` 4. `cp alias.pem /root/.sawtooth/` 5. `seth-rpc --unlock alias` then the seth-rpc enters listen mode. Then I used another terminal window and run ```curl -d '{"jsonrpc": "2.0", "method": "eth_accounts", "id": 2, "params": []}' -H "Content-Type: application/json" localhost:3030 ``` it returns: ```{"jsonrpc":"2.0","result":["0xbc555571cea00df1b976d5ccec25ae85f2137ce1"],"id":2} ``` Then I compile the smart contract and get the deploy code, and run ```curl -d '{"jsonrpc": "2.0", "method": "eth_sendTransaction", "id": 2, "params": [{"from": "0xbc555571cea00df1b976d5ccec25ae85f2137ce1", "data": "0x606..."}]}' -H "Content-Type: application/json" localhost:3030 ``` it either hangs or the server shows `ERROR Account with address 'bc555571cea00df1b976d5ccec25ae85f2137ce1' not found.` If I hit CTRL+C on the seth-rpc side and run the `curl ...` again, the server console would show: `Unable to find entry at address a68b06...`. I am thinking that I might used it wrongly. Can you give me a detailed guidance? Thanks a lot!I

TeXnicians (Sun, 15 Apr 2018 05:38:18 GMT):
I used the following steps: On sawtooth-seth folder, run `$ docker-compose up` (or if it is first time) `$ docker-compose up --build`. When everything is up and running, shell into the container from another terminal `$ docker exec -it seth-rpc bash` Once inside, run the following commands: 1. `openssl ecparam -genkey -name secp256k1 | openssl ec -out alias.pem -aes128` 2. `seth account import alias.pem alias` 3. `seth account create --nonce=0 --wait alias` ```Account created Transaction Receipt: { "TransactionID": "2a8c3d0e412360962d679b47818022251dab3ed8f957b562c8aaacd5580cb473525f8109b5f886485899e26e9120f74a393ba7b4f35f7e4ed75b61a7424d2372", "Address": "bc555571cea00df1b976d5ccec25ae85f2137ce1" }``` 4. `cp alias.pem /root/.sawtooth/` 5. `seth-rpc --unlock alias` then the seth-rpc enters listen mode. Then I used another terminal window and run ```curl -d '{"jsonrpc": "2.0", "method": "eth_accounts", "id": 2, "params": []}' -H "Content-Type: application/json" localhost:3030 ``` it sometimes returns: ```{"jsonrpc":"2.0","result":["0xbc555571cea00df1b976d5ccec25ae85f2137ce1"],"id":2} ``` but sometime returns: ```{"jsonrpc":"2.0","result":[],"id":2}``` Then I compile the smart contract and get the deploy code, and run ```curl -d '{"jsonrpc": "2.0", "method": "eth_sendTransaction", "id": 2, "params": [{"from": "0xbc555571cea00df1b976d5ccec25ae85f2137ce1", "data": "0x606..."}]}' -H "Content-Type: application/json" localhost:3030 ``` it either hangs or the server shows `ERROR Account with address 'bc555571cea00df1b976d5ccec25ae85f2137ce1' not found.` If I hit CTRL+C on the seth-rpc side and run the `curl ...` again, the server console would show: `Unable to find entry at address a68b06...`. I am thinking that I might used it wrongly. Can you give me a detailed guidance? Thanks a lot!I

TeXnicians (Sun, 15 Apr 2018 05:38:18 GMT):
I used the following steps: On sawtooth-seth folder, run `$ docker-compose up` (or if it is first time) `$ docker-compose up --build`. When everything is up and running, shell into the container from another terminal `$ docker exec -it seth-rpc bash` Once inside, run the following commands: 1. `openssl ecparam -genkey -name secp256k1 | openssl ec -out alias.pem -aes128` 2. `seth account import alias.pem alias` 3. `seth account create --nonce=0 --wait alias` ```Account created Transaction Receipt: { "TransactionID": "2a8c3d0e412360962d679b47818022251dab3ed8f957b562c8aaacd5580cb473525f8109b5f886485899e26e9120f74a393ba7b4f35f7e4ed75b61a7424d2372", "Address": "bc555571cea00df1b976d5ccec25ae85f2137ce1" }``` 4. `cp alias.pem /root/.sawtooth/` 5. `seth-rpc --unlock alias` then the seth-rpc enters listen mode. Then I used another terminal window and run ```curl -d '{"jsonrpc": "2.0", "method": "eth_accounts", "id": 2, "params": []}' -H "Content-Type: application/json" localhost:3030 ``` it sometimes returns: ```{"jsonrpc":"2.0","result":["0xbc555571cea00df1b976d5ccec25ae85f2137ce1"],"id":2} ``` but sometime returns: ```{"jsonrpc":"2.0","result":[],"id":2} ``` Then I compile the smart contract and get the deploy code, and run ```curl -d '{"jsonrpc": "2.0", "method": "eth_sendTransaction", "id": 2, "params": [{"from": "0xbc555571cea00df1b976d5ccec25ae85f2137ce1", "data": "0x606..."}]}' -H "Content-Type: application/json" localhost:3030 ``` it either hangs or the server shows `ERROR Account with address 'bc555571cea00df1b976d5ccec25ae85f2137ce1' not found.` If I hit CTRL+C on the seth-rpc side and run the `curl ...` again, the server console would show: `Unable to find entry at address a68b06...`. I am thinking that I might used it wrongly. Can you give me a detailed guidance? Thanks a lot!I

harishperfect (Mon, 16 Apr 2018 00:19:01 GMT):
Rookie questions: ModuleNotFoundError: No module named 'sawtooth_sdk.protobuf' getting this error inside virtualenv

harishperfect (Mon, 16 Apr 2018 00:19:01 GMT):
Rookie question: ModuleNotFoundError: No module named 'sawtooth_sdk.protobuf' getting this error inside virtualenv

TeXnicians (Mon, 16 Apr 2018 00:21:35 GMT):
@harishperfect you might want to change `hyperledger/sawtooth-validator:1.0` to `hyperledger/sawtooth-validator:latest` in `docker-compose.yaml`

TeXnicians (Mon, 16 Apr 2018 00:21:35 GMT):
@harishperfect you might want to change `hyperledger/sawtooth-validator:1.0` to `hyperledger/sawtooth-validator:latest` in `docker-compose.yaml` and re-run `docker-compose up`

harishperfect (Mon, 16 Apr 2018 00:23:45 GMT):
I got that error in the context of Python SDK, while trying out the Build transactions program.

harishperfect (Mon, 16 Apr 2018 00:24:06 GMT):
I will make the corrections to the docker file anyways @TeXnicians

harishperfect (Mon, 16 Apr 2018 00:30:59 GMT):

sawtooth_sdk.protobuf not found

harishperfect (Mon, 16 Apr 2018 00:30:59 GMT):

sawtooth_sdk.protobuf not found

TeXnicians (Mon, 16 Apr 2018 00:38:04 GMT):
@harishperfect so you are trying something for sawtooth-core, right? I think #sawtooth might be a better place to discuss. For this issue, I think you can try to run `setup.py` to install sawtooth_sdk to your machine first.

harishperfect (Mon, 16 Apr 2018 00:39:46 GMT):
@TeXnicians Yeap, I will take it there if I don't get it after running 'setup.py'. Thanks!

DevB (Tue, 17 Apr 2018 15:27:13 GMT):
@TeXnicians Step 5 - seth init http://rest-api:8008 seth-rpc --connect tcp://comp-seth-rpc:4004 --bind 0.0.0.0:3030 --unlock alias

grkvlt (Fri, 20 Apr 2018 15:10:50 GMT):
@TeXnicians yes, and also make sure only one `seth-rpc` instance is running, and that it is un locked

grkvlt (Fri, 20 Apr 2018 15:11:47 GMT):
oh, and actually you want `seth-rpc --connect tcp://validator:4004 --bind 0.0.0.0:3030 --unlock alias` i believe, where you connect to the *validator* in your sawtooth network...

Subhadip 1 (Tue, 24 Apr 2018 06:58:28 GMT):
Has joined the channel.

anastath (Tue, 24 Apr 2018 08:45:24 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=33WprvFBZaLtvWqjX) @TeXnicians .I encountered EXACTLY the same problem when I tried to deploy a contract either with JSON RPC call to the method 'eth_sendTransaction', or within a node.js client which used Web3 .js library.

anastath (Tue, 24 Apr 2018 08:45:24 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=33WprvFBZaLtvWqjX) @TeXnicians .I encountered EXACTLY the same problem when I tried to deploy a contract either with JSON RPC call to the method 'eth_sendTransaction', or using node.js and its web3.js module with promises. ` return new Promise(function(resolve,reject){ web3.eth.sendTransaction({from: admin_account,data: unlinked_binary}).then(function(result){ return resolve(result); }).` Did you manage to solve this? How?

mshamory (Tue, 24 Apr 2018 21:05:46 GMT):
@rberg2 I was trying to rebuild my sawtooth-seth images and it still uses your repository https://github.com/rberg2/sawtooth-go-sdk/ which appears to have been deleted even the latest branch uses that repository to build. Is there a workaround for this or do you happen to have a backup of the repository. Many thanks in advance.

rberg2 (Tue, 24 Apr 2018 21:05:47 GMT):
Has joined the channel.

rberg2 (Tue, 24 Apr 2018 21:08:23 GMT):
oh no, I didn;t realize removing that repo with break things.. I will put it back right now.

pschwarz (Tue, 24 Apr 2018 21:09:39 GMT):
@rberg Can you also submit a PR against sawtooth-seth to have it point to the correct SDK?

mshamory (Tue, 24 Apr 2018 21:11:56 GMT):
@rberg2 thanks so much

rberg2 (Tue, 24 Apr 2018 21:11:57 GMT):
@mshamory that repo is back

rberg2 (Tue, 24 Apr 2018 21:12:09 GMT):
anytime! sorry for breaking your build!

adamludvik (Wed, 25 Apr 2018 17:38:09 GMT):
This PR migrates seth over to the official hyperledger/sawtooth-sdk-go repo: https://github.com/hyperledger/sawtooth-seth/pull/27

adamludvik (Wed, 25 Apr 2018 17:38:37 GMT):
I _think_ I got everything working but we will see what Jenkins has to say on that

grkvlt (Thu, 26 Apr 2018 11:37:19 GMT):
i'll take a look, thanks

grkvlt (Thu, 26 Apr 2018 11:37:19 GMT):
i'll take a look @adamludvik thanks

yosra (Tue, 01 May 2018 09:55:15 GMT):
Has joined the channel.

yosra (Tue, 01 May 2018 14:10:20 GMT):
hi i clone the sawtooth-seth and i tried to run "docker-compose up --build" but i have this issue can you help me please

yosra (Tue, 01 May 2018 14:10:46 GMT):

seth.png

HeathMatlock (Tue, 01 May 2018 19:37:48 GMT):
Has joined the channel.

HeathMatlock (Tue, 01 May 2018 19:37:54 GMT):
beep boop

Aswath8687 (Tue, 01 May 2018 19:47:10 GMT):
Has joined the channel.

dplumb (Tue, 01 May 2018 20:49:21 GMT):
@yosra There was a change in golang/protobuf which broke the sawtooth Go SDK

dplumb (Tue, 01 May 2018 20:50:01 GMT):
It should be fixed now, but I am now looking to see if Seth was affected directly

yosra (Tue, 01 May 2018 20:59:41 GMT):
@dplumb how i can fix it!

dplumb (Tue, 01 May 2018 21:00:45 GMT):
We just merged the fix to sawtooth-sdk-go this afternoon. Right now I'm building everything to see if there are any protobuf issues in Seth that would cause the same issue

yosra (Tue, 01 May 2018 21:01:25 GMT):
ok thank you

dplumb (Tue, 01 May 2018 21:01:54 GMT):
No problem. I will let you know in a few mins if we are good to go

dplumb (Tue, 01 May 2018 21:26:06 GMT):
there may be an issue with the RPC. you should be able to test out other components

yosra (Tue, 01 May 2018 21:50:50 GMT):
i have the same problem

dplumb (Thu, 03 May 2018 17:08:05 GMT):
This PR fixes that RPC issue and adds a mounted volume between the RPC and CLI key dir:

dplumb (Thu, 03 May 2018 17:08:07 GMT):
https://github.com/hyperledger/sawtooth-seth/pull/28

mshamory (Fri, 04 May 2018 19:21:57 GMT):
Is there a reason that calling a contract increases an account's nonce? It's making things confusing because of the way seth contract list works. It just generates addresses up to the account nonce so it makes it looks like there are more contracts than there actually are.

tungdt_socoboy (Sat, 05 May 2018 11:43:12 GMT):
Has joined the channel.

rejive (Sat, 05 May 2018 15:45:02 GMT):
Has joined the channel.

rejive (Sat, 05 May 2018 15:45:08 GMT):
Hi All

rejive (Sat, 05 May 2018 15:45:58 GMT):
Is it possible for us to create provenance based on sawtooth and connecting that in to etherum blockchain as a currency for pay the services

yosra (Tue, 08 May 2018 09:00:12 GMT):
@dplumb thank you

ThangDC (Wed, 09 May 2018 05:09:05 GMT):
Has left the channel.

krisc 4 (Thu, 10 May 2018 04:45:53 GMT):
Has joined the channel.

JohnH_Traede (Thu, 10 May 2018 04:46:39 GMT):
Has joined the channel.

hanen (Fri, 11 May 2018 12:58:13 GMT):
Has joined the channel.

hanen (Fri, 11 May 2018 12:59:38 GMT):
i can run seth on ubuntu without docker?

carla (Fri, 11 May 2018 13:22:31 GMT):
Has joined the channel.

anastath (Mon, 14 May 2018 07:52:28 GMT):
Hi all, we are developing a Dapp with seth and need to get back to our client the TransactionReceipt of a Contract call Transaction so as to fetch the Return Value of the transaction. The thing is, that when we call the method eth_getTransactionReceipt the result in the response is always null (see screenshot, second point), while the transaction exists, since if we use the seth-cli > seth show recipt (see screenshot, first point), the receipt is returned without any problem. We cannot call the method "eth_getTransactionReceipt" it with function callback either. Could the problem be in the SETH-RPC web server?

anastath (Mon, 14 May 2018 07:52:28 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=X6WAN8jA6vJApqWgk)

anastath (Mon, 14 May 2018 08:01:44 GMT):

TranscationReceipt-2.png

carla (Mon, 14 May 2018 15:36:34 GMT):
i clone the sawtooth-seth and i tried to run "docker-compose up --build" but i have this issue have you any idea please

carla (Mon, 14 May 2018 15:36:48 GMT):

error.png

dplumb (Mon, 14 May 2018 16:27:54 GMT):
There is an issue with that protobuf upstream dependency right now. I am trying to fix it currently

rkrish82 (Tue, 15 May 2018 04:55:06 GMT):
Has joined the channel.

rkrish82 (Tue, 15 May 2018 04:56:45 GMT):
User User_1 added by rkrish82.

PieterBogemans (Tue, 15 May 2018 14:34:29 GMT):
Has joined the channel.

PieterBogemans (Wed, 16 May 2018 07:33:22 GMT):
Any update on the protobuf issue?

carla (Wed, 16 May 2018 08:46:47 GMT):
@PieterBogemans you have the same problem!

PieterBogemans (Wed, 16 May 2018 08:51:52 GMT):
@carla Yes I'm trying to familiarize myself a bit with seth, but the getting started with seth documentation has a command with a script in it that doesn't exist. And the docker-compose.yaml file in github repo of sawtooth-seth gives me the same error you had

carla (Wed, 16 May 2018 10:01:06 GMT):
@PieterBogemans i am blocked too

dplumb (Wed, 16 May 2018 14:58:33 GMT):
We found a fix for it - testing it out and will put a PR up shortly

dplumb (Wed, 16 May 2018 14:59:30 GMT):
Also, if you are going through the seth documentation, you will need to build the docs that are in the repo. There hasn't been a release yet with some updates that were made recently

carla (Wed, 16 May 2018 15:16:29 GMT):
ok thak you @dplumb

carla (Wed, 16 May 2018 15:16:29 GMT):
ok thank you @dplumb

tomislav (Wed, 16 May 2018 15:46:33 GMT):
Has left the channel.

grkvlt (Wed, 16 May 2018 16:03:36 GMT):
i saw this too @dplumb and fixed it by building the 1-0 rust sdk as part of the dockerfile, did you do this or did you port the `build.rs` from master?

grkvlt (Wed, 16 May 2018 16:04:05 GMT):
https://github.com/blockchaintp/sawtooth-seth/blob/master/rpc/Dockerfile

grkvlt (Wed, 16 May 2018 16:04:05 GMT):
https://github.com/blockchaintp/sawtooth-seth/blob/seth-rpc-eth-call/rpc/Dockerfile

grkvlt (Wed, 16 May 2018 16:04:05 GMT):
https://github.com/blockchaintp/sawtooth-seth/blob/seth-rpc-eth-call/rpc/Dockerfile#L57-L64

grkvlt (Wed, 16 May 2018 16:05:10 GMT):
(note this includes the cli `seth` command in the image still, as we found it useful...)

grkvlt (Wed, 16 May 2018 16:10:36 GMT):
and it needed an edited `Cargo.toml` file too https://github.com/blockchaintp/sawtooth-seth/blob/seth-rpc-eth-call/rpc/Cargo.toml#L28

dplumb (Wed, 16 May 2018 16:25:45 GMT):
What I did was implement a change similar to this in the RPC Dockerfile and cargo.toml. But I think this PR needs to get merged and released to 1.0 before it will work

dplumb (Wed, 16 May 2018 16:25:49 GMT):
https://github.com/hyperledger/sawtooth-core/pull/1647

grkvlt (Wed, 16 May 2018 18:05:19 GMT):
looks like its merged now - oh, right, that's my commit, of course!

grkvlt (Wed, 16 May 2018 18:07:03 GMT):
i should have some time to port the sawtooth changes from the product i'm working on back into the hyperledger repo, now that we have open sourced it.

grkvlt (Wed, 16 May 2018 18:13:05 GMT):
anyone interested in playing with an early access release of our cloud-native sawtooth seth platform can access it here https://github.com/blockchaintp/hyperledger-brooklyn-sawtooth/releases/latest

grkvlt (Wed, 16 May 2018 18:13:36 GMT):
hopefully soon to be a hyperledger incubator project

jsmitchell (Wed, 16 May 2018 22:52:28 GMT):
cool!

jsmitchell (Wed, 16 May 2018 22:52:38 GMT):
:clap:

harper58 (Thu, 17 May 2018 02:50:47 GMT):
Has joined the channel.

PieterBogemans (Thu, 17 May 2018 08:17:53 GMT):

Clipboard - May 17, 2018 10:17 AM

carla (Thu, 17 May 2018 09:29:45 GMT):
@PieterBogemans the same problem for me too after pulling

PieterBogemans (Fri, 18 May 2018 10:46:32 GMT):
Is there any way to get started with Seth without having to docker-compose that file in the sawtooth-seth repository?

artusvranken (Fri, 18 May 2018 12:19:30 GMT):
Has joined the channel.

dplumb (Fri, 18 May 2018 15:15:56 GMT):
Using docker-compose is the supported workflow. You might be able to get things started up in another way, but I'm not sure how

svanschalkwyk (Fri, 18 May 2018 21:13:33 GMT):
Has joined the channel.

PieterBogemans (Sat, 19 May 2018 15:35:54 GMT):
The problem is that I get the above error using docker-compose no matter what I try

askmish (Tue, 22 May 2018 08:02:43 GMT):
Has joined the channel.

prmdmshra (Tue, 22 May 2018 08:51:14 GMT):
Has joined the channel.

yosra (Tue, 22 May 2018 12:16:38 GMT):
hello, I run the docker-compose to start sawtooth-seth. Everything went well except the seth-rpc. the container does not work, I did not understand the problem.

yosra (Tue, 22 May 2018 12:16:51 GMT):

seth-rpc1.png

yosra (Tue, 22 May 2018 12:17:05 GMT):

seth-rpc.png

yosra (Tue, 22 May 2018 12:17:17 GMT):

seth-rpcc.png

dplumb (Tue, 22 May 2018 14:02:59 GMT):
Currently the RPC has a bug in the docker-compose file. If you remove like 131 in `docker-compose.yaml` : `seth init http://rest-api:8080 && `

dplumb (Tue, 22 May 2018 14:02:59 GMT):
Currently the RPC has a bug in the docker-compose file. If you remove like 131 in `docker-compose.yaml` : `seth init http://rest-api:8080 &&`

dplumb (Tue, 22 May 2018 14:03:07 GMT):
That should get it working

dplumb (Tue, 22 May 2018 14:03:30 GMT):
There is a PR out to fix it, but until the fix to the Rust SDK gets into sawtooth 1.0, we cant get a passing build

dplumb (Tue, 22 May 2018 14:03:37 GMT):
that should be done at the end of this weeek

yosra (Tue, 22 May 2018 14:14:25 GMT):

call.png

yosra (Tue, 22 May 2018 14:15:02 GMT):
$ seth contract call --wait {alias} {address} {input}

dplumb (Tue, 22 May 2018 14:44:51 GMT):
it looks like you are missing the input there, or forgot a space

jeffcoop9 (Tue, 22 May 2018 23:40:50 GMT):
Has joined the channel.

saptarshijucse (Wed, 23 May 2018 07:51:05 GMT):
Has joined the channel.

saptarshijucse (Wed, 23 May 2018 07:53:41 GMT):
Hi , I am trying to set up sawtooth-seth. For this I have cloned https://github.com/hyperledger/sawtooth-seth and run the docker-composer.yaml file. Now I am getting this issue : ---> Running in e26c16870cf7 Updating registry `https://github.com/rust-lang/crates.io-index` Downloading protobuf v2.0.0 Installing protobuf v2.0.0 error: specified package has no binaries ERROR: Service 'seth-rpc' failed to build: The command '/bin/sh -c cargo install protobuf' returned a non-zero code: 101

saptarshijucse (Wed, 23 May 2018 07:53:41 GMT):
Hi , I am trying to set up sawtooth-seth. For this I have cloned https://github.com/hyperledger/sawtooth-seth and run the docker-composer.yaml file. Now I am getting this issue : ---> Running in e26c16870cf7 Updating registry `https://github.com/rust-lang/crates.io-index` Downloading protobuf v2.0.0 Installing protobuf v2.0.0 error: specified package has no binaries ERROR: Service 'seth-rpc' failed to build: The command '/bin/sh -c cargo install protobuf' returned a non-zero code: 101 Please advise

saptarshijucse (Wed, 23 May 2018 07:53:48 GMT):
Please advise

saptarshijucse (Wed, 23 May 2018 08:08:00 GMT):
Seems like this is a known issue. So what should be my steps to fix it now: 1.If you remove like 131 in `docker-compose.yaml` : `seth init http://rest-api:8080 && 2. Do i also need to update the cargo.toml file. Like replace exixting with :and it needed an edited `Cargo.toml` file too ?https://github.com/blockchaintp/sawtooth-seth/blob/seth-rpc-eth-call/rpc/Cargo.toml#L28

saptarshijucse (Wed, 23 May 2018 08:56:05 GMT):
Just to update I tried setp1 and Setp 1+2. None worked for me :(

daverodz (Wed, 23 May 2018 13:49:09 GMT):
Has joined the channel.

daverodz (Wed, 23 May 2018 13:49:15 GMT):
Heklo

daverodz (Wed, 23 May 2018 13:49:21 GMT):
Hello all

zac (Wed, 23 May 2018 15:32:55 GMT):
@saptarshijucse I just cloned `sawtooth-seth`, and I can confirm I'm getting the same issue. I assume it is related to the recent update of that package to 2.0, but I'm not sure on the fix.

zac (Wed, 23 May 2018 15:33:06 GMT):
``` Step 6/12 : RUN cargo install protobuf ---> Running in 49dbd72aae77 Updating registry `https://github.com/rust-lang/crates.io-index` Downloading protobuf v2.0.0 Installing protobuf v2.0.0 error: specified package has no binaries ERROR: Service 'seth-rpc' failed to build: The command '/bin/sh -c cargo install protobuf' returned a non-zero code: 101 ```

zac (Wed, 23 May 2018 15:33:31 GMT):
https://github.com/blockchaintp/sawtooth-seth/blob/master/rpc/Dockerfile#L51

zac (Wed, 23 May 2018 15:33:49 GMT):
@agunde @adamludvik Any ideas?

rjones (Wed, 23 May 2018 22:27:43 GMT):
Has left the channel.

saptarshijucse (Thu, 24 May 2018 05:52:42 GMT):
@dplumb any idea when the issue will be fixed ? Is there any workaround ?

fedealconada (Thu, 24 May 2018 13:48:00 GMT):
Has joined the channel.

fedealconada (Thu, 24 May 2018 13:48:15 GMT):
hi all, is it possible to have the CreateContract permission that Hyperledger Burrow has here in Sawtooth?

adamludvik (Thu, 24 May 2018 14:55:06 GMT):
@saptarshijucse @zac this is a known problem and we are working to solve it. You can edit the dockerfile directly and change `RUN cargo install protobuf` to `RUN cargo install protobuf --version 1.4` and it should work.

adamludvik (Thu, 24 May 2018 14:55:46 GMT):
@fedealconada Yes, checkout `seth permissions --help` for more info.

fedealconada (Thu, 24 May 2018 15:02:19 GMT):
thanks @adamludvik i'll take a look at it

neocameback (Fri, 25 May 2018 08:02:44 GMT):
Has joined the channel.

saptarshijucse (Fri, 25 May 2018 14:37:54 GMT):
@adamludvik , I updated the Dockerfile inside rpc. First I got this warning : Updating registry `https://github.com/rust-lang/crates.io-index` warning: the `--vers` provided, `1.4`, is not a valid semver version historically Cargo treated this as a semver version requirement accidentally and will continue to do so, but this behavior will be removed eventually if you want to specify semver range, add an explicit qualifier, like ^1.4 Downloading protobuf v1.7.1 Installing protobuf v1.7.1 Compiling protobuf v1.7.1 Finished release [optimized] target(s) in 115.37 secs Installing /root/.cargo/bin/protoc-gen-rust Installing /root/.cargo/bin/protobuf-bin-gen-rust-do-not-use

saptarshijucse (Fri, 25 May 2018 14:37:54 GMT):
@adamludvik , I updated the Dockerfile inside rpc. First I got this warning : Updating registry `https://github.com/rust-lang/crates.io-index` warning: the `--vers` provided, `1.4`, is not a valid semver version historically Cargo treated this as a semver version requirement accidentally and will continue to do so, but this behavior will be removed eventually if you want to specify semver range, add an explicit qualifier, like ^1.4 Downloading protobuf v1.7.1 Installing protobuf v1.7.1 Compiling protobuf v1.7.1 Finished release [optimized] target(s) in 115.37 secs Installing /root/.cargo/bin/protoc-gen-rust Installing /root/.cargo/bin/protobuf-bin-gen-rust-do-not-use -------------------------------------

saptarshijucse (Fri, 25 May 2018 14:37:54 GMT):
@adamludvik , I updated the Dockerfile inside rpc. First I got this warning : Updating registry `https://github.com/rust-lang/crates.io-index` warning: the `--vers` provided, `1.4`, is not a valid semver version historically Cargo treated this as a semver version requirement accidentally and will continue to do so, but this behavior will be removed eventually if you want to specify semver range, add an explicit qualifier, like ^1.4 Downloading protobuf v1.7.1 Installing protobuf v1.7.1 Compiling protobuf v1.7.1 Finished release [optimized] target(s) in 115.37 secs Installing /root/.cargo/bin/protoc-gen-rust Installing /root/.cargo/bin/protobuf-bin-gen-rust-do-not-use ------------------------------------- Anf finally got a lot of errors as below :

saptarshijucse (Fri, 25 May 2018 14:37:54 GMT):
@adamludvik , I updated the Dockerfile inside rpc. First I got this warning : Updating registry `https://github.com/rust-lang/crates.io-index` warning: the `--vers` provided, `1.4`, is not a valid semver version historically Cargo treated this as a semver version requirement accidentally and will continue to do so, but this behavior will be removed eventually if you want to specify semver range, add an explicit qualifier, like ^1.4 Downloading protobuf v1.7.1 Installing protobuf v1.7.1 Compiling protobuf v1.7.1 Finished release [optimized] target(s) in 115.37 secs Installing /root/.cargo/bin/protoc-gen-rust Installing /root/.cargo/bin/protobuf-bin-gen-rust-do-not-use ------------------------------------- And finally got a lot of errors as below : Compiling rpc v0.1.0 (file:///project/sawtooth-seth/rpc) error[E0308]: mismatched types --> src/client.rs:266:29 | 266 | request.set_batches(protobuf::RepeatedField::from_vec(vec![batch])); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `protobuf::repeated::RepeatedField`, found struct `protobuf::RepeatedField` | = note: expected type `protobuf::repeated::RepeatedField` found type `protobuf::RepeatedField` note: Perhaps two different versions of crate `protobuf` are being used? --> src/client.rs:266:29 | 266 | request.set_batches(protobuf::RepeatedField::from_vec(vec![batch])); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ error[E0277]: the trait bound `sawtooth_sdk::messages::client_batch_submit::ClientBatchSubmitRequest: protobuf::Message` is not satisfied --> src/client.rs:269:18 ----------

saptarshijucse (Mon, 28 May 2018 07:15:21 GMT):
@adamludvik I am still facing the issue. Can you please let us know when we can have a stable / working release for sawtooth-seth? Can we expect this by this week? A lot depends on this :)

Jasminess (Tue, 29 May 2018 02:37:40 GMT):
Has joined the channel.

AlexanderZhovnuvaty (Tue, 29 May 2018 14:05:03 GMT):
Has joined the channel.

jeffcoop9 (Tue, 29 May 2018 16:05:57 GMT):
Has left the channel.

lokesh005 (Wed, 30 May 2018 01:40:27 GMT):
Has joined the channel.

NidhiKumari (Wed, 30 May 2018 09:46:21 GMT):
I am not able to build seth rpc inspite of changing the version of protobuf to 1.4 in dockerfile. Getting mismatch errors. Can anyone please tell me how to resolve this?

jwaup (Wed, 30 May 2018 13:58:41 GMT):
Has joined the channel.

jsdavis28 (Wed, 30 May 2018 18:37:02 GMT):
Has joined the channel.

Jasminess (Thu, 31 May 2018 13:50:24 GMT):
Not yet solve protobuf problem? please. I want to use Seth with Sawtooth. Anyone please tell me..

mselimi (Fri, 01 Jun 2018 15:05:50 GMT):
Has joined the channel.

mselimi (Fri, 01 Jun 2018 18:36:33 GMT):

Screenshot from 2018-06-01 20-16-25.png

mselimi (Fri, 01 Jun 2018 18:38:07 GMT):
I am having the same problem. After docker-compose up --build, the same error appears ? Do you have any solution for this ? Most of us depend on this. Thanks

amundson (Sun, 03 Jun 2018 05:14:47 GMT):
I've been looking into this protobuf problem. Fundamentally, it is occurring because sawtooth-core's master branch switch to using protobuf 2.0. So we have two options: 1) make seth build against sawtooth-core's 1-0 branch (Sawtooth 1.0); or 2) upgrade seth to protobuf 2.0.

amundson (Sun, 03 Jun 2018 05:15:59 GMT):
Option (1) would require backporting some of the rust sdk (in particular, at least the build.rs file) to 1-0 branch so we can pull it in via seth's Cargo.toml.

amundson (Sun, 03 Jun 2018 05:19:55 GMT):
Longer-term, we need to remove protobuf from the Sawtooth SDK API so that it is an internal implementation detail. We were already starting to come to this conclusion anyway, but this provides a very concrete example of why it is important.

amundson (Sun, 03 Jun 2018 05:36:59 GMT):
(to be clear, I'm referring to the rust protobuf library version numbers, not the protobuf spec version)

amundson (Sun, 03 Jun 2018 05:46:11 GMT):
``` diff --git a/rpc/Cargo.toml b/rpc/Cargo.toml index 31879fab..199a8b00 100644 --- a/rpc/Cargo.toml +++ b/rpc/Cargo.toml @@ -23,7 +23,7 @@ jsonrpc-core = "8.0" jsonrpc-http-server = "8.0" futures-cpupool = "0.1" clap = "2.26" -protobuf="1.4" +protobuf="2.0" sawtooth_sdk = { git = "https://github.com/hyperledger/sawtooth-core" } uuid = { version = "0.5", features = ["v4"] } log = "0.3" @@ -32,3 +32,8 @@ serde_json = "1.0" rpassword = "1.0" tiny-keccak = "1.3" rust-crypto = "0.2" + +[build-dependencies] +cc = "1.0" +protoc-rust = "2.0" +glob = "0.2" diff --git a/rpc/Dockerfile b/rpc/Dockerfile index e914a2ec..29456a9b 100644 --- a/rpc/Dockerfile +++ b/rpc/Dockerfile @@ -48,8 +48,6 @@ RUN curl https://sh.rustup.rs -sSf > /usr/bin/rustup-init \ ENV PATH=$PATH:/project/sawtooth-seth/bin:/root/.cargo/bin:/protoc3/bin:/projec t/sawtooth-seth/rpc/bin \ CARGO_INCREMENTAL=0 -RUN cargo install protobuf - WORKDIR /project/sawtooth-seth/rpc COPY bin/ /project/sawtooth-seth/bin @@ -57,7 +55,6 @@ COPY protos/ /project/sawtooth-seth/protos COPY rpc/ /project/sawtooth-seth/rpc COPY tests/ /project/sawtooth-seth/tests -RUN seth-protogen rust \ - && mkdir /project/sawtooth-seth/rpc/bin \ +RUN mkdir /project/sawtooth-seth/rpc/bin \ && cargo build \ && cp ./target/debug/rpc /project/sawtooth-seth/rpc/bin/seth-rpc diff --git a/rpc/build.rs b/rpc/build.rs new file mode 100644 index 00000000..bef27dae --- /dev/null +++ b/rpc/build.rs @@ -0,0 +1,57 @@ +/* + * Copyright 2017 Intel Corporation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ------------------------------------------------------------------------------ + */ + +extern crate cc; +extern crate glob; +extern crate protoc_rust; + +use std::fs; + +use protoc_rust::Customize; + +fn main() { + // Generate protobuf files + let proto_src_files = glob_simple("../protos/*.proto"); + println!("{:?}", proto_src_files); + + fs::create_dir_all("src/messages").unwrap(); + + protoc_rust::run(protoc_rust::Args { + out_dir: "src/messages", + input: &proto_src_files + .iter() + .map(|a| a.as_ref()) + .collect::>(), + includes: &["src", "../protos"], + customize: Customize { + ..Default::default() + }, + }).expect("unable to run protoc"); +} + +fn glob_simple(pattern: &str) -> Vec { + glob::glob(pattern) + .expect("glob") + .map(|g| { + g.expect("item") + .as_path() + .to_str() + .expect("utf-8") + .to_owned() + }) + .collect() +} diff --git a/rpc/src/client.rs b/rpc/src/client.rs index 34c298e4..1dcddf38 100644 --- a/rpc/src/client.rs +++ b/rpc/src/client.rs @@ -204,7 +204,7 @@ impl ValidatorClient { } pub fn request(&mut self, msg_type: Message_MessageType, msg: &T) -> Result - where T: protobuf::Message, U: protobuf::MessageStatic + where T: protobuf::Message, U: protobuf::Message { let msg_bytes = match protobuf::Message::write_to_bytes(msg) { Ok(b) => b, @@ -245,7 +245,7 @@ impl ValidatorClient { } pub fn send_request(&mut self, msg_type: Message_MessageType, msg: &T) -> Result - where T: protobuf::Message, U: protobuf::MessageStatic + where T: protobuf::Message, U: protobuf::Message { let msg_bytes = protobuf::Message::write_to_bytes(msg).map_err(|error| Error::ParseError(String::from( ```

amundson (Sun, 03 Jun 2018 05:47:56 GMT):
That diff would move us in the direction of using the protobuf 2 crate. I haven't had time to test it yet, other than it builds and thus "docker compose up --build" gets further.

amundson (Sun, 03 Jun 2018 15:17:00 GMT):
Has anyone seen this?

amundson (Sun, 03 Jun 2018 15:17:08 GMT):
``` sawtooth-validator | [2018-06-03 05:54:42.621 CRITICAL publisher] on_chain_updated exception. sawtooth-validator | [2018-06-03 05:54:42.622 ERROR publisher] No module named 'sawtooth_block_info' sawtooth-validator | Traceback (most recent call last): sawtooth-validator | File "/usr/lib/python3/dist-packages/sawtooth_validator/journal/publisher.py", line 639, in on_chain_updated sawtooth-validator | self._build_candidate_block(chain_head) sawtooth-validator | File "/usr/lib/python3/dist-packages/sawtooth_validator/journal/publisher.py", line 522, in _build_candidate_block sawtooth-validator | chain_head.identifier) sawtooth-validator | File "/usr/lib/python3/dist-packages/sawtooth_validator/journal/batch_injector.py", line 83, in create_injectors sawtooth-validator | return [self._create_injector(i) for i in injectors] sawtooth-validator | File "/usr/lib/python3/dist-packages/sawtooth_validator/journal/batch_injector.py", line 83, in sawtooth-validator | return [self._create_injector(i) for i in injectors] sawtooth-validator | File "/usr/lib/python3/dist-packages/sawtooth_validator/journal/batch_injector.py", line 89, in _create_injector sawtooth-validator | "sawtooth_block_info.injector") sawtooth-validator | File "/usr/lib/python3.5/importlib/__init__.py", line 126, in import_module sawtooth-validator | return _bootstrap._gcd_import(name[level:], package, level) sawtooth-validator | File "", line 986, in _gcd_import sawtooth-validator | File "", line 969, in _find_and_load sawtooth-validator | File "", line 944, in _find_and_load_unlocked sawtooth-validator | File "", line 222, in _call_with_frames_removed sawtooth-validator | File "", line 986, in _gcd_import sawtooth-validator | File "", line 969, in _find_and_load sawtooth-validator | File "", line 956, in _find_and_load_unlocked sawtooth-validator | ImportError: No module named 'sawtooth_block_info' ```

amundson (Sun, 03 Jun 2018 15:20:35 GMT):
I'm guessing it means that block info isn't installed in the sawtooth validator docker image

quan2d (Mon, 04 Jun 2018 02:40:41 GMT):
Has joined the channel.

GeunSooKim (Mon, 04 Jun 2018 04:15:13 GMT):
Has joined the channel.

mithun2679 (Mon, 04 Jun 2018 06:51:18 GMT):
Has joined the channel.

mselimi (Mon, 04 Jun 2018 10:36:12 GMT):
@amundson Could you please explain how you made the "docker compose up --build" gets further ? You made changes just to Cargo.toml, Dockerfile and client.rs ? Thanks

amundson (Mon, 04 Jun 2018 14:53:15 GMT):
I applied that diff above. The files you mention, plus added build.rs.

Jasminess (Mon, 04 Jun 2018 16:06:56 GMT):
Thank you for your help. I can use seth with sawtooth now. Does anyone know about seth-dapp tutorials or seth-web3 information?

ltseeley (Tue, 05 Jun 2018 14:03:54 GMT):
Has joined the channel.

mselimi (Tue, 05 Jun 2018 15:17:04 GMT):
@amundson Thank you very much ! It works. One quick question. Are the wallets (accounts) in Seth ERC-20 compatible ?

jonatanalava (Tue, 05 Jun 2018 15:52:49 GMT):
Has joined the channel.

sassafrassas (Tue, 05 Jun 2018 19:46:06 GMT):
Has joined the channel.

sassafrassas (Tue, 05 Jun 2018 19:46:17 GMT):
chainlink

jonatanalava (Wed, 06 Jun 2018 03:32:34 GMT):
new to the chat, @mselimi what do you mean by the account being ERC-20 compatible?

compleatang (Wed, 06 Jun 2018 08:18:38 GMT):
FWIW, ERC20 is a standard for contracts, not native account tokens. They operate at different levels of an EVM blockchain.

mselimi (Wed, 06 Jun 2018 11:28:31 GMT):
@compleatang Thank you !

ltseeley (Wed, 06 Jun 2018 15:46:00 GMT):
The protobuf issue that caused `docker-compose up --build` to fail has been resolved in master.

joshuaherman (Thu, 07 Jun 2018 15:00:37 GMT):
can i write a transaction processor and then use seth to extend its abilitites?

amundson (Thu, 07 Jun 2018 16:02:59 GMT):
it is not currently possible to interact with arbitrary state outside of a seth contract currently (so for example, work with intkey namespace from a seth contract), because we adhere to the evm rules for state interaction which are contract-local. we would need to add a feature... basically a native (non-evm) contract to provide a bridge, but no one is working on it yet as far as I know. This is one of the reasons we created Sabre (https://sawtooth.hyperledger.org/docs/sabre/releases/latest/).

amundson (Thu, 07 Jun 2018 16:05:04 GMT):
if anyone can verify that master now works for them, that would be great, as additional testing to what we have already done

joshuaherman (Thu, 07 Jun 2018 16:37:18 GMT):
@amundson oh ok so if i wanted to do what i did above i wouldn't use seth i would just use something like web3

amundson (Thu, 07 Jun 2018 16:38:52 GMT):
can you explain in more detail what you are trying to do?

amundson (Thu, 07 Jun 2018 16:39:12 GMT):
(I might have missed some context)

joshuaherman (Thu, 07 Jun 2018 16:40:07 GMT):
@amundson sorry i was being vague after a transaction using sawtooth I would like to write some data to a ethereum blockchain

amundson (Thu, 07 Jun 2018 16:55:38 GMT):
sure, if you are just interacting with the public ethereum or such, you would use web3; you can also use web3 with seth via the rpc interface

abraham (Fri, 08 Jun 2018 04:50:20 GMT):
Has joined the channel.

prmdmshra (Mon, 11 Jun 2018 10:36:54 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=7B5ygfscdhRKdRG7k) @saptarshijucse Any Update on this issue??

prmdmshra (Mon, 11 Jun 2018 10:36:54 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=7B5ygfscdhRKdRG7k) Any Update on this issue??

Jasminess (Mon, 11 Jun 2018 12:12:12 GMT):

Clipboard - 2018년 6월 11일 오후 9시 2분

Jasminess (Mon, 11 Jun 2018 13:57:41 GMT):
and I want to know seth contract storage. I used "eth_getStorageAt". JSON RPC "eth_getStorageAt" use curl -X POST --data '{"jsonrpc":"2.0", "method": "eth_getStorageAt", "params": ["0x295a70b2de5e3953354a6a8344e616ed314d7251", "0x0", "latest"], "id": 1}' localhost:8545. but in seth 0x0 return "Invalid storage position". anyone tell me what shoud I do. thank.

Jasminess (Mon, 11 Jun 2018 14:16:54 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=qeeGWnMK5xcscftxN) oh.. i think i find answer. curl http://localhost:3030 -d '{"jsonrpc": "2.0", "id": 1, "method": "eth_getStorageAt", "params": ["0xaa0a061fac19576118845ffa08183b7424d0ae98", "0x0000000000000000000000000000000000000000000000000000000000000000", "latest"]}' -H "Content-Type: application/json" {"jsonrpc":"2.0","result":"0x0000000000000000000000000000000000000000000000000000000000000002","id":1} For someone like me, I don't delete my reply.

Jasminess (Mon, 11 Jun 2018 14:16:54 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=qeeGWnMK5xcscftxN) oh.. i think i find below problem. curl http://localhost:3030 -d '{"jsonrpc": "2.0", "id": 1, "method": "eth_getStorageAt", "params": ["0xaa0a061fac19576118845ffa08183b7424d0ae98", "0x0000000000000000000000000000000000000000000000000000000000000000", "latest"]}' -H "Content-Type: application/json" {"jsonrpc":"2.0","result":"0x0000000000000000000000000000000000000000000000000000000000000002","id":1} For someone like me, I don't delete my reply.

Aravindr86 (Mon, 11 Jun 2018 19:30:55 GMT):
Has joined the channel.

Aravindr86 (Mon, 11 Jun 2018 19:31:13 GMT):
installation

Aravindr86 (Mon, 11 Jun 2018 20:10:22 GMT):
hi, Is the Sawtooth-seth installation still broken? https://jira.hyperledger.org/browse/STL-1065

markg 17 (Mon, 11 Jun 2018 22:39:58 GMT):
Has joined the channel.

NidhiKumari (Tue, 12 Jun 2018 06:28:47 GMT):
While calling the contract ethereumjs-abi is undefined and the required argument `data` was not provided error shows. can someone help me?

yodw123 (Tue, 12 Jun 2018 07:32:55 GMT):
Has joined the channel.

Aravindr86 (Tue, 12 Jun 2018 14:26:53 GMT):
@NidhiKumari Etheruemjs-abi will show as undefined. Are you able to generate the data though?

NidhiKumari (Wed, 13 Jun 2018 05:40:20 GMT):
@Aravindr86 Yes thank you data got generated.

NidhiKumari (Wed, 13 Jun 2018 05:40:20 GMT):
I am trying to unlock the account using seth-rpc its showing alias not found in the directory. Can someone help me please?

carla (Wed, 13 Jun 2018 10:11:36 GMT):
hi, how i can interact my application (on sawtooth) and my smart contract?

csengor (Thu, 14 Jun 2018 05:18:42 GMT):
Has joined the channel.

JERRIN (Thu, 14 Jun 2018 11:09:27 GMT):
Has joined the channel.

Jasminess (Thu, 14 Jun 2018 11:37:57 GMT):
Okay I solve my problem.. https://github.com/hyperledger/sawtooth-seth/pull/28/commits/82051922897d75664833b7761b3883da4c53272c / already update. If someone has old version, check this URL

kelly_ (Thu, 14 Jun 2018 21:11:20 GMT):
If anyone is in NYC, tonight there is a meetup coveing SETH - https://www.meetup.com/Hyperledger-NYC/events/251523318/

Matsw7 (Fri, 15 Jun 2018 09:56:47 GMT):
Has joined the channel.

paulananth (Fri, 15 Jun 2018 15:57:40 GMT):
Has joined the channel.

cliveb (Fri, 15 Jun 2018 19:34:37 GMT):
Has joined the channel.

cliveb (Sat, 16 Jun 2018 02:35:39 GMT):
port 3030

cliveb (Sat, 16 Jun 2018 02:48:34 GMT):
Does anyone have solution for this issue..? Port 3030: Connection refused | docker-compose.yaml with seth-rpc https://jira.hyperledger.org/projects/STL/issues/STL-1300

Jasminess (Sat, 16 Jun 2018 17:44:50 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=CfgnSDmnn8TrPFBHb) @carla I am doing something similar. It is possible to use eth_json-rpc command. However,in web3, many functions do not work. maybe address problem. you shoud use this command(https://github.com/ethereum/wiki/wiki/JSON-RPC). requests module can be option.

ksolo (Mon, 18 Jun 2018 05:12:38 GMT):
Has joined the channel.

carla (Mon, 18 Jun 2018 20:14:55 GMT):

commandeintrouvable.png

KevinODonnell (Tue, 19 Jun 2018 04:36:30 GMT):
Has joined the channel.

Jasminess (Tue, 19 Jun 2018 08:57:05 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=zwcdjgy2ngSvERhJk) @carla I think you use that command in seth-cli right?

Jasminess (Tue, 19 Jun 2018 08:57:26 GMT):
@carla I think you use that command in seth-cli right?

carla (Tue, 19 Jun 2018 09:21:21 GMT):
@Jasminess yes then i try to use "docker exec -it seth-rpc bash" then "seth-rpc --connect tcp://validator:4004 --bind 0.0.0.0:3030" but nothing has changed how i can run it?

carla (Tue, 19 Jun 2018 09:29:30 GMT):
And "seth account import key-file.pem myalias" doesn't work with seth-rpc bash

carla (Tue, 19 Jun 2018 10:06:37 GMT):

er.png

Jasminess (Tue, 19 Jun 2018 10:09:43 GMT):
@carla I think you check this page. ( https://github.com/hyperledger/sawtooth-seth/pull/28/commits/82051922897d75664833b7761b3883da4c53272c ) I solved that problem(key-file.pem myalias) using this.

carla (Tue, 19 Jun 2018 11:28:40 GMT):
i try to use this but i still have the same issue! worked for you?

carla (Tue, 19 Jun 2018 11:28:40 GMT):
@Jasminess i try to use this but i still have the same issue! worked for you?

Jasminess (Tue, 19 Jun 2018 12:23:31 GMT):
@carla you mean "/root/.sawtooth" can not be access in seth-rpc?

carla (Tue, 19 Jun 2018 12:24:42 GMT):
yes, command not found

Jasminess (Tue, 19 Jun 2018 12:31:09 GMT):
@carla image: sawtooth-seth-rpc:${ISOLATION_ID} container_name: seth-rpc + volumes: + - sawtooth:/root/.sawtooth means seth-rpc can access that path. do you have any mistake about it?

carla (Tue, 19 Jun 2018 12:45:26 GMT):

y.png

Jasminess (Tue, 19 Jun 2018 13:01:15 GMT):

Clipboard - 2018년 6월 19일 오후 9시 59분

carla (Tue, 19 Jun 2018 14:43:16 GMT):
Merci

carla (Tue, 19 Jun 2018 15:35:15 GMT):

pb.png

cliveb (Tue, 19 Jun 2018 16:07:48 GMT):
@carla seth command not found. Does your docker-compose-installed.yaml contain build args. See my PR #35 and #36 pending commits https://github.com/hyperledger/sawtooth-seth/pulls

cliveb (Tue, 19 Jun 2018 16:07:48 GMT):
@carla seth command not found. Does your docker-compose-installed.yaml contain proxy build args. See my PR #35 and #36 pending commits https://github.com/hyperledger/sawtooth-seth/pulls

cliveb (Tue, 19 Jun 2018 16:07:48 GMT):
@carla "seth command not found". Does your docker-compose-installed.yaml contain proxy build args. See my PR #35 and #36 pending commits https://github.com/hyperledger/sawtooth-seth/pulls

Jasminess (Tue, 19 Jun 2018 17:52:43 GMT):
@carla you may use "seth" command in "seth-rpc" right? you just "seth account import malias.pem [want alias]" in seth-cli. seth-cli make something and seth-rpc can share it.

carla (Tue, 19 Jun 2018 18:27:47 GMT):
so how can i run "seth-rpc --connect tcp://validator:4004 --bind 0.0.0.0:3030" ?

Jasminess (Tue, 19 Jun 2018 18:45:50 GMT):
@carla other problem be solved? Using docker-compose.yaml.. seth-rpc already bind.

carla (Tue, 19 Jun 2018 18:46:46 GMT):
yes seth-rpc is runing

cliveb (Tue, 19 Jun 2018 19:41:58 GMT):
@carla set-rpc is running as a service, but does it have proxy args in docker-compose-installed.yaml. compare with docker-compose.yaml

carla (Tue, 19 Jun 2018 20:53:29 GMT):

proxy.png

carla (Tue, 19 Jun 2018 20:53:29 GMT):

proxy.png

st (Wed, 20 Jun 2018 11:48:25 GMT):
Has left the channel.

hanen (Thu, 21 Jun 2018 09:58:22 GMT):
Im trying to deploy my contract using the seth-rpc. I unlock an account and i deploy a contract with the eth_sendTransaction method. when i run the command i have this error "account with adresse not found" . ( the parms of method "from" : the adresse of the unlocked account; "data": " the blob of hex the blob of hex-encoded bytes of my compiled contract" ). can you help me please?

hanen (Thu, 21 Jun 2018 09:58:22 GMT):
Im trying to deploy my contract using the seth-rpc. I unlock an account and i deploy a contract with the eth_sendTransaction method. when i run the command i have this error "account with adresse not found" . ( the parms of method "from" : the adresse of the unlocked account; "data": " the blob of hex-encoded bytes of my compiled contract" ). can you help me please?

hanen (Thu, 21 Jun 2018 10:01:34 GMT):

ad.png

NidhiKumari (Thu, 21 Jun 2018 10:20:53 GMT):
Hi, I tried unlocking the account using seth-rpc but its showing alias not found. Can anyone help me please?

hanen (Thu, 21 Jun 2018 11:43:19 GMT):
@NidhiKumari check this page. ( https://github.com/hyperledger/sawtooth-seth/pull/28/commits/82051922897d75664833b7761b3883da4c53272c )

Jamisnesadf (Fri, 22 Jun 2018 05:51:17 GMT):
Has joined the channel.

NidhiKumari (Fri, 22 Jun 2018 06:18:17 GMT):
@hanen Account got unlocked. Thanks a lot

hanen (Fri, 22 Jun 2018 13:53:09 GMT):
@NidhiKumari did you move to the next step please? i'm blocked in deploying my contract with curl -d '{"jsonrpc": "2.0", "method": "eth_sendTransaction", "id": 2, "params": [{"from": "0x{address}", "data": "0x{contract}"}]}' -H "Content-Type: application/json" localhost:3030

NidhiKumari (Mon, 25 Jun 2018 06:46:03 GMT):
@hanen I tried the next step but got same internal JSON-RPC error

Jasminess (Mon, 25 Jun 2018 16:10:31 GMT):
curl -d '{"jsonrpc": "2.0", "method": "eth_sendTransaction", "id": 2, "params": [{"from": "0x{address}", "to": "0x{address}", "data": "0x{contract}"}]}' -H "Content-Type: application/json" localhost:3030 // If acconut unlock, you can use this command. but sometimes it doesn't work well. In my case, edit default.yaml file ... seth-rpc: ... command :

Jasminess (Mon, 25 Jun 2018 16:16:31 GMT):
curl -d '{"jsonrpc": "2.0", "method": "eth_sendTransaction", "id": 2, "params": [{"from": "0x{address}", "to": "0x{address}", "data": "0x{contract}"}]}' -H "Content-Type: application/json" localhost:3030 If acconut unlock, you can use this command. but sometimes it doesn't work well. In my case, edit default.yaml file ... seth-rpc: ... command : | bash -c " seth-rpc -v --connect tcp:validator:9999 --bind 0.0.0.0:9999". and then, unlock ... tcp:validator4004 --bind 0.0.0.0:3030. I don't know why. If it work, reply please. \

Jasminess (Mon, 25 Jun 2018 16:16:31 GMT):
curl -d '{"jsonrpc": "2.0", "method": "eth_sendTransaction", "id": 2, "params": [{"from": "0x{address}", "to": "0x{address}", "data": "0x{contract}"}]}' -H "Content-Type: application/json" localhost:3030 If acconut unlock, you can use this command. but sometimes it doesn't work well. In my case, edit default.yaml file ... seth-rpc: ... command : | bash -c " seth-rpc -v --connect tcp:validator:9999 --bind 0.0.0.0:9999". and then, unlock ... tcp:validator4004 --bind 0.0.0.0:3030. I don't know why but it work. If somebody work like me, reply please. \

Jasminess (Mon, 25 Jun 2018 16:16:31 GMT):
curl -d '{"jsonrpc": "2.0", "method": "eth_sendTransaction", "id": 1, "params": [{"from": "0x{address}", "to": "0x{address}", "data": "0x{contract}"}]}' -H "Content-Type: application/json" localhost:3030 If acconut unlock, you can use this command. but sometimes it doesn't work well. In my case, edit default.yaml file ... seth-rpc: ... command : | bash -c " seth-rpc -v --connect tcp:validator:9999 --bind 0.0.0.0:9999". and then, unlock ... tcp:validator4004 --bind 0.0.0.0:3030. I don't know why but it work. If somebody work like me, reply please. \

Jasminess (Mon, 25 Jun 2018 16:16:31 GMT):
curl -d '{"jsonrpc": "2.0", "method": "eth_sendTransaction", "id": 1, "params": [{"from": "0x{address}", "to": "0x{address}", "data": "0x{contract}"}]}' -H "Content-Type: application/json" localhost:3030 If acconut unlock, you can use this command. but sometimes it doesn't work well. In my case, edit default.yaml file ... seth-rpc: ... command : | bash -c " seth-rpc -v --connect tcp:validator:9999 --bind 0.0.0.0:9999". and then, unlock ... tcp:validator4004 --bind 0.0.0.0:3030. I don't know why but it work. If it work properly, reply please.

NidhiKumari (Tue, 26 Jun 2018 05:20:44 GMT):
@Jasminess Which addresses should I put in from and to? And in place of contract I should put the blob of hexcode that I got when I deployed the contract? I just want to clarify

Jasminess (Tue, 26 Jun 2018 07:01:09 GMT):
@NidhiKumari I use like this. From : unlock account address / to : contract address / data : encoded data($ node > var abi = require('ethereumjs-abi') > abi.simpleEncode("function(xx,xx,xx..)", "0x...", "0x...").toString("hex") ...byte array here...)

hanen (Tue, 26 Jun 2018 09:27:36 GMT):
@Jasminess I followed your steps but it did not work for me and then i run "seth init http: // rest-api: 8008" on the cli seth container and it worked well so thank you!

mengan (Wed, 27 Jun 2018 12:05:05 GMT):
Has joined the channel.

DamianGray (Wed, 27 Jun 2018 15:31:56 GMT):
Has joined the channel.

PizzaPolice12 (Thu, 28 Jun 2018 16:24:34 GMT):
Has joined the channel.

PizzaPolice12 (Thu, 28 Jun 2018 16:28:40 GMT):
New to Seth and trying to understand some of the functionality. Through sawtooth would I be able to interact directly with the public ledger from my permissioned instance or is it more so that I can deploy contracts I have written in Solidity on the permissioned Sawtooth network I ahve?

kelly_ (Thu, 28 Jun 2018 16:38:13 GMT):
the latter

PizzaPolice12 (Thu, 28 Jun 2018 16:48:25 GMT):
@kelly_ Thanks and so I would need to adjust a contract interacting with an oracle on the ethereum blockchain to a seperate oracle I construct on sawtooth?

kelly_ (Thu, 28 Jun 2018 16:49:06 GMT):
Seth is a way to launch your own private blockchain network with EVM contract functionality

kelly_ (Thu, 28 Jun 2018 16:49:37 GMT):
if you want to connect it to the public blockchain you would need a contract/oracle on the main chain and on the private chain

kelly_ (Thu, 28 Jun 2018 16:50:41 GMT):
or if your contract uses an oracle on the main chain then you would need to replicate the oracle for the private chain

kelly_ (Thu, 28 Jun 2018 16:50:45 GMT):
if that is what you are asking

PizzaPolice12 (Thu, 28 Jun 2018 16:51:36 GMT):
Yes I just wanted to confirm the latter

PizzaPolice12 (Thu, 28 Jun 2018 16:51:44 GMT):
Thanks

knkski (Fri, 29 Jun 2018 18:02:32 GMT):
Has joined the channel.

ksolo (Fri, 29 Jun 2018 18:49:03 GMT):
I'm going through the Seth Developer Guide and off to a bad start :( When I run `./bin build_all -t seth -t python` in the Sawtooth core repo I get output saying the seth module was not found. Any suggestions? I'm on the master branch of sawtooth-core if that makes a difference.

ksolo (Fri, 29 Jun 2018 18:49:23 GMT):
Here's the link to the docs I'm following: https://sawtooth.hyperledger.org/docs/seth/releases/latest/seth_developers_guide/getting_started.html

ksolo (Fri, 29 Jun 2018 18:50:15 GMT):
``` [--- Building seth ---] [--- Module 'seth' not found. ---] ```

knkski (Fri, 29 Jun 2018 19:05:02 GMT):
@ksolo: Those docs are outdated. You'll want to clone this repo and run the commands found in `docs/Dockerfile` to generate the updated documentation yourself: https://github.com/hyperledger/sawtooth-seth

ksolo (Fri, 29 Jun 2018 19:05:43 GMT):
@knkski thanks!

ksolo (Fri, 29 Jun 2018 19:38:40 GMT):
Those took a long time to build, but I'm off to a better start now :)

GiuseppeLittera (Fri, 29 Jun 2018 21:56:40 GMT):
Has joined the channel.

nathanaw (Sun, 01 Jul 2018 14:49:33 GMT):
Has joined the channel.

nathanaw (Sun, 01 Jul 2018 14:51:29 GMT):
hello all. nathan aw from Singapore. I was told to ask this question here. am trying to build_all seth but the error Module 'seth' not found is returned could not find the module seth in the sawtooth-core. $ git clone https://github.com/hyperledger/sawtooth-core $ cd sawtooth-core/ $ ./bin/build_all -t seth -t python

nathanaw (Sun, 01 Jul 2018 14:51:33 GMT):
please help, please...

ksolo (Mon, 02 Jul 2018 02:28:53 GMT):
@nathanaw I hit the same problem the other day (https://chat.hyperledger.org/channel/sawtooth-seth?msg=m56S5gRfHYWY3Snx4)

ksolo (Mon, 02 Jul 2018 02:30:33 GMT):
The documentation is out dated. If you don't already have Docker installed, get that and Docker Compose (if you're running Linux, it will be 2 separate packages, but the Mac and Windows version everything comes bundled together)

ksolo (Mon, 02 Jul 2018 02:31:49 GMT):
Then follow the instructions in the Dockerfile located in the docs (https://github.com/hyperledger/sawtooth-seth/blob/master/docs/Dockerfile#L21)

ksolo (Mon, 02 Jul 2018 02:32:45 GMT):
When I did this it took quite a long time to build the docker images and get things going, but once the docs were generated following along went much better.

NidhiKumari (Mon, 02 Jul 2018 06:24:22 GMT):
@nathanaw Actually the document is outdated, you can clone from this link $ git clone https://github.com/hyperledger/sawtooth-seth.git $ cd sawtooth-seth/ $ docker-compose -f docker-compose.yaml up This cmd will build seth and will do yaml up. If you face any interruption in building you can refer to these two pull requests https://github.com/hyperledger/sawtooth-seth/pull/38 https://github.com/hyperledger/sawtooth-seth/pull/33 Hope this helps you.

rootDistress (Mon, 02 Jul 2018 08:31:09 GMT):
Has joined the channel.

Anfimov (Tue, 03 Jul 2018 14:04:26 GMT):
Has joined the channel.

Anfimov (Tue, 03 Jul 2018 14:05:14 GMT):
Hi Experts! I have stuck in Sawtooth, how I can create an account or send transactions? How to see where all transactions stored? I'm working with Sawtooth-Seth, how to deploy some contracts and why to much code wrote in python and rust. How to check that, Sawtooth-Seth is working right with main Sawtooth core repo?

knkski (Tue, 03 Jul 2018 14:23:22 GMT):
@Anfimov: You'll want to clone the Seth repo https://github.com/hyperledger/sawtooth-seth.git and run these commands to build the most recent documentation: ``` docker build . -f docs/Dockerfile -t seth-build-docs docker run -v $(pwd)/docs:/project/sawtooth-seth/docs seth-build-docs ```

knkski (Tue, 03 Jul 2018 14:24:19 GMT):
That documentation will have a guide on how create accounts and send transactions

Anfimov (Tue, 03 Jul 2018 14:58:08 GMT):
@knkski: Have some troubles with docker Unable to find image 'seth-build-docs:latest' locally docker: Error response from daemon: pull access denied for seth-build-docs, repository does not exist or may require 'docker login'. See 'docker run --help'.

Anfimov (Tue, 03 Jul 2018 14:58:08 GMT):
@knkski: Have some troubles with docker `Unable to find image 'seth-build-docs:latest' locally docker: Error response from daemon: pull access denied for seth-build-docs, repository does not exist or may require 'docker login'. See 'docker run --help'.`

Anfimov (Tue, 03 Jul 2018 14:58:08 GMT):
@knkski: Have some troubles with docker `Unable to find image 'seth-build-docs:latest' locally docker: Error response from daemon: pull access denied for seth-build-docs, repository does not exist or may require 'docker login'. See 'docker run --help'.`

Anfimov (Tue, 03 Jul 2018 14:58:08 GMT):
@knkski: Have some troubles with docker ```Unable to find image 'seth-build-docs:latest' locally docker: Error response from daemon: pull access denied for seth-build-docs, repository does not exist or may require 'docker login'. See 'docker run --help'.```

knkski (Tue, 03 Jul 2018 15:01:24 GMT):
@Anfimov: Did you run `docker build . -f docs/Dockerfile -t seth-build-docs` before the docker run command? That will build the `seth-build-docs` image for you

knkski (Tue, 03 Jul 2018 15:49:00 GMT):
The Seth documentation has been updated: https://sawtooth.hyperledger.org/docs/seth/releases/latest/seth_developers_guide/getting_started.html

Anfimov (Tue, 03 Jul 2018 15:52:51 GMT):
@knkski thx)

AbidiBassem (Tue, 03 Jul 2018 16:44:30 GMT):
Has joined the channel.

rootDistress (Wed, 04 Jul 2018 07:05:54 GMT):
Hey, I've got the docker to build and downloaded the latest docs. However, I was unable to unlock an account created from seth-cli and use in seth-rpc. Could someone please help me out.

rootDistress (Wed, 04 Jul 2018 07:06:24 GMT):

Q2.png

rootDistress (Wed, 04 Jul 2018 07:06:39 GMT):

Q1.png

hanen (Wed, 04 Jul 2018 08:53:01 GMT):
@rootDistress check this page. ( https://github.com/hyperledger/sawtooth-seth/pull/28/commits/82051922897d75664833b7761b3883da4c53272c )

hanen (Wed, 04 Jul 2018 09:09:25 GMT):
hi, i want to access to the state of blocks with smart contract. Similar to the command "sawtooth state liste" is this possible?

hanen (Wed, 04 Jul 2018 09:09:25 GMT):
Hi, I want to access to the state of blocks with smart contract. Similar to the command "sawtooth state liste" is this possible?

rootDistress (Wed, 04 Jul 2018 09:20:06 GMT):
@hanen i followed through the page and got the common volume for both cli and rpc but the cursor doesn't return after the command is issued.

rootDistress (Wed, 04 Jul 2018 09:20:47 GMT):

Q3.png

hanen (Wed, 04 Jul 2018 09:22:42 GMT):
@rootDistress Yes open another rpc-container in new terminal and move to the next step

rootDistress (Wed, 04 Jul 2018 10:15:45 GMT):
Thanks for you're help @hanen , i still couldn't get the contract to deploy, P.S - Sorry to annoy you with more problems

rootDistress (Wed, 04 Jul 2018 10:16:05 GMT):

Q4.png

hanen (Wed, 04 Jul 2018 10:37:24 GMT):
@rootDistress Open new rpc-container and cd /root/.sawtooth/keys then cp myalias /root/.sawtooth/ and execute your command in new terminal

rootDistress (Wed, 04 Jul 2018 10:43:14 GMT):
@hanen No luck, i had already added "keys" to get_data_dir as suggested by @dplumb in accounts.rs

rootDistress (Wed, 04 Jul 2018 10:59:40 GMT):
@hanen were you able to deploy a contract with similar instructions ?

sagi (Thu, 05 Jul 2018 01:12:09 GMT):
Has joined the channel.

rootDistress (Thu, 05 Jul 2018 06:56:35 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=PayGA7e8qDgBmeEii) Someone please help me i've been re-reading the docs and attempting modifications in code to best of my ability. it still says `seth-rpc | [00:11:58.589] (139707440473856) ERROR Account with address `fe68d2dac7cf631955fafdf3f251dc8e9b40944f` not found. seth-rpc | [00:11:58.589] (139707440473856) ERROR NoResource` However, in seth-rpc i have ` docker exec -it seth-rpc bash root@c569ae5b1425:/project/sawtooth-seth/rpc# seth-rpc --unlock testacc Enter Password to unlock testacc: testacc unlocked: fe68d2dac7cf631955fafdf3f251dc8e9b40944f` Along with `{"jsonrpc":"2.0","error":{"code":-32603,"message":"Internal error"},"id":2}` responce on a new terminal where i did curl command for contract creation.

rootDistress (Thu, 05 Jul 2018 06:56:35 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=PayGA7e8qDgBmeEii) Someone please help me i've been re-reading the docs and attempting modifications in code to best of my ability. it still says `seth-rpc | [00:11:58.589] (139707440473856) ERROR Account with address "fe68d2dac7cf631955fafdf3f251dc8e9b40944" not found. seth-rpc | [00:11:58.589] (139707440473856) ERROR NoResource` However, in seth-rpc i have ` docker exec -it seth-rpc bash root@c569ae5b1425:/project/sawtooth-seth/rpc# seth-rpc --unlock testacc Enter Password to unlock testacc: testacc unlocked: fe68d2dac7cf631955fafdf3f251dc8e9b40944f` Along with `{"jsonrpc":"2.0","error":{"code":-32603,"message":"Internal error"},"id":2}` responce on a new terminal where i did curl command for contract creation.

rootDistress (Thu, 05 Jul 2018 06:56:35 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=PayGA7e8qDgBmeEii) Someone please help me i've been re-reading the docs and attempting modifications in code to best of my ability. it still says `seth-rpc | [00:11:58.589] (139707440473856) ERROR Account with address "fe68d2dac7cf631955fafdf3f251dc8e9b40944" not found. seth-rpc | [00:11:58.589] (139707440473856) ERROR NoResource` However, in seth-rpc i have ` docker exec -it seth-rpc bash root@c569ae5b1425:/project/sawtooth-seth/rpc# seth-rpc --unlock testacc Enter Password to unlock testacc: testacc unlocked: fe68d2dac7cf631955fafdf3f251dc8e9b40944f` Along with `{"jsonrpc":"2.0","error":{"code":-32603,"message":"Internal error"},"id":2}` responce on a new terminal where i did curl command for contract creation.

rootDistress (Thu, 05 Jul 2018 06:56:35 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=PayGA7e8qDgBmeEii) Someone please help me i've been re-reading the docs and attempting modifications in code to best of my ability. it still says `seth-rpc | [00:11:58.589] (139707440473856) ERROR Account with address "fe68d2dac7cf631955fafdf3f251dc8e9b40944" not found. seth-rpc | [00:11:58.589] (139707440473856) ERROR NoResource` However, in seth-rpc i have ` docker exec -it seth-rpc bash root@c569ae5b1425:/project/sawtooth-seth/rpc# seth-rpc --unlock testacc Enter Password to unlock testacc: testacc unlocked: fe68d2dac7cf631955fafdf3f251dc8e9b40944f` Along with `{"jsonrpc":"2.0","error":{"code":-32603,"message":"Internal error"},"id":2}` responce on a new terminal where i did curl command for contract creation.

rootDistress (Thu, 05 Jul 2018 06:56:35 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=PayGA7e8qDgBmeEii) Someone please help me i've been re-reading the docs and attempting modifications in code to best of my ability. it still says `seth-rpc | [00:11:58.589] (139707440473856) ERROR Account with address "fe68d2dac7cf631955fafdf3f251dc8e9b40944" not found. seth-rpc | [00:11:58.589] (139707440473856) ERROR NoResource` However, in seth-rpc i have ` docker exec -it seth-rpc bash root@c569ae5b1425:/project/sawtooth-seth/rpc# seth-rpc --unlock testacc Enter Password to unlock testacc: testacc unlocked: fe68d2dac7cf631955fafdf3f251dc8e9b40944f` Along with `{"jsonrpc":"2.0","error":{"code":-32603,"message":"Internal error"},"id":2}` responce on a new terminal where i did curl command for contract creation.

rootDistress (Thu, 05 Jul 2018 06:56:35 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=PayGA7e8qDgBmeEii) Someone please help me i've been re-reading the docs and attempting modifications in code to best of my ability. it still says ``seth-rpc | [00:11:58.589] (139707440473856) ERROR Account with address "fe68d2dac7cf631955fafdf3f251dc8e9b40944" not found. seth-rpc | [00:11:58.589] (139707440473856) ERROR NoResource`` However, in seth-rpc i have ` docker exec -it seth-rpc bash root@c569ae5b1425:/project/sawtooth-seth/rpc# seth-rpc --unlock testacc Enter Password to unlock testacc: testacc unlocked: fe68d2dac7cf631955fafdf3f251dc8e9b40944f` Along with `{"jsonrpc":"2.0","error":{"code":-32603,"message":"Internal error"},"id":2}` responce on a new terminal where i did curl command for contract creation.

rootDistress (Thu, 05 Jul 2018 06:56:35 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=PayGA7e8qDgBmeEii) Someone please help me i've been re-reading the docs and attempting modifications in code to best of my ability. it still says `seth-rpc | [00:11:58.589] (139707440473856) ERROR Account with address "fe68d2dac7cf631955fafdf3f251dc8e9b40944" not found. seth-rpc | [00:11:58.589] (139707440473856) ERROR NoResource` However, in seth-rpc i have ` docker exec -it seth-rpc bash root@c569ae5b1425:/project/sawtooth-seth/rpc# seth-rpc --unlock testacc Enter Password to unlock testacc: testacc unlocked: fe68d2dac7cf631955fafdf3f251dc8e9b40944f` Along with `{"jsonrpc":"2.0","error":{"code":-32603,"message":"Internal error"},"id":2}` responce on a new terminal where i did curl command for contract creation.

rootDistress (Thu, 05 Jul 2018 06:56:35 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=PayGA7e8qDgBmeEii) Someone please help me i've been re-reading the docs and attempting modifications in code to best of my ability. it still says `seth-rpc | [00:11:58.589] (139707440473856) ERROR Account with address "fe68d2dac7cf631955fafdf3f251dc8e9b40944f" not found. seth-rpc | [00:11:58.589] (139707440473856) ERROR NoResource` However, in seth-rpc i have ` docker exec -it seth-rpc bash root@c569ae5b1425:/project/sawtooth-seth/rpc# seth-rpc --unlock testacc Enter Password to unlock testacc: testacc unlocked: fe68d2dac7cf631955fafdf3f251dc8e9b40944f` Along with `{"jsonrpc":"2.0","error":{"code":-32603,"message":"Internal error"},"id":2}` responce on a new terminal where i did curl command for contract creation.

rootDistress (Thu, 05 Jul 2018 11:15:44 GMT):
hey guys, I finally was able to deploy the contract. Not exactly sure which change helped but i documented my process in a [gist](https://gist.github.com/thekaleidoscope/8d3c77e7fedb3095f5b79b10810e5253) in case someone gets their help from it instead of repeatedly asking for a same problem here and irritating others. Please feel free to add or remove anything you feel necessary

mselimi (Thu, 05 Jul 2018 13:59:26 GMT):
Hello guys ! Does the actual Seth support value transfer ? Can we send a value (token) from an owned account to another account ? If yes, can you provide some tutorial link how to do this ? Thanks for your help !

yadhuksp (Fri, 06 Jul 2018 04:46:33 GMT):
Has joined the channel.

yadhuksp (Fri, 06 Jul 2018 04:51:39 GMT):
Hello, Can someone tell me how the data storage is taken care here ? Is it using protobuf inside validator state? or like ethereum in smart contract ?

varun-raj (Fri, 06 Jul 2018 06:13:08 GMT):
Has joined the channel.

rootDistress (Fri, 06 Jul 2018 07:20:55 GMT):
I tried to integrate truffle and use it for interaction, however the ethAccount list behaves in a non-deterministic way, it sometimes results [] and sometimes gives the account. for similar reason truffle sometime deploys and sometime doesn't. Can someone look at my truffle log and help please. https://gist.github.com/thekaleidoscope/55a01ae048454ce17b3897bb6e4ace83

hanen (Fri, 06 Jul 2018 07:49:39 GMT):
Hi, I want to access to the state of blocks with smart contract and recuperate data from Blockchain. Similar to the command "sawtooth state liste" is this possible?

Naseer03 (Fri, 06 Jul 2018 13:30:34 GMT):
Has joined the channel.

Smitha (Sat, 07 Jul 2018 07:59:58 GMT):
Has joined the channel.

EricPetruzzelli (Sat, 07 Jul 2018 12:00:47 GMT):
Has joined the channel.

Jasminess (Mon, 09 Jul 2018 10:57:26 GMT):
@rootDistress I had a similar problem(non-deterministic way). In my case, edit default.yaml file ... seth-rpc: ... command : | bash -c " seth-rpc -v --connect tcp:validator:9999 --bind 0.0.0.0:9999". and then, unlock ... tcp:validator4004 --bind 0.0.0.0:3030. I don't know why but it work. and other people solved it like this "seth init http: // rest-api: 8008".

kds (Wed, 11 Jul 2018 20:47:52 GMT):
Has joined the channel.

RealDeanZhao (Sat, 14 Jul 2018 15:16:27 GMT):
Has joined the channel.

chaimf (Mon, 16 Jul 2018 10:28:06 GMT):
Has joined the channel.

Anfimov (Wed, 18 Jul 2018 11:50:55 GMT):
Hello! Can somebody explain pls how I can build seth on Windows OS? Have some troubles with CLI compilation, ``` ./../c/loader.c:22:25: fatal error: openssl/bio.h: No such file or directory compilation terminated. ```

underbell (Thu, 19 Jul 2018 09:19:33 GMT):
Has joined the channel.

Anfimov (Thu, 19 Jul 2018 09:23:25 GMT):
How to get information about transactions weight in KB?

Anfimov (Thu, 19 Jul 2018 09:23:25 GMT):
Hello! How to get information about transactions weight in KB?

honeyjills (Thu, 19 Jul 2018 12:08:24 GMT):
Has joined the channel.

honeyjills (Thu, 19 Jul 2018 12:16:05 GMT):
Hilo , Is it possible to run activities (coin awards , transactions )happening in DApps(sawtooth) on the Ethereum mainnet?

honeyjills (Thu, 19 Jul 2018 12:16:05 GMT):
Hello , How can we get activity informations of DApps deployed in Ethereum smart contract hash into the sawtooth network ? Any idea? Does SETH provide such ?

johnsourour (Thu, 19 Jul 2018 17:14:17 GMT):
Has joined the channel.

lilangsang (Fri, 20 Jul 2018 01:42:46 GMT):
Has joined the channel.

BulentEgrilmez (Fri, 20 Jul 2018 19:59:30 GMT):
Has joined the channel.

tian (Sat, 21 Jul 2018 01:19:34 GMT):
Has joined the channel.

Anfimov (Mon, 23 Jul 2018 16:13:30 GMT):
Hello! I can't compile seth-tp got this error, I don't understand how to fix it :( Can anybody help? ```c:/win_build/bin/../lib64/gcc/x86_64-w64-mingw32/4.8.3/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lzmq collect2.exe: error: ld returned 1 exit status ```

knkski (Mon, 23 Jul 2018 17:37:00 GMT):
@Anfimov: It looks like you're missing the ZeroMQ library. If you use the Docker-based build process from the docs, installing that library should be handled. Otherwise you'll need to find and install that library

knkski (Mon, 23 Jul 2018 18:01:53 GMT):
@grkvlt @danintel @kelly_ : I'm taking a look at having the Seth CLI talk to the JSON-RPC API instead of directly to the Rest API. It looks like there's some functionality that the JSON-RPC API doesn't expose - should we have the CLI talk to both the REST and JSON-RPC APIs, extend the JSON-RPC API, or some other solution?

danintel (Mon, 23 Jul 2018 18:01:54 GMT):
Has joined the channel.

adamludvik (Mon, 23 Jul 2018 21:38:37 GMT):
Also @Dan do you have any opinions about this? IMO it probably makes the most sense to minimally extend the JSON-RPC as necessary to enable the existing CLI commands that can't be implemented within the stand Ethereum JSON-RPC spec. These would be given RPC names with a sawtooth prefix like `saw_` or `sawtooth_`.

Dan (Tue, 24 Jul 2018 11:57:21 GMT):
I don't have an informed view of that I'm afraid.

anastath (Tue, 24 Jul 2018 14:07:45 GMT):
Hi all, we are devloping a Dapp using seth-rpc. We use node.js and web3.js. We downloaded latest seth from here (https://github.com/hyperledger/sawtooth-seth) and run it with docker-compose.yaml. We deployed a Smart Contract using web3.eth.sendTransaction and then tried to call this contract again using web3.eth.sendTransaction. After each contract call, the transation is processed by seth-tp, BUT a message thread ' panicked at 'index 32 out of range for slice of length 0', libcore/slice/mod.rs:785:5 appears. In the third contract call transaction after the panick message above, seth-rpc exits with code 0 and we can't submit any contact call transactions unless we restart the environment with docker-copose.yaml; however, this is not an efficient solution. Could you please help on how to overcome this?

anastath (Tue, 24 Jul 2018 14:14:06 GMT):

seth-rpc-exit.png

knkski (Tue, 24 Jul 2018 14:37:38 GMT):
@anastath: Could you create a reproducible test case and create a JIRA ticket here? https://jira.hyperledger.org/secure/RapidBoard.jspa?rapidView=3&projectKey=STL

anastath (Tue, 24 Jul 2018 14:53:51 GMT):
Hi knkski, I don't have an account for JIRA

anastath (Tue, 24 Jul 2018 14:53:51 GMT):
Hi @knkski , I don't have an account for JIRA

knkski (Tue, 24 Jul 2018 15:10:55 GMT):
@anastath: You'll need to create an account with the Linux foundation here https://identity.linuxfoundation.org/, then log in with that account

kelly_ (Tue, 24 Jul 2018 19:40:24 GMT):
https://www.hyperledger.org/blog/2018/07/24/hyperledger-sawtooth-seth-and-truffle-101?utm_source=dlvr.it&utm_medium=facebook

kelly_ (Tue, 24 Jul 2018 19:40:32 GMT):
@nathanaw - Nice Article!

anastath (Wed, 25 Jul 2018 08:40:13 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=ZpsnMCMt4Xv8wPuRN) @knkski @knkski, I created a new issue in JIRA regarding this problem.

anastath (Wed, 25 Jul 2018 08:40:13 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=ZpsnMCMt4Xv8wPuRN) @knkski , I created a new issue in JIRA regarding this problem.

gezzergarcia (Fri, 27 Jul 2018 21:16:14 GMT):
Has joined the channel.

knkski (Thu, 02 Aug 2018 20:14:24 GMT):
I've opened up https://github.com/hyperledger/sawtooth-rfcs/pull/22 to propose changes to the Seth JSON-RPC API

knkski (Thu, 02 Aug 2018 20:14:33 GMT):
cc @Dan, @adamludvik ^^

Dan (Mon, 06 Aug 2018 16:07:48 GMT):
@kelly_ ^

Dan (Mon, 06 Aug 2018 16:07:48 GMT):
@kelly_

Dan (Mon, 06 Aug 2018 18:40:33 GMT):
@EugeneYYY ^

EugeneYYY (Mon, 06 Aug 2018 18:40:33 GMT):
Has joined the channel.

vu3mmg (Wed, 08 Aug 2018 00:09:55 GMT):
Has joined the channel.

manojgop (Wed, 08 Aug 2018 10:26:29 GMT):
Has joined the channel.

yura_litvish (Wed, 08 Aug 2018 11:27:47 GMT):
Has joined the channel.

manojgop (Thu, 09 Aug 2018 09:29:50 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=iKu3h8XiA9eMH988n) @rootDistress One thing noticed in your gist documentation is executing the command "seth-rpc --connect tcp://validator:4004 --bind 0.0.0.0:3030 --unlock ". But if we use docker, connect command (except unlock) is already executed in docker compose yaml file while starting the seth-rpc container. So I tried only with unlock command "Seth-rpc --unlock ". Though unlock was successful, I also got error "Account with address not found". So I had to run the command "seth-rpc --connect tcp://validator:4004 --bind 0.0.0.0:3030 --unlock " from seth-rpc container shell to make it work.

Dan (Fri, 10 Aug 2018 21:42:46 GMT):
Is this PR still relevant? https://github.com/hyperledger/sawtooth-seth/pull/43 @cliveb It looks like the hold up in the PR process is maybe there's some duplicate tags for `args:`

Dan (Fri, 10 Aug 2018 21:43:04 GMT):
@knkski ^ fyi

fhmarino (Mon, 13 Aug 2018 14:20:39 GMT):
Has joined the channel.

knkski (Mon, 13 Aug 2018 14:36:51 GMT):
@Dan: We're waiting to hear back from @cliveb on that one. We already fixed one issue that this line fixes in that PR: https://github.com/hyperledger/sawtooth-seth/pull/43/files#diff-eb672b1ddd3aa7dae5f2577f38daa271L131, and the rest of the PR is I believe an attempt to make things work with the network that he's using (the `args:` stuff), so we'll have to wait until he responds to see that stuff is still necessary with the above-mentioned fix

amundson (Tue, 14 Aug 2018 16:13:37 GMT):
@knkski congrats on becoming a seth maintainer! I've updated the repo permissions.

knkski (Tue, 14 Aug 2018 16:16:40 GMT):
Thanks!

carla (Sun, 19 Aug 2018 22:09:21 GMT):
I am trying to deploy a contract via the seth-rpc server with the eth_sendTransaction method. Here capture of the command output, I think everything went well but the validator status didn't change and the command "eth_getTransactionReceipt" return "null". I think there is a problem with the seth-rpc. Please I need help.

hanen (Sun, 19 Aug 2018 22:12:22 GMT):
I am trying to deploy a contract via the seth-rpc server with the eth_sendTransaction method. Here capture of the command output, I think everything went well but the validator status didn't change and the command "eth_getTransactionReceipt" return "null". I think there is a problem with the seth-rpc. Please I need help.

hanen (Sun, 19 Aug 2018 22:13:57 GMT):

C1.png

hanen (Sun, 19 Aug 2018 22:14:19 GMT):

C2.png

Gabe (Mon, 20 Aug 2018 04:15:13 GMT):
Has joined the channel.

knkski (Mon, 20 Aug 2018 14:02:43 GMT):
@hanen: If you add `-vv` to the `seth-rpc` arguments, does it print out anything useful? Otherwise, could you create a ticket here? https://jira.hyperledger.org/secure/RapidBoard.jspa?projectKey=STL

compleatang (Thu, 23 Aug 2018 09:01:09 GMT):
@dan @amundson and other developers: just to let you all know, that we've set up the #burrow-downstream room. As the burrow EVM gets more use from downstream projects we wanted to set up a place where your team and the Fabric-EVM team could raise any issues with using the EVM as a library and where we could make sure you all were aware of any changes we've made to the library that are relevant for you as part of our release cycle. Hope y'all will join!

BrettR (Thu, 23 Aug 2018 12:51:34 GMT):
Has joined the channel.

alchmeina (Thu, 23 Aug 2018 14:18:36 GMT):
Has joined the channel.

shrimanwar92 (Tue, 28 Aug 2018 15:54:45 GMT):
Has joined the channel.

khanqueror (Tue, 28 Aug 2018 22:40:23 GMT):
Has joined the channel.

YueYin (Thu, 30 Aug 2018 03:41:05 GMT):
Has joined the channel.

YueYin (Thu, 30 Aug 2018 03:44:28 GMT):
Hi team, we want to create a ERC20 token using Seth and we would like to use a ERC20 wallet for payment transaction on Sawtooth, ideally using javascript for prototyping. Grateful for suggestions, cheers.

YueYin (Thu, 30 Aug 2018 03:52:43 GMT):
https://github.com/kc1116/sawtooth-erc20-token is it anyone familiar with this project?

sujathaT (Thu, 30 Aug 2018 11:19:45 GMT):
Has joined the channel.

sujathaT (Thu, 30 Aug 2018 11:33:31 GMT):
sawtooth seth

Gabe (Thu, 30 Aug 2018 20:30:15 GMT):
Hey guys is anyone able to help us with ERC20 tokens and wallets on sawtooth?

Dan (Fri, 31 Aug 2018 01:26:45 GMT):
thanks @compleatang. @knkski @manojgop see above for #burrow-downstream

Dan (Fri, 31 Aug 2018 01:26:57 GMT):
@knkski

titoe218 (Fri, 31 Aug 2018 07:54:08 GMT):
Has joined the channel.

sureshtedla (Fri, 31 Aug 2018 17:33:58 GMT):
Has joined the channel.

blackbutterflysailing (Sat, 01 Sep 2018 17:23:59 GMT):
Has joined the channel.

subhrathota (Sat, 01 Sep 2018 22:42:06 GMT):
Has joined the channel.

subhrathota (Sat, 01 Sep 2018 22:43:29 GMT):
Ready to setup the account in the net work, it has given below mentioned error message.

subhrathota (Sat, 01 Sep 2018 22:44:38 GMT):

Clipboard - September 1, 2018 11:44 PM

subhrathota (Sat, 01 Sep 2018 22:44:38 GMT):

Clipboard - September 1, 2018 11:44 PM

silasdavis (Sun, 02 Sep 2018 11:39:06 GMT):
I noticed that seth is running on an old copy and pasted Burrow: https://github.com/hyperledger/sawtooth-seth/tree/master/burrow/src/burrow - I thought you were depending on Burrow at some point, was I mistaken?

silasdavis (Sun, 02 Sep 2018 11:40:43 GMT):
Anyway you will definitely be missing some fixes etc - it would be better if you could depend on Burrow as a dependency using dep: https://github.com/golang/dep - it will remove any unused code for you so no bloat, but it will be clear to see which Burrow version you are using and will be easier to get updates

silasdavis (Sun, 02 Sep 2018 11:43:23 GMT):
Happy to help someone work through upgrade - should be fairly minor, some changes around how events are captured from EVM executions

silasdavis (Sun, 02 Sep 2018 11:43:52 GMT):
Currently you are missing some important opcodes like REVERT

subhrathota (Sun, 02 Sep 2018 12:21:47 GMT):
Thank you

RealDeanZhao (Tue, 04 Sep 2018 09:18:51 GMT):
Hi All, Can I install sawtooth-seth via apt directly?

RealDeanZhao (Tue, 04 Sep 2018 16:31:09 GMT):
Hi Team, how to solve this issue when 'docker-compose up --build' ``` > scrypt@6.0.3 install /node_modules/scrypt > node-gyp rebuild make: Entering directory '/node_modules/scrypt/build' SOLINK_MODULE(target) Release/obj.target/copied_files.node COPY Release/copied_files.node CC(target) Release/obj.target/scrypt_wrapper/src/util/memlimit.o CC(target) Release/obj.target/scrypt_wrapper/src/scryptwrapper/keyderivation.o CC(target) Release/obj.target/scrypt_wrapper/src/scryptwrapper/pickparams.o CC(target) Release/obj.target/scrypt_wrapper/src/scryptwrapper/hash.o AR(target) Release/obj.target/scrypt_wrapper.a COPY Release/scrypt_wrapper.a CC(target) Release/obj.target/scrypt_lib/scrypt/scrypt-1.2.0/lib/crypto/crypto_scrypt.o CC(target) Release/obj.target/scrypt_lib/scrypt/scrypt-1.2.0/lib/crypto/crypto_scrypt_smix.o CC(target) Release/obj.target/scrypt_lib/scrypt/scrypt-1.2.0/libcperciva/util/warnp.o CC(target) Release/obj.target/scrypt_lib/scrypt/scrypt-1.2.0/libcperciva/alg/sha256.o CC(target) Release/obj.target/scrypt_lib/scrypt/scrypt-1.2.0/libcperciva/util/insecure_memzero.o CC(target) Release/obj.target/scrypt_lib/scrypt/scrypt-1.2.0/lib/scryptenc/scryptenc_cpuperf.o AR(target) Release/obj.target/scrypt_lib.a COPY Release/scrypt_lib.a CXX(target) Release/obj.target/scrypt/src/node-boilerplate/scrypt_common.o Killed ERROR: Service 'seth-cli-go' failed to build: The command '/bin/sh -c npm install ethereumjs-abi web3' returned a non-zero code: 137 ```

amundson (Tue, 04 Sep 2018 18:36:20 GMT):
@silasdavis we would like to get upgraded to the latest burrow

RealDeanZhao (Wed, 05 Sep 2018 10:39:24 GMT):

Clipboard - September 5, 2018 6:39 PM

RealDeanZhao (Wed, 05 Sep 2018 10:42:21 GMT):
call the intkey contract, the payload in sawtooth-explorer is unreadable.

RealDeanZhao (Wed, 05 Sep 2018 10:47:06 GMT):
will sawtooth-explorer support read the 'InputData' in the future like etherscan.io?

RealDeanZhao (Wed, 05 Sep 2018 10:47:31 GMT):

Clipboard - September 5, 2018 6:47 PM

RealDeanZhao (Wed, 05 Sep 2018 10:47:35 GMT):

Clipboard - September 5, 2018 6:47 PM

RealDeanZhao (Fri, 07 Sep 2018 01:35:32 GMT):
Hi Team, is there any comparison of Sawtooth transaction processors vs. Seth/EVM smart contracts?

Lotus (Fri, 07 Sep 2018 11:31:23 GMT):
Has joined the channel.

Lotus (Fri, 07 Sep 2018 11:49:33 GMT):
sawtooth seth env on ubuntu server :accounts are creating in through seth-cli container and able to access in seth-cli container but in seth-rpc container eth_accounts method returning 0 accounts.

Lotus (Fri, 07 Sep 2018 11:49:33 GMT):
not able to create account in seth-cli with latest code by using txt file getting error like Error: invalid type: integer `404`, expected struct JsonRpcResponse at line 1 column 4 can anyone help

Lotus (Fri, 07 Sep 2018 11:49:33 GMT):
not able to create account in seth-cli with latest code by using txt file getting error like Error: invalid type: integer `404`, expected struct JsonRpcResponse at line 1 column 4 can anyone help

Lotus (Fri, 07 Sep 2018 11:49:33 GMT):
not able to create account in seth-cli with latest code by using txt file getting error like Error: invalid type: integer `404`, expected struct JsonRpcResponse at line 1 column 4 can anyone help please refer below snap

Lotus (Fri, 07 Sep 2018 11:49:33 GMT):
not able to create account in seth-cli with latest code by using txt file getting error like Error: invalid type: integer `404`, expected struct JsonRpcResponse at line 1 column 4 can anyone help please refer above snap

isaackbchain (Fri, 07 Sep 2018 20:03:36 GMT):
Has joined the channel.

Lotus (Fri, 07 Sep 2018 23:06:15 GMT):
sawtooth seth env on ubuntu server :accounts are creating in through seth-cli container and able to access in seth-cli container but in seth-rpc container eth_accounts method returning 0 accounts.

Lotus (Sat, 08 Sep 2018 08:42:29 GMT):

Clipboard - September 8, 2018 9:42 AM

amundson (Sat, 08 Sep 2018 17:33:45 GMT):
@RealDeanZhao there isn't a evm vs. TP comparison, but sounds like a good idea. do you have any specific questions?

RealDeanZhao (Sun, 09 Sep 2018 03:10:34 GMT):
@amundson Maybe an EVM version of the Supply Chain example. I am now learning the solidity, so want to know how to dev a real world DApp on EVM.

RealDeanZhao (Sun, 09 Sep 2018 03:10:34 GMT):
@amundson Maybe an EVM version of the Supply Chain example. I am now learning Solidity, so want to know how to dev a real world DApp on EVM.

knkski (Mon, 10 Sep 2018 13:58:03 GMT):
@Lotus: Until https://github.com/hyperledger/sawtooth-seth/pull/72 is merged, you'll want to use the `seth-cli-go` docker container to run CLI commands in

ytannus (Mon, 10 Sep 2018 15:34:57 GMT):
Has joined the channel.

ytannus (Mon, 10 Sep 2018 15:37:03 GMT):
hello, I'm asking for help, I'm trying to create my development environment with truffle and sawtooth-seth using docker-compose, everything seems to be fine, but when i'm trying to migrate/deploy contracts from truffle I got "Account not found Error"

ytannus (Mon, 10 Sep 2018 15:45:12 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=4tX2MKHwaLAJ7FGtd) I followed https://gist.github.com/thekaleidoscope/8d3c77e7fedb3095f5b79b10810e5253 guide, account is created, algo truffle is configured to send transactions from that account

ytannus (Mon, 10 Sep 2018 15:45:41 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=tG5tTCeg7gtCRqGmc) the ERROR is: seth-rpc | [00:13:14.548] (140004894435072) ERROR Account with address `e04b57b7696f9fc7fc49f01302a768653b8f2979` not found. seth-rpc | [00:13:14.554] (140004894435072) ERROR NoResource

knkski (Mon, 10 Sep 2018 15:47:13 GMT):
@ytannus: You may need to unlock that account by starting the RPC service with `--unlock $ALIAS`, where `$ALIAS` is the name of the key associated with that account

ytannus (Mon, 10 Sep 2018 15:49:02 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=CRNw7gqvcuPypy8tP) @knkski yes, also I did that :(

ytannus (Mon, 10 Sep 2018 16:05:19 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=M4BH9sCvBRXWrXAMz) I just started from begining (alias pem file is in .sawtooth/keys dir), I got another error now: seth-rpc | Alias not found in data directory seth-rpc | thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Custom { kind: UnexpectedEof, error: StringError("unexpected end of file") }', libcore/result.rs:945:5 seth-rpc | note: Run with `RUST_BACKTRACE=1` for a backtrace. seth-rpc | Enter Password to unlock bibproc:seth-rpc exited with code 101

knkski (Mon, 10 Sep 2018 16:13:32 GMT):
@ytannus: Can you give the backtrace with `RUST_BACKTRACE=1` enabled?

ytannus (Mon, 10 Sep 2018 18:05:36 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=fvkpNoYkpS2oB2MCy) @knkski seth-rpc | thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Custom { kind: UnexpectedEof, error: StringError("unexpected end of file") }', Enter Password to unlock bibproc:libcore/result.rs:945:5 seth-rpc | stack backtrace: seth-rpc | 0: std::sys::unix::backtrace::tracing::imp::unwind_backtrace seth-rpc | at libstd/sys/unix/backtrace/tracing/gcc_s.rs:49 seth-rpc | 1: std::sys_common::backtrace::print seth-rpc | at libstd/sys_common/backtrace.rs:71 seth-rpc | at libstd/sys_common/backtrace.rs:59 seth-rpc | 2: std::panicking::default_hook::{{closure}} seth-rpc | at libstd/panicking.rs:211 seth-rpc | 3: std::panicking::default_hook seth-rpc | at libstd/panicking.rs:227 seth-rpc | 4: std::panicking::rust_panic_with_hook seth-rpc | at libstd/panicking.rs:511 seth-rpc | 5: std::panicking::continue_panic_fmt seth-rpc | at libstd/panicking.rs:426 seth-rpc | 6: rust_begin_unwind seth-rpc | at libstd/panicking.rs:337 seth-rpc | 7: core::panicking::panic_fmt seth-rpc | at libcore/panicking.rs:92 seth-rpc | 8: core::result::unwrap_failed seth-rpc | at /checkout/src/libcore/macros.rs:26 seth-rpc | 9: >::unwrap seth-rpc | at /checkout/src/libcore/result.rs:782 seth-rpc | 10: rpc::accounts::Account::load_from_alias seth-rpc | at src/accounts.rs:103 seth-rpc | 11: rpc::main::{{closure}} seth-rpc | at src/main.rs:81 seth-rpc | 12: core::ops::function::impls:: for &'a mut F>::call_once seth-rpc | at /checkout/src/libcore/ops/function.rs:271 seth-rpc | 13: >::map seth-rpc | at /checkout/src/libcore/option.rs:414 seth-rpc | 14: as core::iter::iterator::Iterator>::next seth-rpc | at /checkout/src/libcore/iter/mod.rs:1326 seth-rpc | 15: as alloc::vec::SpecExtend>::spec_extend seth-rpc | at /checkout/src/liballoc/vec.rs:1880 seth-rpc | 16: as alloc::vec::SpecExtend>::from_iter seth-rpc | at /checkout/src/liballoc/vec.rs:1863 seth-rpc | 17: as core::iter::traits::FromIterator>::from_iter seth-rpc | at /checkout/src/liballoc/vec.rs:1749 seth-rpc | 18: core::iter::iterator::Iterator::collect seth-rpc | at /checkout/src/libcore/iter/iterator.rs:1419 seth-rpc | 19: rpc::main seth-rpc | at src/main.rs:77 seth-rpc | 20: std::rt::lang_start::{{closure}} seth-rpc | at /checkout/src/libstd/rt.rs:74 seth-rpc | 21: std::panicking::try::do_call seth-rpc | at libstd/rt.rs:59 seth-rpc | at libstd/panicking.rs:310 seth-rpc | 22: __rust_maybe_catch_panic seth-rpc | at libpanic_unwind/lib.rs:105 seth-rpc | 23: std::rt::lang_start_internal seth-rpc | at libstd/panicking.rs:289 seth-rpc | at libstd/panic.rs:392 seth-rpc | at libstd/rt.rs:58 seth-rpc | 24: std::rt::lang_start seth-rpc | at /checkout/src/libstd/rt.rs:74 seth-rpc | 25: main seth-rpc | 26: __libc_start_main seth-rpc | 27: _start seth-rpc exited with code 101

ytannus (Mon, 10 Sep 2018 18:25:19 GMT):

Clipboard - September 10, 2018 3:25 PM

ytannus (Mon, 10 Sep 2018 18:25:23 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=zMFjELJcyz9ZKq9GP) I just started from zero: create new account and restarting seth-rpc container with --unlock argumen, but Account address is not found

ytannus (Mon, 10 Sep 2018 18:29:45 GMT):
same results as backtrace

knkski (Mon, 10 Sep 2018 18:31:39 GMT):
@ytannus: Looks like you're using a password-encrypted key, and not supplying a password

knkski (Mon, 10 Sep 2018 18:33:04 GMT):
You'll have to enter your password for the key into the RPC service when it boots up. Not great UX unfortunately, but that should be fixed when https://github.com/hyperledger/sawtooth-seth/pull/72 is merged

ytannus (Mon, 10 Sep 2018 18:33:48 GMT):
there is another way to create accounts? I'm using `openssl ecparam -genkey -name secp256k1 | openssl ec -out .pem -aes128` as https://gist.github.com/thekaleidoscope/8d3c77e7fedb3095f5b79b10810e5253

knkski (Mon, 10 Sep 2018 18:37:38 GMT):
If you take off `-aes128`, it won't encrypt the key, and you won't have to enter the key when the RPC service boots up

ytannus (Mon, 10 Sep 2018 18:42:39 GMT):

Clipboard - September 10, 2018 3:41 PM

kelly_ (Mon, 10 Sep 2018 19:39:59 GMT):
@ytannus I'd be interested in hearing your Truffle experience. also if there are updates that need to be made to https://gist.github.com/thekaleidoscope/8d3c77e7fedb3095f5b79b10810e5253 it would be great if you could upload a gist of the refined instructions

knkski (Mon, 10 Sep 2018 20:15:45 GMT):
Submitting a Seth PR with any updated instructions would also be appreciated

ytannus (Mon, 10 Sep 2018 21:05:18 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=J2r8iMbNn5pkt49Hc) @kelly_ no problem, at the moment only I had to remove ´-aes128´option when creating the account, now I'm working in a dapp, I will let you know what I found

RealDeanZhao (Tue, 11 Sep 2018 07:48:53 GMT):
Hi Team, I can deploy the contract on seth with truffle successfully now. But I met an issue when calling the method of the contract using truffle console: ```truffle(sawtooth)> dapptoken.totalSupply() Error: Method not implemented at XMLHttpRequest._onHttpResponseEnd (/Users/dean/.nvm/versions/node/v8.11.2/lib/node_modules/truffle/build/webpack:/~/xhr2/lib/xhr2.js:509:1) at XMLHttpRequest._setReadyState (/Users/dean/.nvm/versions/node/v8.11.2/lib/node_modules/truffle/build/webpack:/~/xhr2/lib/xhr2.js:354:1) at XMLHttpRequestEventTarget.dispatchEvent (/Users/dean/.nvm/versions/node/v8.11.2/lib/node_modules/truffle/build/webpack:/~/xhr2/lib/xhr2.js:64:1) at XMLHttpRequest.request.onreadystatechange (/Users/dean/.nvm/versions/node/v8.11.2/lib/node_modules/truffle/build/webpack:/~/web3/lib/web3/httpprovider.js:128:1) at /Users/dean/.nvm/versions/node/v8.11.2/lib/node_modules/truffle/build/webpack:/packages/truffle-provider/wrapper.js:134:1 at /Users/dean/.nvm/versions/node/v8.11.2/lib/node_modules/truffle/build/webpack:/~/web3/lib/web3/requestmanager.js:86:1 at Object.InvalidResponse (/Users/dean/.nvm/versions/node/v8.11.2/lib/node_modules/truffle/build/webpack:/~/web3/lib/web3/errors.js:38:1)```

RealDeanZhao (Tue, 11 Sep 2018 07:51:34 GMT):
I also tried to deploy the contract to Ganache.. Everything worked fine..

RealDeanZhao (Tue, 11 Sep 2018 07:51:34 GMT):
I also tried to deploy the contract to Ganache.. Everything worked fine..```truffle(development)> dapptoken.totalSupply() BigNumber { s: 1, e: 6, c: [ 1000000 ] }```

Lotus (Tue, 11 Sep 2018 11:18:51 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=a64R2C322HxsjzWuo) @knkski with seth-cli-go i am facing plb while running command --unlock alias error is alias not found in data directory

ytannus (Tue, 11 Sep 2018 12:45:20 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=HFgDnb2LPNhFiN2mt) @RealDeanZhao same problem here, cannot invoque contract functions

ytannus (Tue, 11 Sep 2018 13:41:44 GMT):

Clipboard - September 11, 2018 10:41 AM

knkski (Tue, 11 Sep 2018 14:24:28 GMT):
@ytannus / @RealDeanZhao: Is web3 attempting to send the transaction as a raw transaction? That functionality is not currently implemented in Seth: https://github.com/hyperledger/sawtooth-seth/blob/master/rpc/src/calls/transaction.rs#L136

ytannus (Tue, 11 Sep 2018 14:29:23 GMT):

Clipboard - September 11, 2018 11:29 AM

ytannus (Tue, 11 Sep 2018 14:30:11 GMT):

Clipboard - September 11, 2018 11:29 AM

ytannus (Tue, 11 Sep 2018 14:30:13 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=zzThAPAkpH77BoHcr) @knkski Thanks, that explain it

ytannus (Tue, 11 Sep 2018 14:41:33 GMT):
really could be great if seth has full compatibility with truffle/web3, IMHO without that there is no sense to use it :grimacing:

knkski (Tue, 11 Sep 2018 14:47:33 GMT):
@ytannus: Could you open up a ticket here for that? https://jira.hyperledger.org/secure/RapidBoard.jspa?rapidView=3&projectKey=STL

knkski (Tue, 11 Sep 2018 14:48:23 GMT):
web3 compatibility would indeed be really nice, and opening a ticket is a good way to make that visible

ytannus (Tue, 11 Sep 2018 14:50:43 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=vnRSPEbfyoJ5jT9jD) @knkski sure, but I don't have a account in that platform :smile: who's the jira admin?

knkski (Tue, 11 Sep 2018 14:51:25 GMT):
You should be able to create an account here to log into jira: https://identity.linuxfoundation.org/

ytannus (Tue, 11 Sep 2018 15:12:43 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=YLRyKFsfZAAqpEJeN) Done! https://jira.hyperledger.org/browse/STL-1431

arsulegai (Tue, 11 Sep 2018 19:02:31 GMT):
Has joined the channel.

RealDeanZhao (Wed, 12 Sep 2018 02:08:21 GMT):
@ytannus @knkski Thanks, hope it to be solved soon.

in0rdr (Thu, 13 Sep 2018 08:20:12 GMT):
Has joined the channel.

Lotus (Thu, 13 Sep 2018 09:05:13 GMT):
For sawtooth-seth any sdk is present?

RealDeanZhao (Thu, 13 Sep 2018 09:18:33 GMT):
no

RealDeanZhao (Thu, 13 Sep 2018 09:20:06 GMT):
it will be able to use truffle and web3

RealDeanZhao (Thu, 13 Sep 2018 09:21:00 GMT):
but not fully compatible

Lotus (Thu, 13 Sep 2018 11:27:47 GMT):
if we want to do dapp using seth then can we use netherium??

colincmcc (Thu, 13 Sep 2018 15:48:04 GMT):
Has joined the channel.

anil.kandi (Mon, 17 Sep 2018 04:15:58 GMT):
Has joined the channel.

ailisp (Mon, 17 Sep 2018 18:05:37 GMT):
Has joined the channel.

satyajitdeshmukh (Wed, 19 Sep 2018 09:59:35 GMT):
Has joined the channel.

bhaditya10 (Fri, 21 Sep 2018 06:49:27 GMT):
Has joined the channel.

JitenderBhutani (Mon, 24 Sep 2018 08:29:27 GMT):
Has joined the channel.

JitenderBhutani (Mon, 24 Sep 2018 08:29:33 GMT):
Hi, While Installing Sawtooth-Seth. I am getting E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/universe/g/golang-1.9/golang-1.9-src_1.9.2-3ubuntu1~16.04.1_amd64.deb Connection failed [IP: 91.189.88.162 80]. The Go Language archive link is not responding. Can any one suggest me the solution ? System Config - Ubuntu 16.04 , amd64

knkski (Mon, 24 Sep 2018 14:31:19 GMT):
@JitenderBhutani: I would try again, it's possible that there was an intermittent connection issue. Otherwise, are you behind a firewall that might be causing any issues?

knkski (Mon, 24 Sep 2018 20:40:28 GMT):
Could I get some code reviews on https://github.com/hyperledger/sawtooth-seth/pull/74?

knkski (Mon, 24 Sep 2018 20:41:03 GMT):
cc @grkvlt @pschwarz @amundson @adamludvik @dplumb ^^

JitenderBhutani (Tue, 25 Sep 2018 05:25:12 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=WCRkqKckcDE4bmKa6) @knkski My Antivirus was blocking the LINK for unknown reason(suspicious).

kelly_ (Tue, 25 Sep 2018 18:05:25 GMT):
@knkski - I've been chatting with the Truffle devs recently - let me know if you'd like an introduction

kelly_ (Tue, 25 Sep 2018 18:05:40 GMT):
They are interested in helping get Sawtooth working with the Truffle tooling

knkski (Tue, 25 Sep 2018 18:31:56 GMT):
@kelly_: sure, sounds good :+1:

SethR 3 (Tue, 25 Sep 2018 18:40:43 GMT):
Has joined the channel.

SethR 3 (Tue, 25 Sep 2018 18:42:11 GMT):
I have what seems like a very basic question about permissions. We have multiple developers that we want to be able to work with IBM blockchain, but we cannot figure out how to grant them access to the Starter Edition service we have set up.

jsmitchell (Tue, 25 Sep 2018 18:45:02 GMT):
This channel is about Hyperledger Sawtooth Seth, which allows you to run Ethereum Virtual Machine bytecode contracts on Sawtooth. I'm not sure what "IBM Blockchain" is, but it sounds like some kind of commercial offering from IBM.

SethR 3 (Tue, 25 Sep 2018 18:46:50 GMT):
Thanks. I realized this was the wrong forum almost immediately after posting.

jsmitchell (Tue, 25 Sep 2018 18:46:57 GMT):
ah, no worries

jsmitchell (Tue, 25 Sep 2018 18:51:29 GMT):
lol, the bot in #general sent you here because you have Seth in your username :)

benjamincburns (Tue, 25 Sep 2018 20:18:18 GMT):
Has joined the channel.

benjamincburns (Tue, 25 Sep 2018 20:24:39 GMT):
hi @kelly_ & @knkski!

benjamincburns (Tue, 25 Sep 2018 20:24:48 GMT):
It's Ben from Truffle here

benjamincburns (Tue, 25 Sep 2018 20:25:04 GMT):
looks like something changed recently in the `seth` cli - the usage no longer matches the docs

benjamincburns (Tue, 25 Sep 2018 20:25:58 GMT):
the command from the docs is `seth account import key-file.pem myalias` but the new cli wants `seth account import key-file.pem --pass-file pass-file.txt` - doesn't like the `alias` arg

benjamincburns (Tue, 25 Sep 2018 20:26:56 GMT):
and when I run that it seems to be getting a 404 from whatever API it reaches out to (based on the config file it looks to be the usual REST endpoint at `:8080`)

knkski (Tue, 25 Sep 2018 20:28:16 GMT):
@benjamincburns: Until https://github.com/hyperledger/sawtooth-seth/pull/72 is merged and the docs updated, you'll want to use the `seth-cli-go` docker container to run commands from

benjamincburns (Tue, 25 Sep 2018 20:28:29 GMT):
ok, thanks

benjamincburns (Tue, 25 Sep 2018 20:30:32 GMT):
nice, that did the trick!

benjamincburns (Tue, 25 Sep 2018 20:31:09 GMT):
so, first thing that's getting added to my "make truffle better for sawtooth" list is a network setup workflow w/ account creation/generation

knkski (Tue, 25 Sep 2018 20:33:01 GMT):
cool, if you could script that, that seems like it would be really useful to use as integration tests for seth

knkski (Tue, 25 Sep 2018 20:35:12 GMT):
at least, i'm imagining it would be something along the lines of coming up with some basic test cases, and then `truffle compile && truffle migrate && truffle test`?

benjamincburns (Tue, 25 Sep 2018 20:35:22 GMT):
sure thing - it may take a little while until we get 'round to adding sawtooth-specific features, though - the plan is to identify common threads among the chains we want to support and make sure that the truffle workflows for each are as similar to one another as possible, so that'll take some time

benjamincburns (Tue, 25 Sep 2018 20:36:13 GMT):
yeah, without thinking too hard about it I'd imagine there'd be something like `truffle network init` and `truffle migrate-accounts` before that

benjamincburns (Tue, 25 Sep 2018 20:36:41 GMT):
or more likely the equivalent of `migrate-accounts` would be wrapped into something like `network init`

benjamincburns (Tue, 25 Sep 2018 20:36:41 GMT):
or more likely the equivalent of `migrate-accounts` would be ran automatically by the `network init` workflow

benjamincburns (Tue, 25 Sep 2018 20:38:24 GMT):
or maybe there's a way to make it so that it all fits into the existing `migrate` workflow - will need to talk it over with the team for sure

benjamincburns (Tue, 25 Sep 2018 20:39:52 GMT):
right now my goal is to figure out what's necessary to make the existing commands (especially the ones you mentioned) work, if anything

benjamincburns (Tue, 25 Sep 2018 20:51:02 GMT):
is `eth_accounts` supposed to work?

benjamincburns (Tue, 25 Sep 2018 20:51:24 GMT):
I can imagine that being a privacy issue, eh?

benjamincburns (Tue, 25 Sep 2018 20:55:36 GMT):
I think I can work around it with `truffle-hdwallet-provider`, however

knkski (Tue, 25 Sep 2018 21:16:09 GMT):
@benjamincburns: afaik `eth_accounts` is supposed to work - are you saying that it's not working for you, or that is working and you expect that it shouldn't be exposed for privacy reasons?

benjamincburns (Tue, 25 Sep 2018 21:17:40 GMT):
ah, sorry - I got it working

benjamincburns (Tue, 25 Sep 2018 21:18:59 GMT):
I missed the unlock step in the gist that Kelly shared - also I'm not sure if it was necessary, but I also added the volume for the common `~/.sawtooth` directory to the `seth-cli-go` container

benjamincburns (Tue, 25 Sep 2018 21:29:13 GMT):
ok - looks like `truffle migrate` isn't happy because `eth_getTransactionReceipt` doesn't return a `status` flag

knkski (Tue, 25 Sep 2018 21:29:37 GMT):
sure, that works to get up and going for now. part of the changes that https://github.com/hyperledger/sawtooth-seth/pull/72 makes is to eliminate the need for the cli to have local keys

benjamincburns (Tue, 25 Sep 2018 21:29:47 GMT):
that's probably deep into the belly of web3 1.0, however

knkski (Tue, 25 Sep 2018 21:29:57 GMT):
that seems like a good ticket to open

benjamincburns (Tue, 25 Sep 2018 21:30:01 GMT):
yep

benjamincburns (Tue, 25 Sep 2018 21:30:44 GMT):
I saw a note somewhere that said that you'll need to update to the latest EVM from burrow to get the REVERT opcode - I'd imagine `status` is a similar story, as that came along w/ byzantium

kelly_ (Tue, 25 Sep 2018 21:30:46 GMT):
@benjamincburns if you do submit a PR for any fixes, I'd suggest you take a quick look at this: https://sawtooth.hyperledger.org/docs/core/releases/latest/community/contributing.html#the-commit-process

benjamincburns (Tue, 25 Sep 2018 21:30:53 GMT):
will do - thanks!

kelly_ (Tue, 25 Sep 2018 21:31:20 GMT):
key things are commit message and DCO

knkski (Tue, 25 Sep 2018 21:31:28 GMT):
good to know. the burrow upgrade should come with https://github.com/hyperledger/sawtooth-seth/pull/73

benjamincburns (Tue, 25 Sep 2018 21:33:35 GMT):
I have to run soon, but I'll try pulling that branch down and see how far I get

benjamincburns (Tue, 25 Sep 2018 22:10:53 GMT):
is `eth_call` supposed to be implemented?

benjamincburns (Tue, 25 Sep 2018 22:11:15 GMT):
also looks like I'm getting back `method not implemented` for `eth_estimateGas`, which isn't as important, I think

knkski (Wed, 26 Sep 2018 13:59:39 GMT):
@benjamincburns: Both of those are currently unimplemented: https://github.com/hyperledger/sawtooth-seth/blob/master/rpc/src/calls/transaction.rs#L404 https://github.com/hyperledger/sawtooth-seth/blob/master/rpc/src/calls/transaction.rs#L463

manojgop (Wed, 26 Sep 2018 15:53:52 GMT):
@knkski Just noticed that teh volume "sawtooth:/root/.sawtooth" is not mapped in seth-cli-go container in docker-compose.yaml file. without that the keys generated in seth container is not visible in seth-cli-go container. Currently this volume is mapped only in seth-cli container

manojgop (Wed, 26 Sep 2018 15:53:52 GMT):
@knkski Just noticed that the volume "sawtooth:/root/.sawtooth" is not mapped in seth-cli-go container in docker-compose.yaml file. without that the keys generated in seth container is not visible in seth-cli-go container. Currently this volume is mapped only in seth-cli container

manojgop (Wed, 26 Sep 2018 15:53:52 GMT):
@knkski Just noticed that the volume "sawtooth:/root/.sawtooth" is not mapped in seth-cli-go container in docker-compose.yaml file. without that the keys generated in seth-cli-go container is not visible in seth-rpc container. Currently this volume is mapped only in seth-cli container

benjamincburns (Wed, 26 Sep 2018 19:56:25 GMT):
thanks for that @knkski - earlier I would have said that `eth_call` support is a major blocker for us, but since `eth_getStorageAt` is implemented, it turns out we likely have some tech in our back pocket which we can probably use to work around lack of support for `eth_call`. I'm going to give that a try this afternoon and I'll report back

benjamincburns (Wed, 26 Sep 2018 20:33:01 GMT):
looks like the code in question has a bunch of size checks built in and doesn't like the increased block hash size... in the short term (later this afternoon) I'm going to see if I can't just fork the relevant pieces and make the sizes line up, and then if that works I'll probably work on some PRs for the relevant projects (mostly `ethereumjs-*` projects) to make the sizes of various protocol elements configurable

benjamincburns (Thu, 27 Sep 2018 17:38:11 GMT):
brief update - I hacked around the missing support for `eth_call` by using `web3-provider-engine`, which caused me to run into the field size checks I mentioned yesterday. I managed to get around those with some small but relatively drastic changes to a few of our dependencies (`addProperties` in `ethereumjs-util`, most notably). As a result of those changes I now have the beginnings of what will become `truffle-sawtooth-seth-provider`, and with that plus the relevant dependency changes I can successfully run `truffle migrate --network=sawtooth-seth` against a toy project :tada:

benjamincburns (Thu, 27 Sep 2018 17:38:11 GMT):
brief update - I hacked around the missing support for `eth_call` by using `web3-provider-engine`, which caused me to run into the field size checks I mentioned yesterday. I managed to get around those with some small but relatively drastic changes to a few of our dependencies ( `addProperties` in `ethereumjs-util`, most notably). As a result of those changes I now have the beginnings of what will become `truffle-sawtooth-seth-provider`, and with that plus the relevant dependency changes I can successfully run `truffle migrate --network=sawtooth-seth` against a toy project :tada:

jsmitchell (Thu, 27 Sep 2018 17:45:24 GMT):
SWEET!

benjamincburns (Sat, 29 Sep 2018 01:43:27 GMT):
another brief update - I've now encapsulated all of the necessary dependency changes into `truffle-sawtooth-seth-provider`... `truffle migrate` seems to work reliably with the current truffle beta (no modifications to truffle itself were necessary). I've also got the Pet Shop tutorial front end working with the provider, but `truffle test` against sawtooth still isn't working 100% - I'll focus on that next

benjamincburns (Sat, 29 Sep 2018 01:46:13 GMT):
`truffle-sawtooth-seth-provider` isn't yet published to npm, so I'm afraid you can't try it out just yet, but if people want to give it a go I'll create a temporary repo for it and you can add it as a git dependency. I say "a temporary repo" because I think its final home might be in the truffle monorepo, but I need to confer with the truffle core lead on that, as he might want to keep platform-specific stuff in its own repositories

benjamincburns (Sat, 29 Sep 2018 01:47:17 GMT):
@knkski & @kelly_ ^

benjamincburns (Sat, 29 Sep 2018 01:47:43 GMT):
I'll keep working on this over the weekend - my goal is to demo the debugger running against seth :-D

benjamincburns (Sat, 29 Sep 2018 01:47:43 GMT):
I'll keep working on this over the weekend - my goal is to demo the debugger running against seth at TruffleCon :-D

benjamincburns (Sat, 29 Sep 2018 01:47:43 GMT):
I'll keep working on this over the weekend - my goal is to demo the Truffle debugger running against seth at TruffleCon :-D

benjamincburns (Sat, 29 Sep 2018 01:52:05 GMT):
oh, I said there's been no modification to truffle necessary - but also no modification to seth has been necessary, either... I do embed a JavaScript EVM in the `truffle-sawtooth-seth-provider` to work around the lack of support for `eth_call`, `eth_estimateGas` and `debug_traceTransaction

benjamincburns (Sat, 29 Sep 2018 01:52:05 GMT):
oh, I said there's been no modification to truffle necessary - but also no modification to seth has been necessary, either... I do embed a JavaScript EVM in the `truffle-sawtooth-seth-provider` to work around the lack of support for `eth_call`, `eth_estimateGas` and `debug_traceTransaction`, however - so it's far from trivial :-)

DebayanDey (Sun, 30 Sep 2018 10:29:26 GMT):
Has joined the channel.

Rexcirus (Sun, 30 Sep 2018 10:35:22 GMT):
Has joined the channel.

Rexcirus (Sun, 30 Sep 2018 10:35:57 GMT):
Hi there, I'm not able to complete the getting started of seth, in particular to create an account (I get error 2)

Rexcirus (Sun, 30 Sep 2018 10:36:03 GMT):
here's the details:

Rexcirus (Sun, 30 Sep 2018 10:36:16 GMT):
https://stackoverflow.com/questions/52577048/hyperledger-sawtooth-seth-getting-started-error-2

benjamincburns (Mon, 01 Oct 2018 07:01:02 GMT):
@knkski Apologies for the late-night message - I assume you'll get to this during normal working hours... I'm running into a bit of a roadblock... Is there any way to determine that a transaction has been processed but failed due to a runtime error in the vm? In Core Ethereum we expect to be able to get back a receipt for transactions which submitted without error, but which suffered some runtime error in the EVM (e.g. `REVERT` opcode... It looks like Sawtooth doesn't give a receipt in this case? `eth_getTransactionReceipt` perpetually returns `null` and the REST api `/receipts?id=...` endpoint comes back with `Transaction Receipt Not Found`. If there isn't any way to determine whether a transaction finished processing unsuccessfully, the best I can do as a workaround is to implement some kind of timeout, but I fear that this will be unreliable and may cause duplicate transaction submissions in cases when the network is busy...

benjamincburns (Mon, 01 Oct 2018 07:01:02 GMT):
@knkski Apologies for the late-night message - I assume you'll get to this during normal working hours... I'm running into a bit of a roadblock... Is there any way to determine that a transaction has been processed but failed due to a runtime error in the EVM? In Core Ethereum we expect to be able to get back a receipt for transactions which submitted without error, but which suffered some runtime error in the EVM (e.g. `REVERT` opcode... It looks like Sawtooth doesn't give a receipt in this case? `eth_getTransactionReceipt` perpetually returns `null` and the REST api `/receipts?id=...` endpoint comes back with `Transaction Receipt Not Found`. If there isn't any way to determine whether a transaction finished processing unsuccessfully, the best I can do as a workaround is to implement some kind of timeout, but I fear that this will be unreliable and may cause duplicate transaction submissions in cases when the network is busy...

knkski (Mon, 01 Oct 2018 14:02:43 GMT):
@benjamincburns: I'd expect that you'd be able to get a transaction receipt even if a runtime error were encountered - is there any relevant output from the docker containers?

knkski (Mon, 01 Oct 2018 14:03:37 GMT):
If you've got a shareable reproducible test case, it would be great if you could open a ticket with that

knkski (Mon, 01 Oct 2018 14:13:30 GMT):
@Rexcirus: You'll need to `docker exec` into the `seth-cli-go` docker container to run the commands in the documentation

knkski (Mon, 01 Oct 2018 14:13:42 GMT):
This PR should eliminate that confusion: https://github.com/hyperledger/sawtooth-seth/pull/75

knkski (Mon, 01 Oct 2018 14:19:58 GMT):
Could I get a review on https://github.com/hyperledger/sawtooth-seth/pull/75?

knkski (Mon, 01 Oct 2018 14:20:28 GMT):
cc @adamludvik @dplumb @amundson @pschwarz ^^

knkski (Mon, 01 Oct 2018 15:44:01 GMT):
@benjamincburns: Will there be a video for your demo posted somewhere after trufflecon?

adamludvik (Mon, 01 Oct 2018 15:49:53 GMT):
@knkski approved

benjamincburns (Mon, 01 Oct 2018 15:55:55 GMT):
@knkski - https://jira.hyperledger.org/browse/STL-1460

benjamincburns (Mon, 01 Oct 2018 15:56:15 GMT):
sorry no output yet - I'm on my way to go pick up some teammates for our pre-trufflecon retreat

benjamincburns (Mon, 01 Oct 2018 15:56:55 GMT):
I'm not sure whether we're recording demos or not - if we don't I'll easily be able to record something myself using OBS, or we can always hop on zoom and I'll run through it live for you :-)

benjamincburns (Mon, 01 Oct 2018 15:57:57 GMT):
@knkski I'll do my best to update that issue with a repro project and TP output ASAP

benjamincburns (Mon, 01 Oct 2018 15:58:20 GMT):
that's the only place I think I was seeing anything - my guess is the TP is considering the batch failed

knkski (Mon, 01 Oct 2018 15:58:54 GMT):
makes sense. still weird that you're not seeing a transaction receipt

benjamincburns (Mon, 01 Oct 2018 15:59:32 GMT):
indeed - but if a block is never submitted... ¯\_(ツ)_/¯

benjamincburns (Mon, 01 Oct 2018 15:59:43 GMT):
anyway, I'm off - thanks in advance for any help you can offer!

carla (Tue, 02 Oct 2018 12:01:28 GMT):
Hi, I'm trying to send my transaction after deployed my contract but I have this error "Invalid transaction: EVM Error: Insufficient gas" can you help me please!

carla (Tue, 02 Oct 2018 12:01:28 GMT):
No i can't i m sorry. But my contract is very large and depends on other contracts. I tried to tested on remix ethereum and it works.

knkski (Tue, 02 Oct 2018 14:15:08 GMT):
@carla: Are you able to post the contract somewhere publicly accessible?

carla (Wed, 03 Oct 2018 09:08:13 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=3q2b3W6r7gNQ7TPF8) @knkski No i can't i m sorry. But my contract is very large and depends on other contracts. I tried to tested on remix ethereum and it works.

tracy (Wed, 03 Oct 2018 14:31:05 GMT):
Has joined the channel.

tracy (Wed, 03 Oct 2018 14:32:39 GMT):
Has left the channel.

benjamincburns (Thu, 04 Oct 2018 00:30:28 GMT):
I've googled around a bit and my google foo is failing me - by any chance is there an existing web frontend of any kind for sawtooth with chain visualization features (very minimal chain visualization is fine)?

benjamincburns (Thu, 04 Oct 2018 00:38:51 GMT):
https://github.com/hyperledger/sawtooth-explorer <-- someone pointed me at this -- I'll give it a try :-)

benjamincburns (Thu, 04 Oct 2018 02:09:55 GMT):
^ worked a treat

kelly_ (Sat, 06 Oct 2018 18:36:12 GMT):

trufflecon.jpg

kelly_ (Sat, 06 Oct 2018 18:36:51 GMT):
nice demo of truffle + sawtooth @benjamincburns !

jsmitchell (Sat, 06 Oct 2018 20:33:17 GMT):
@benjamincburns do you know if the demo was recorded?

dantrevino (Sun, 07 Oct 2018 09:26:00 GMT):
Has joined the channel.

carla (Sun, 07 Oct 2018 11:23:50 GMT):

Insufficient gas.png

knkski (Mon, 08 Oct 2018 19:15:07 GMT):
@carla: you may be able to pass `-g 100000` (or some other large number) into the CLI to fix that issue

mmartinez.blocknitive (Tue, 09 Oct 2018 07:45:10 GMT):
Has joined the channel.

carla (Tue, 09 Oct 2018 13:50:21 GMT):
@knkski ok thank you.

sandeepsethia62 (Thu, 11 Oct 2018 01:46:59 GMT):
Has joined the channel.

benjamincburns (Thu, 11 Oct 2018 21:35:07 GMT):
@knkski I managed to update this issue with repro steps https://jira.hyperledger.org/browse/STL-1460

benjamincburns (Thu, 11 Oct 2018 21:35:34 GMT):
you mentioned wanting to see the output from the issue - which process(es) are you interested in seeing?

benjamincburns (Thu, 11 Oct 2018 21:35:53 GMT):
I'm happy to hop on a zoom call to reproduce it as well if you want

benjamincburns (Thu, 11 Oct 2018 21:37:01 GMT):
@jsmitchell it was recorded, but I'm not sure when it'll be posted - I can easily do a quick-n-dirty OBS recording from home though if you want to see how it went

benjamincburns (Thu, 11 Oct 2018 21:38:08 GMT):
it was pretty bare bones, though - I just ran `truffle migrate` - demonstrated that it was working, and then fired up the petshop demo and "adopted" a pet (fires off a single transaction and uses `eth_call` to check whether or not pets in the store are adopted)

benjamincburns (Thu, 11 Oct 2018 21:38:14 GMT):
I didn't really show off any code or anything

benjamincburns (Thu, 11 Oct 2018 21:38:44 GMT):
if you want to take a crack at it yourself the code I used is here: https://github.com/benjamincburns/seths-petshop

benjamincburns (Thu, 11 Oct 2018 21:39:22 GMT):
just make sure to `npx webpack` after `truffle migrate` - and use `npx lite-server` to actually run the demo

benjamincburns (Thu, 11 Oct 2018 22:49:19 GMT):
I think I found the bug (updated the ticket w/ the info) - if there's an error from the `TransactionHandler` we bail early (line 107) before creating the receipt (line 114). https://github.com/hyperledger/sawtooth-seth/blob/master/processor/src/seth_tp/handler/handler.go#L105-L118

benjamincburns (Thu, 11 Oct 2018 22:54:12 GMT):
It looks like the code lumps in pre-execution transaction validation issues (e.g. bad nonce) with VM runtime errors

benjamincburns (Thu, 11 Oct 2018 22:56:43 GMT):
I've barely written any go, but I can take a crack at a PR to fix it... assuming I did fix it, I'm immediately lead to the question of how to indicate transaction failure in the resulting receipt. In Ethereum we have the `status` field (`status: 0x1` means the transaction executed successfully) - is it possible for a transaction processor to add arbitrary fields to the transaction receipt in sawtooth? If so, it seems like that'd be a good thing to have.

benjamincburns (Thu, 11 Oct 2018 22:56:43 GMT):
I've barely written any go, but I can take a crack at a PR to fix it... assuming I did fix it, I'm immediately lead to the question of how to indicate transaction failure in the resulting receipt. In Ethereum we have the `status` field ( `status: 0x1` means the transaction executed successfully) - is it possible for a transaction processor to add arbitrary fields to the transaction receipt in sawtooth? If so, it seems like that'd be a good thing to have.

benjamincburns (Thu, 11 Oct 2018 22:57:18 GMT):
I actually started looking into that, but it seems I'd have to edit all the protobuf definitions as well - I wasn't sure whether there was one authoritative source for them or not - if there was, I couldn't find it :-/

benjamincburns (Thu, 11 Oct 2018 23:43:51 GMT):
actually none of the above was all that bad, that is assuming my changes build :laughing:

benjamincburns (Fri, 12 Oct 2018 05:18:44 GMT):
I've submitted [a PR](https://github.com/hyperledger/sawtooth-seth/pull/77) for the above mentioned changes. I also added the missing `from` and `to` fields to the `SethTransactionReceipt` to make it more compatible with Core Ethereum's `eth_getTransactionReceipt` output. Sadly this still doesn't fix `truffle test`, but it's definitely a step closer.

benjamincburns (Fri, 12 Oct 2018 05:18:44 GMT):
I've submitted [a PR](https://github.com/hyperledger/sawtooth-seth/pull/77) for the above mentioned changes. I also added the missing `from` and `to` fields to the `SethTransactionReceipt` to make it more compatible with Core Ethereum's `eth_getTransactionReceipt` output. I updated tests & documentation where I could. Sadly this still doesn't fix `truffle test`, but it's definitely a step closer.

benjamincburns (Fri, 12 Oct 2018 05:22:07 GMT):
As of that PR, the only field missing from Seth's transaction receipt as compared to [Core Ethereum's transaction receipt](https://github.com/ethereum/wiki/wiki/JSON-RPC#example-31) is `logsBloom` - I'll see about adding that tomorrow.

benjamincburns (Fri, 12 Oct 2018 05:22:07 GMT):
As of that PR, the only field missing from Seth's transaction receipt as compared to [the Core Ethereum transaction receipt](https://github.com/ethereum/wiki/wiki/JSON-RPC#example-31) is `logsBloom` - I'll see about adding that tomorrow.

knkski (Fri, 12 Oct 2018 14:01:24 GMT):
@benjamincburns: awesome :clap: will take a look at the pr

knkski (Fri, 12 Oct 2018 14:16:06 GMT):
@benjamincburns: can you amend the commits for that pr and add the `--signoff` flag when amending? jenkins fails the build otherwise :(

benjamincburns (Fri, 12 Oct 2018 16:59:54 GMT):
@knkski will do - I may have one more commit to add later today, so best to hold off on merging anyway

benjamincburns (Fri, 12 Oct 2018 22:42:23 GMT):
@knkski good news - the latest `truffle-sawtooth-seth-provider` seems to work when ran against PR #77 with the exception of `truffle debug` -- will work on that one soon

benjamincburns (Fri, 12 Oct 2018 22:42:38 GMT):
will also signoff those commits and `push -f` now - no new commits were necessary today

benjamincburns (Fri, 12 Oct 2018 22:49:20 GMT):
@knkski ok - commits are now gpg signed, and signed off

sandeepsethia62 (Sat, 13 Oct 2018 14:36:19 GMT):
Has left the channel.

SumanPapanaboina (Sun, 14 Oct 2018 15:33:29 GMT):
Has joined the channel.

Dvi 19 (Mon, 15 Oct 2018 07:25:12 GMT):
Has joined the channel.

Dvi 19 (Mon, 15 Oct 2018 07:25:42 GMT):
Hi, I want to install seth on ubuntu 16.04 (not using docker), is it possible?

Dvi 19 (Mon, 15 Oct 2018 13:33:08 GMT):
sawtooth-seth

knkski (Mon, 15 Oct 2018 14:07:37 GMT):
@benjamincburns: Awesome, looks like there's just a small formatting fix then: ``` Incorrect formatting: /project/sawtooth-seth/processor/src/seth_tp/handler Do 'run_go_fmt fix' to fix ```

knkski (Mon, 15 Oct 2018 14:09:53 GMT):
@Dvi 19: Yeah, that's what seth is currently based on, so if you run the commands locally from the dockerfile of whichever service you're interested in running, it should work

Dvi 19 (Mon, 15 Oct 2018 15:03:56 GMT):
So I can use sawtooth-set without using docker

Dvi 19 (Mon, 15 Oct 2018 15:10:26 GMT):
sawtooth-seth sorry

knkski (Mon, 15 Oct 2018 15:20:25 GMT):
@Dvi 19: Yep

RealDeanZhao (Tue, 16 Oct 2018 02:54:16 GMT):
@Dvi 19 You can to get the sawtooth-seth binary in the container and run it locally on a ubuntu machine... BTW, is there an official apt pkg for sawtooth-seth tp?

Dvi 19 (Tue, 16 Oct 2018 07:30:02 GMT):
There are no binaries outside the container?

AngusHamill (Tue, 16 Oct 2018 10:45:57 GMT):
Has joined the channel.

AngusHamill (Tue, 16 Oct 2018 10:47:10 GMT):
Hi, don't know if I'm being incredibly stupid but I can't seem to get seth-rpc to recognise an alias I created in seth-rpc. Also when I go to `~/root/.sawtooth` on each container they seem to have different files?

AngusHamill (Tue, 16 Oct 2018 10:47:10 GMT):
Hi, don't know if I'm being incredibly stupid but I can't seem to get seth-rpc to recognise an alias I created in seth-cli-go. Also when I go to `~/root/.sawtooth` on each container they seem to have different files?

AngusHamill (Tue, 16 Oct 2018 10:47:41 GMT):
How do I get seth-rpc to see/unlock the account I createwd

AngusHamill (Tue, 16 Oct 2018 10:47:41 GMT):
How do I get seth-rpc to see/unlock the account I created

AngusHamill (Tue, 16 Oct 2018 10:47:45 GMT):
created*

Dvi 19 (Tue, 16 Oct 2018 13:29:16 GMT):
trying to execute the processor

Dvi 19 (Tue, 16 Oct 2018 13:29:17 GMT):
github.com/hyperledger/sawtooth-sdk-go/protobuf/events_pb2"

Dvi 19 (Tue, 16 Oct 2018 13:29:40 GMT):
cannot find package "github.com/hyperledger/sawtooth-sdk-go/protobuf/events_pb2"

Dvi 19 (Tue, 16 Oct 2018 16:09:08 GMT):
How can I install sawtooth-sdk-go?

AngusHamill (Thu, 18 Oct 2018 12:45:06 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=HHLhpM4DAGa34zjmi) I got this working by the way. I added `- sawtooth:/root/.sawtooth` to the volumes of `seth-cli-go` in `docker-compose.yaml`

AngusHamill (Thu, 18 Oct 2018 12:45:26 GMT):
Not sure if that's the right thing to do but at least I'm getting somewhere now

AngusHamill (Thu, 18 Oct 2018 12:46:07 GMT):
seem to be dealing with race conditions whenever I try to access web3.eth.accounts, has anyone dealt with this before? How do I make it async?

kc1116 (Tue, 23 Oct 2018 18:13:52 GMT):
Has joined the channel.

kc1116 (Tue, 23 Oct 2018 19:38:39 GMT):
can seth smart contracts communicate with contracts running on ethereum ?

knkski (Tue, 23 Oct 2018 19:56:47 GMT):
@kc1116: No, they're limited to the sawtooth network that they're running on

Dan (Tue, 23 Oct 2018 23:10:49 GMT):
@silasdavis if you are out of things to do (haha) FYI here's an RPC RFC https://github.com/hyperledger/sawtooth-rfcs/pull/22/files

benjamincburns (Wed, 24 Oct 2018 01:45:55 GMT):
@knkski I've reformatted that commit. Apologies for the long delay!

benjamincburns (Wed, 24 Oct 2018 18:08:10 GMT):
Looks like I have one or more test failures, but I keep running into issues getting tests to run locally... seems like the protobuf generation step is getting skipped for some reason? If I comment out `/*/src/messages/*.rs` and `!/*/src/messages/mod.rs` from the `.dockerignore` file it seems to get past that step, but then it hangs during the python RPC tests (`docker-compose -p 24d9bc1fd2cc53b2e30106c20a58154d765f69351e4df5d2f937b2feb489cd99 -f ./rpc/comp_seth_rpc.yaml up --abort-on-container-exit`) after outputting `seth-rpc_1 | [00:00:00.003] (139769657101184) INFO Starting seth-rpc on http://0.0.0.0:3030`

benjamincburns (Wed, 24 Oct 2018 18:08:10 GMT):
Looks like I have one or more test failures, but I keep running into issues getting tests to run locally... seems like the protobuf generation step is getting skipped for some reason? If I comment out `/*/src/messages/*.rs` and `!/*/src/messages/mod.rs` from the `.dockerignore` file it seems to get past that step, but then it hangs during the python RPC tests ( `docker-compose -p 24d9bc1fd2cc53b2e30106c20a58154d765f69351e4df5d2f937b2feb489cd99 -f ./rpc/comp_seth_rpc.yaml up --abort-on-container-exit` ) after outputting `seth-rpc_1 | [00:00:00.003] (139769657101184) INFO Starting seth-rpc on http://0.0.0.0:3030`

benjamincburns (Wed, 24 Oct 2018 18:10:30 GMT):
it looks like the hang actually [happened on Jenkins as well](https://build.sawtooth.me/job/Sawtooth-Hyperledger/job/sawtooth-seth/job/PR-77/6/), but then [a subsequent build](https://build.sawtooth.me/job/Sawtooth-Hyperledger/job/sawtooth-seth/job/PR-77/7/) mysteriously didn't hang :-/

benjamincburns (Wed, 24 Oct 2018 18:19:33 GMT):
not sure why, but running it with an `ISOLATION_ID` seems to have worked

benjamincburns (Wed, 24 Oct 2018 18:19:33 GMT):
not sure why, but running it with an `ISOLATION_ID` environment variable seems to have worked

benjamincburns (Wed, 24 Oct 2018 19:22:19 GMT):
ok, I think I figured out the nonsense with the protobuf file generation, the lines I mentioned above in the `.dockerignore` file should be `**/src/messages/*.rs` and `!**/src/messages/mod.rs`, respectively

benjamincburns (Wed, 24 Oct 2018 19:22:57 GMT):
I'm guessing it's behavior that has changed in recent (or not recent) docker versions, because it doesn't seem like Jenkins has any trouble with this

benjamincburns (Wed, 24 Oct 2018 19:23:23 GMT):
I'll submit another PR for that, though

benjamincburns (Wed, 24 Oct 2018 19:23:23 GMT):
I'll submit a separate PR for that, though

knkski (Wed, 24 Oct 2018 20:28:26 GMT):
weird. out of curiosity, what version of docker are you running?

knkski (Wed, 24 Oct 2018 20:32:07 GMT):
when the hang happens for you locally, is there output from the `comp-seth-rpc` container? I'm not seeing any output from it in the failed Jenkins build

knkski (Wed, 24 Oct 2018 20:34:17 GMT):
It's possible that the building of the container takes too long, and forces `seth-rpc` to time out. if you can reproduce it locally, does it help to add `depends_on:\n - comp-seth-rpc` to the `seth-rpc` container in `rpc/comp_seth_rpc.yaml`?

prithvikp (Thu, 25 Oct 2018 15:41:03 GMT):
Has joined the channel.

prithvikp (Fri, 26 Oct 2018 02:15:14 GMT):
hi @benjamincburns are we planning to put it as a tp like sabre so that we can use it

benjamincburns (Mon, 29 Oct 2018 09:28:54 GMT):
@knkski sorry I missed your questions the other day. I'm in Prague at the moment for Devcon so I'm afraid I'm unable to troubleshoot much. That said, here's the output of `docker version`: ```Client: Version: 18.06.1-ce API version: 1.38 Go version: go1.10.3 Git commit: e68fc7a Built: Tue Aug 21 17:24:51 2018 OS/Arch: linux/amd64 Experimental: false Server: Engine: Version: 18.06.1-ce API version: 1.38 (minimum version 1.12) Go version: go1.10.3 Git commit: e68fc7a Built: Tue Aug 21 17:23:15 2018 OS/Arch: linux/amd64 Experimental: false``` and here's the output of `docker-compose version`: ```docker-compose version 1.17.1, build unknown docker-py version: 2.5.1 CPython version: 2.7.15rc1 OpenSSL version: OpenSSL 1.1.0g 2 Nov 2017```

benjamincburns (Mon, 29 Oct 2018 09:28:54 GMT):
@knkski sorry I missed your questions the other day. I'm in Prague at the moment for Devcon so I'm afraid I'm unable to troubleshoot much. That said, here's the output of `docker version`: ```Client: Version: 18.06.1-ce API version: 1.38 Go version: go1.10.3 Git commit: e68fc7a Built: Tue Aug 21 17:24:51 2018 OS/Arch: linux/amd64 Experimental: false Server: Engine: Version: 18.06.1-ce API version: 1.38 (minimum version 1.12) Go version: go1.10.3 Git commit: e68fc7a Built: Tue Aug 21 17:23:15 2018 OS/Arch: linux/amd64 Experimental: false``` and here's the output of `docker-compose version`: ```docker-compose version 1.17.1, build unknown docker-py version: 2.5.1 CPython version: 2.7.15rc1 OpenSSL version: OpenSSL 1.1.0g 2 Nov 2017```

benjamincburns (Mon, 29 Oct 2018 09:29:35 GMT):
I'll submit the PR for the `.dockerignore` change that makes things work for me now, though - I haven't seen tests hang since I made that change

Dvi 19 (Mon, 29 Oct 2018 14:24:13 GMT):
I wan to start using sawtooth-seth (without docker)

Dvi 19 (Mon, 29 Oct 2018 14:24:16 GMT):
want

Dvi 19 (Mon, 29 Oct 2018 14:24:29 GMT):
I have the seth-transaction processor running

Dvi 19 (Mon, 29 Oct 2018 14:24:49 GMT):
must I have also the seth-rpc running in all my nodes?

knkski (Mon, 29 Oct 2018 14:33:28 GMT):
@Dvi 19: If you use the Go CLI, you won't need the RPC server running, as it talks to the rest api. Otherwise, you will need the RPC service running

Dvi 19 (Mon, 29 Oct 2018 14:34:56 GMT):
so seth-rpc is not mandatory

Dvi 19 (Mon, 29 Oct 2018 14:36:42 GMT):
is this the go-cli? https://github.com/hyperledger/sawtooth-seth/tree/master/cli-go/src/seth_cli/cli

knkski (Mon, 29 Oct 2018 14:36:59 GMT):
yeah

Dvi 19 (Mon, 29 Oct 2018 14:38:29 GMT):
there are two folders inside (client and cli)

Dvi 19 (Mon, 29 Oct 2018 14:38:37 GMT):
what are the differences?

knkski (Mon, 29 Oct 2018 14:39:03 GMT):
`cli` is code related to parsing CLI arguments, `client` is code related to talking to the Rest API

Dvi 19 (Mon, 29 Oct 2018 14:39:12 GMT):
ok

Dvi 19 (Mon, 29 Oct 2018 14:40:28 GMT):
any documentation about this cli is available?

knkski (Mon, 29 Oct 2018 14:42:57 GMT):
The best documentation is either reading the source, or doing `seth --help`. There's documentation here, which is just a dumped version of passing in `--help` to all of the seth subcommands: https://sawtooth.hyperledger.org/docs/seth/releases/latest/cli_reference.html

Dvi 19 (Mon, 29 Oct 2018 15:01:24 GMT):
how can I get the binary of seth to run commands?

knkski (Mon, 29 Oct 2018 15:02:31 GMT):
adapting the commands from the dockerfile will be your best bet: https://github.com/hyperledger/sawtooth-seth/blob/master/cli-go/Dockerfile

ra_w (Tue, 30 Oct 2018 07:05:14 GMT):
Has joined the channel.

Dvi 19 (Tue, 30 Oct 2018 15:51:55 GMT):
what is the "gas" used for in sawtooth seth?

Dvi 19 (Tue, 30 Oct 2018 15:52:01 GMT):
is it unlimited?

knkski (Tue, 30 Oct 2018 17:47:48 GMT):
@Dvi 19: It is limited, to prevent endless loops, but you can set it to an arbitrary number by passing in `-g NUM` to the CLI commands

Dvi 19 (Tue, 30 Oct 2018 21:48:26 GMT):
Gas is only used to create contracts?

jsmitchell (Tue, 30 Oct 2018 21:52:16 GMT):
In ethereum, gas is used to pay for the execution of contracts. In addition to creating an economic cost for using the resources of other people's computers, deterministic halting of a contract after a fixed amount of resource is spent is a very nice characteristic. For seth, we have a overall platform gas limit per contract.

Dvi 19 (Tue, 30 Oct 2018 22:05:26 GMT):
What happens when gas is 0?

jsmitchell (Tue, 30 Oct 2018 22:11:56 GMT):
no contracts would run?

jsmitchell (Tue, 30 Oct 2018 22:12:25 GMT):
i don't believe 0 == unlimited

jsmitchell (Tue, 30 Oct 2018 22:12:41 GMT):
that's undesirable anyway

chainsaw (Wed, 31 Oct 2018 14:31:36 GMT):
Has joined the channel.

prithvikp (Wed, 31 Oct 2018 19:01:01 GMT):
I am having trouble running seth as per instructions

prithvikp (Wed, 31 Oct 2018 19:01:09 GMT):
error[E0583]: file not found for module `messages` --> src/main.rs:48:5

prithvikp (Wed, 31 Oct 2018 19:01:15 GMT):
failed on rpc module

silasdavis (Fri, 02 Nov 2018 12:23:10 GMT):
@Dan @knkski dropped a review that RFC - LGTM

silasdavis (Fri, 02 Nov 2018 12:23:21 GMT):
one related comment that doesn't belong on that PR

silasdavis (Fri, 02 Nov 2018 12:24:07 GMT):
have you considered supporting sendRawTransaction?

silasdavis (Fri, 02 Nov 2018 12:25:15 GMT):
this would be a pain no doubt since you'd have verify in secp256k1 and so have a way of storing that public key against an account then deserialise in RLP

silasdavis (Fri, 02 Nov 2018 12:25:42 GMT):
but when I've thought about this in the past for Burrow it would be doable (though we do support secp256k1 natively - perhaps you do too?

silasdavis (Fri, 02 Nov 2018 12:26:11 GMT):
given your web3 support is getting pretty fleshed out supporting this call would allow you to interact with client-side wallet implementations like metamask

knkski (Fri, 02 Nov 2018 13:39:23 GMT):
@silasdavis: Thanks for the review :+1:

knkski (Fri, 02 Nov 2018 13:41:11 GMT):
I haven't really yet delved into it to figure out how much work it would be, but yeah it would be nice to support sendRawTransaction

knkski (Fri, 02 Nov 2018 13:42:11 GMT):
The signing library supports secp256k1, so that shouldn't be too difficult

Dan (Fri, 02 Nov 2018 18:51:18 GMT):
yeah, thanks for review! our signing library(ies) handles secp256k1 natively so doesn't seem like that would be a stumbling point. All of our 'traditional' transaction families require native signing.

Dvi 19 (Mon, 05 Nov 2018 14:25:04 GMT):
Hi

kodonnel (Tue, 06 Nov 2018 00:31:38 GMT):
Has joined the channel.

kodonnel (Tue, 06 Nov 2018 00:32:21 GMT):
Would appreciate a review of PR-80 (https://github.com/hyperledger/sawtooth-seth/pull/80)

kodonnel (Tue, 06 Nov 2018 00:32:46 GMT):
minor changes to compose files

ra_w (Tue, 06 Nov 2018 11:42:35 GMT):
how to communicate with public ethereum contracts?

ikinique (Tue, 06 Nov 2018 21:43:57 GMT):
Has joined the channel.

kaushikmehta (Tue, 06 Nov 2018 22:58:50 GMT):
Has joined the channel.

kaushikmehta (Tue, 06 Nov 2018 23:23:57 GMT):
Has anyone been able to call contract functions deployed on seth-rpc using a front-end? Any resources you can point me to?

fupeng (Wed, 07 Nov 2018 04:21:56 GMT):
Has joined the channel.

fahad.suhaib (Sat, 10 Nov 2018 18:14:31 GMT):
Has joined the channel.

fahad.suhaib (Sat, 10 Nov 2018 18:15:31 GMT):
Hello, We are trying to use truffle with seth and getting following issues, Running migration: 1_initial_migration.js > { > "jsonrpc": "2.0", > "id": 1, > "method": "eth_accounts", > "params": [] > } Could not connect to your Ethereum client. Please check that your Ethereum client: - is running - is accepting RPC connections (i.e., "--rpc" option is used in geth) - is accessible over the network - is properly configured in your Truffle configuration file (truffle.js)

fahad.suhaib (Sat, 10 Nov 2018 18:16:24 GMT):
to workaround this, deployed the contract directly, and then intermittently I'm seeing the following issue in seth-rpc, [07:31:52.281] (140551718430464) ERROR Account with address `390f844a60665a0230893d7e3dd535f42c2cda6d` not found. [07:31:52.282] (140551718430464) ERROR NoResource [07:32:06.213] (140551718430464) ERROR Account with address `390f844a60665a0230893d7e3dd535f42c2cda6d` not found. [07:32:06.214] (140551718430464) ERROR NoResource

fahad.suhaib (Sat, 10 Nov 2018 18:16:37 GMT):
390f844a60665a0230893d7e3dd535f42c2cda6d --> This is my user I created for testing

fahad.suhaib (Sat, 10 Nov 2018 18:16:43 GMT):
* user address I mean

fahad.suhaib (Sat, 10 Nov 2018 18:18:42 GMT):
Its only happening once in 5 tx's with web3.js, with curl more like 2 out of 10 times it fails with an internal server error

fahad.suhaib (Sat, 10 Nov 2018 18:18:49 GMT):
Please let me know,

kelly_ (Mon, 12 Nov 2018 17:33:20 GMT):
@fahad.suhaib - have you seen this: https://github.com/trufflesuite/truffle/tree/next/packages/truffle-sawtooth-seth-provider

fahad.suhaib (Tue, 13 Nov 2018 10:14:30 GMT):
@kelly_ Thanks, will check it out, certainly looks useful

suggudarbe (Wed, 14 Nov 2018 05:45:39 GMT):
Has joined the channel.

suggudarbe (Wed, 14 Nov 2018 05:45:58 GMT):
Hello Team, how to communicate with public ethereum contracts?

Dvi 19 (Wed, 14 Nov 2018 15:09:15 GMT):
Hi, how can I get the gas amount of the peers?

Dvi 19 (Wed, 14 Nov 2018 15:09:30 GMT):
can we use seth with infinite gas?

Dvi 19 (Wed, 14 Nov 2018 15:09:38 GMT):
what happens if gas is 0?

Dvi 19 (Wed, 14 Nov 2018 15:09:43 GMT):
thanks

Ceit_E (Sat, 17 Nov 2018 20:27:50 GMT):
Has joined the channel.

ra_w (Sun, 18 Nov 2018 15:35:02 GMT):
can anyone guide me on how to submit transaction to seth from node sdk

Ceit_E (Sun, 18 Nov 2018 23:26:19 GMT):
Greetings all - I'm having a lot of difficulty after the update from 3 days ago. If I create a password -encrypted keyfile.pem and attempt to unlock the alias when binding my seth-rpc to my validator node, it returns the error that "A password is required for encrypted keys!" but fails to ever prompt me for the password; and when I tested a keyfile.pem without password, it fails to find the account/address altogether.

JayeshJawale2 (Mon, 19 Nov 2018 09:12:54 GMT):
Has joined the channel.

knkski (Mon, 19 Nov 2018 15:48:00 GMT):
@Ceit_E: Can you post the RPC command that you're running?

Ceit_E (Mon, 19 Nov 2018 16:02:34 GMT):
I'm using the command from the documentation: ``` seth-rpc --connect tcp://validator:4004 --bind 0.0.0.0:3030 --unlock myAlias ```

Ceit_E (Mon, 19 Nov 2018 16:05:05 GMT):
I also had to edit the docker-compose.yaml to add "- sawtooth:/root/.sawtooth" to the seth-cli-go volumes, as otherwise the .pem created there isn't visible to the other containers.

knkski (Mon, 19 Nov 2018 16:11:18 GMT):
@Ceit_E: you'll need to either pass in the `--pass-file` argument along with the `--unlock` argument, or pass in both when making the unlock RPC call

Ceit_E (Mon, 19 Nov 2018 16:11:59 GMT):
Okay. Can the documentation please be updated to reflect that?

knkski (Mon, 19 Nov 2018 16:16:59 GMT):
@Ceit_E: Sure, would you be able to open a bug here? https://jira.hyperledger.org/projects/STL/issues

knkski (Mon, 19 Nov 2018 16:17:36 GMT):
(you can create a login here: https://identity.linuxfoundation.org/)

Ceit_E (Mon, 19 Nov 2018 16:32:20 GMT):
Awesome, thanks. I have a Linux ID already.

Ceit_E (Mon, 19 Nov 2018 16:42:42 GMT):
Could you give me an example of the full syntax using --pass-file? I'm getting this error when trying to include it with the unlock command above: ``` error: Found argument '--pass-file' which wasn't expected, or isn't valid in this context USAGE: seth-rpc --bind --connect --unlock ... ```

knkski (Mon, 19 Nov 2018 16:45:56 GMT):
sorry, it looks like you can't specify a pass file when starting the RPC service, but you should be able to run `seth-cli account unlock` and pass in the account name and pass file to unlock the account

Ceit_E (Mon, 19 Nov 2018 17:02:50 GMT):
From which container?

Ceit_E (Mon, 19 Nov 2018 17:05:01 GMT):
I get: `` bash: seth-cli: command not found ``` when I run the command from seth-rpc, seth-cli, and seth-cli-go. ```

Ceit_E (Mon, 19 Nov 2018 17:05:01 GMT):
I get: `` bash: seth-cli: command not found ``` when I run the command from seth-rpc, seth-cli, and seth-cli-go.

Ceit_E (Mon, 19 Nov 2018 17:05:01 GMT):
I get: ``` bash: seth-cli: command not found ``` when I run the command from seth-rpc, seth-cli, and seth-cli-go.

knkski (Mon, 19 Nov 2018 17:21:55 GMT):
you'll want to run it from the `seth-cli` container, and it probably needs to get built first. you can use `cargo` to run it, which will ensure that it's built: `cargo run -p seth-cli account unlock`

Ceit_E (Mon, 19 Nov 2018 17:38:20 GMT):
It was built with the initial `docker-compose up --build` command, and is running. I can `docker exec -it seth-cli bash ` into it, but get the same error there as above: ``` bash: seth-cli: command not found ```

knkski (Mon, 19 Nov 2018 17:49:21 GMT):
Try running it with `cargo run -p seth-cli account unlock`

Ceit_E (Mon, 19 Nov 2018 17:52:04 GMT):
``` Error: invalid type: integer `404`, expected struct JsonRpcResponse at line 1 column 4 ```

Ceit_E (Mon, 19 Nov 2018 17:54:19 GMT):
What was the reason for removing the password prompt when running the original unlock command from `seth-rpc`?

Ceit_E (Mon, 19 Nov 2018 17:57:45 GMT):
I ask because I've just spent the past three weeks putting together a workshop and demo for a hackathon this past weekend. I was working with the previous version of Seth, and my attendees cloned the current version for their environment setup. We discovered the issue when it became apparent that the workshop was now pointless and no one was going to be able to build their hackathon prototypes using Sawtooth-Seth in its current state. Somewhat disappointing...

Ceit_E (Mon, 19 Nov 2018 18:21:32 GMT):
That `404` is coming from the `rest-api` ``` seth-cli-go | Initializing seth to communicate with http://rest-api:8080 rest-api | [2018-11-19 17:51:27.310 INFO helpers] POST / HTTP/1.1: 404 status, 172 size, in 0.000412 s ```

knkski (Mon, 19 Nov 2018 18:24:21 GMT):
@Ceit_E: For workshops and demonstration purposes, you can just use unencrypted keys, which won't have this issue. Otherwise, that error looks like you may need to configure the path to the RPC API for seth-cli (it shouldn't be talking to the rest-api at all)

knkski (Mon, 19 Nov 2018 18:25:12 GMT):
something like this: `cargo run -p seth-cli config init --url http://seth-rpc:3030/`

Ceit_E (Mon, 19 Nov 2018 19:30:33 GMT):
Great, thanks so much! It's almost working. I'm getting an "account not found" error now, and running `seth account list` multiple times will return `[]` two times out of three, but I'll keep poking at it.

knkski (Mon, 19 Nov 2018 22:34:08 GMT):
that sounds like a good bug to open an issue for if you can reproduce it and post output from docker for it

RaphaelChua (Mon, 19 Nov 2018 23:44:46 GMT):
Has joined the channel.

JayeshBairagi (Tue, 20 Nov 2018 05:15:55 GMT):
Has joined the channel.

smga3000 (Tue, 20 Nov 2018 17:58:47 GMT):
Has joined the channel.

ra_w (Wed, 21 Nov 2018 06:54:01 GMT):
`Error: Problem submitting account creation transaction: Transaction was submitted, but client timed out before it was committed.`

ra_w (Wed, 21 Nov 2018 06:54:01 GMT):
`Error: Problem submitting account creation transaction: Transaction was submitted, but client timed out before it was committed.` I am getting this error while creating an account in seth. is there any solution for this?

knkski (Wed, 21 Nov 2018 15:10:53 GMT):
@ra_w: can you post the commands that you're running that are causing this?

Dvi 19 (Wed, 21 Nov 2018 15:29:09 GMT):
where can we locate examples of sawtooth-sabre contracts?

Dvi 19 (Wed, 21 Nov 2018 15:29:09 GMT):
where can we locate examples of sawtooth-seth contracts?

knkski (Wed, 21 Nov 2018 15:38:56 GMT):
@Dvi 19: Here are some examples: https://github.com/hyperledger/sawtooth-seth/tree/master/contracts/examples

ra_w (Thu, 22 Nov 2018 04:54:38 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=ypXPLvXYm4gXFPCc4) @knkski `seth account create --nonce=0 --wait myalias ` I am following this https://sawtooth.hyperledger.org/docs/seth/releases/latest/getting_started.html Initially, it was working fine. When this error was coming, there were no logs in Docker containers for transaction processor, it may be the issue with tp. Now I have restarted containers and its working fine.

ra_w (Thu, 22 Nov 2018 07:16:16 GMT):
@knkski @Dan If the client is running, I am getting this error after some time(don't know exact time) for every transaction I run. transaction returns timeout instantly they are fired. `Error: Problem submitting account creation transaction: Transaction was submitted, but client timed out before it was committed.` Is there anything I need to update or something. I am getting this error while this command now, earlier it was while creating account: `seth contract create myalias {contract-hex}`

ra_w (Thu, 22 Nov 2018 07:16:16 GMT):
@knkski @Dan If the client is running, I am getting this error after some time(don't know exact time) for every transaction I run. any transaction returns timeout. `Error: Problem submitting account creation transaction: Transaction was submitted, but client timed out before it was committed.` Is there anything I need to update or something. I am getting this error while this command now, earlier it was while creating account: `seth contract create myalias {contract-hex}`

Dvi 19 (Thu, 22 Nov 2018 11:45:10 GMT):
I have deployed an smart contract in sawtooth seth, how can I use a listener to receive data?

Dvi 19 (Thu, 22 Nov 2018 11:45:25 GMT):
how can I connect a listener?

Dvi 19 (Thu, 22 Nov 2018 13:52:04 GMT):
Another question, does seth use the sawtooth REST API

Dvi 19 (Thu, 22 Nov 2018 13:52:05 GMT):
?

Dvi 19 (Thu, 22 Nov 2018 14:09:00 GMT):
and about seth cli: can we specify the ip address and port of the validator?

Dvi 19 (Thu, 22 Nov 2018 14:09:00 GMT):
and about seth cli: can we specify the ip address and port of the validator? @KennethTan

gititGoro (Thu, 22 Nov 2018 14:50:28 GMT):
Has joined the channel.

gititGoro (Thu, 22 Nov 2018 14:51:50 GMT):
Hi I have an error with only one google result and no one has offered a solution. I only know that one person in Korea has the same problem: Environmental details (virtual, physical, etc.): 12 GB RAM, 256 GB SSD, Docker 18.0.3 Reproduction: run $ docker-compose from the sawtooth-seth folder (or the first time) $ docker-up up --build. If everything works fine, run $ docker ps to get the container ID for seth-rpc. Shell in container at another terminal $ docker exec -it seth-rpc bash Run the following command once. openssl ecparam -genkey -name secp256k1 | openssl ec -out alias.pem -aes128 Get Seth account alias.pem alias Create seth account --nonce = 0 - Wait alias Ask for password At this point, you want to unlock the alias to start seth-rpc. seth-rpc --unlock alias Actual Result: An error occurs. - Alias ​​not found in data directory. Expected Result - You must unlock the alias.

gititGoro (Thu, 22 Nov 2018 14:51:50 GMT):
Hi I have an error with only one google result and no one has offered a solution. I only know that one person in Korea has the same problem: Environmental details (virtual, physical, etc.): 12 GB RAM, 256 GB SSD, Docker 18.0.3 Reproduction: run $ docker-compose from the sawtooth-seth folder (or the first time) $ docker-up up --build. If everything works fine, run $ docker ps to get the container ID for seth-rpc. Shell in container at another terminal $ docker exec -it seth-rpc bash Run the following command once. openssl ecparam -genkey -name secp256k1 | openssl ec -out alias.pem -aes128 Get Seth account alias.pem alias Create seth account --nonce = 0 - Wait alias Ask for password At this point, you want to unlock the alias to start seth-rpc. seth-rpc --unlock alias Actual Result: An error occurs. - Alias ​​not found in data directory.

Dvi 19 (Fri, 23 Nov 2018 06:49:51 GMT):
https://sawtooth.hyperledger.org/docs/seth/releases/latest/getting_started.html#getting-seth

Dvi 19 (Fri, 23 Nov 2018 06:49:51 GMT):
https://sawtooth.hyperledger.org/docs/seth/releases/latest/getting_started.html#getting-seth @gititGoro

Dvi 19 (Fri, 23 Nov 2018 07:58:32 GMT):
like in sawtooth, is there any way in sawtooth-seth to explore all the blocks and read "the payload" or similar?

Dvi 19 (Fri, 23 Nov 2018 07:58:32 GMT):
is there any way in sawtooth-seth to personalize the payload in an execution of a smart contract? @knkski

Dvi 19 (Fri, 23 Nov 2018 08:52:10 GMT):

Clipboard - November 23, 2018 9:52 AM

Dvi 19 (Fri, 23 Nov 2018 08:53:00 GMT):
this is a block with an execution of a smart contract in sawtooth-seth. How can I get the function name called in this contract?

Dvi 19 (Fri, 23 Nov 2018 08:53:00 GMT):
this is a block with an execution of a smart contract in sawtooth-seth. How can I get the function name called in this contract? @knkski

Dvi 19 (Fri, 23 Nov 2018 11:07:10 GMT):
if we want to modify an smart contract, how can be done?

Dvi 19 (Fri, 23 Nov 2018 11:07:10 GMT):
if we want to modify an smart contract, how can be done? (withouth specify in the nodes a new contract address)

aKesav (Sat, 24 Nov 2018 08:20:08 GMT):
Has joined the channel.

RaphaelChua (Mon, 26 Nov 2018 04:50:38 GMT):
hi there

RaphaelChua (Mon, 26 Nov 2018 04:50:45 GMT):
anybody know this error?

RaphaelChua (Mon, 26 Nov 2018 04:51:02 GMT):
root@78df2e072648:/project/sawtooth-seth# seth show account 626db0c66d3bbdee9b80d4dd80c311614ec41530 Error: Couldn't get data at [98 109 176 198 109 59 189 238 155 128 212 221 128 195 17 97 78 196 21 48]: Get http://rest-api:8008/state/a68b06626db0c66d3bbdee9b80d4dd80c311614ec41530000000000000000000000000: dial tcp 172.29.0.6:8008: connect: connection refused

Dvi 19 (Mon, 26 Nov 2018 11:15:41 GMT):
is there anybody in this chat?

Dvi 19 (Mon, 26 Nov 2018 12:36:02 GMT):
is it possible to call a contract from another contract in seth?

Dvi 19 (Mon, 26 Nov 2018 12:53:46 GMT):
is is possible to configure the payload of a transaction in seth?

knkski (Mon, 26 Nov 2018 15:24:54 GMT):
@Dvi 19: yeah, it is possible to call another contract from a contract, you'll want to make sure that contract chaining is enabled

knkski (Mon, 26 Nov 2018 15:25:10 GMT):
what exactly do you mean by configuring the payload of a transaction?

Dvi 19 (Mon, 26 Nov 2018 16:10:29 GMT):
@knkski using sawtooth transaction processors, you can set the payload of a transaction

Dvi 19 (Mon, 26 Nov 2018 16:10:40 GMT):
is this possible using seth?

Dvi 19 (Mon, 26 Nov 2018 16:12:12 GMT):

Clipboard - November 26, 2018 5:12 PM

Dvi 19 (Mon, 26 Nov 2018 16:12:48 GMT):
for example, using transaction processor, my payload is:

Dvi 19 (Mon, 26 Nov 2018 16:12:48 GMT):
for example, using transaction processors (not smart contracts), my payload is:

Dvi 19 (Mon, 26 Nov 2018 16:13:25 GMT):
for example: "transfer 200 account1 account2 26-11-2018"

Dvi 19 (Mon, 26 Nov 2018 16:14:01 GMT):
If I read all the transactions in the ledger, using this payload I can rebuild my transactions database

Dvi 19 (Mon, 26 Nov 2018 16:15:50 GMT):
Now, I want to use smart contracts instead of transaction processors

knkski (Mon, 26 Nov 2018 16:17:41 GMT):
@Dvi 19: You wouldn't want to directly set the transaction payload like that. A Seth payload is a protobuf-serialized SethTransaction: https://github.com/hyperledger/sawtooth-seth/blob/master/protos/seth.proto#L57

Dvi 19 (Mon, 26 Nov 2018 16:18:22 GMT):
So, I cant personalize my payload?

knkski (Mon, 26 Nov 2018 16:19:45 GMT):
you could manually personalize the payload and submit a regular sawtooth transaction to the sawtooth rest api, but seth wouldn't then understand the transaction you send it

Dvi 19 (Mon, 26 Nov 2018 16:20:13 GMT):
ok

knkski (Mon, 26 Nov 2018 16:21:42 GMT):
if you're building on top of seth, you will want to use smart contracts, and have "transfer" be a contract address, and "200 account1 account2 26-11-2018" be arguments to the smart contract

knkski (Mon, 26 Nov 2018 16:22:48 GMT):
and you'll want to use "seth-cli contract call" to call the contract

Dvi 19 (Mon, 26 Nov 2018 17:12:52 GMT):
thanks @knkski . I am developing a simpleWallet application using smart contracts. I wan to store all my actions (deposit, transfer) in a relational database. So, imagine that I delete all the data in this relational database and I would like to rebuild this transactions database. Is it possible to read the seth transactions and get the action (deposit or transfer) executed in the smart contract?

Dvi 19 (Mon, 26 Nov 2018 17:12:52 GMT):
thanks @knkski . I am developing a simpleWallet application using smart contracts. I want to store all my actions (deposit, transfer) in a relational database. So, imagine that I delete all the data in this relational database and I would like to rebuild this transactions database. Is it possible to read the seth transactions and get the action (deposit or transfer) executed in the smart contract?

Dvi 19 (Mon, 26 Nov 2018 17:12:52 GMT):
thanks @knkski . I am developing a simpleWallet application using smart contracts. I want to store all my actions (deposit, transfer) in a relational database. So, imagine that I delete all the data in this relational database and I would like to rebuild this transactions database. Is it possible to read the seth transactions from the blockchain and get the action (deposit or transfer) executed in the smart contract?

knkski (Mon, 26 Nov 2018 17:26:24 GMT):
@Dvi 19: You'd want to go through each sawtooth transaction and parse the payload as a `SethTransaction`, then filter to only `MessageCallTxn` transaction types, and parse the `data` field as ethereum abi-encoded arguments, i.e. the reverse of the process listed at the bottom of this page: https://sawtooth.hyperledger.org/docs/seth/releases/latest/contracts.html

Dvi 19 (Mon, 26 Nov 2018 18:18:26 GMT):
thanks @knkski , so in seth there is not easy way to have a list of smart contracts executed with it parameters

Dvi 19 (Mon, 26 Nov 2018 18:19:34 GMT):
this is the function for encoding (for example) abi.simpleEncode("set(uint,uint)", "0x13", "0x2a").toString("hex") but what would be the function for "decoding"?

Dvi 19 (Mon, 26 Nov 2018 18:20:25 GMT):
Could I use this? https://github.com/ConsenSys/abi-decoder

knkski (Mon, 26 Nov 2018 18:20:56 GMT):
you should be able to use the same library listed in that documentation, and call `abi.simpleDecode`

knkski (Mon, 26 Nov 2018 18:21:17 GMT):
the link you sent would probably also work

Dvi 19 (Mon, 26 Nov 2018 18:21:47 GMT):
thanks @knkski I will try, greetings from spain

knkski (Mon, 26 Nov 2018 18:22:59 GMT):
:wave:

danintel (Mon, 26 Nov 2018 19:12:26 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=sZFQ4GHHX5kYTvh9F) @ra_w This usually happens if you did not have `--wait` on the command line, so the client to wait for the commit response. Another thing you can do is check that all the client services are running (listed in the docker-compose.yaml file if you are using Docker).

Dvi 19 (Mon, 26 Nov 2018 19:17:00 GMT):
where can I read the abi.simpleDecode api?

jsmitchell (Mon, 26 Nov 2018 19:17:59 GMT):
https://sawtooth.hyperledger.org/docs/seth/releases/latest/contracts.html#calling-contracts

jsmitchell (Mon, 26 Nov 2018 19:18:16 GMT):
`var abi = require('ethereumjs-abi')`

Dvi 19 (Mon, 26 Nov 2018 19:18:35 GMT):
simpleDecode, not simpleEncode :smiley:

jsmitchell (Mon, 26 Nov 2018 19:18:52 GMT):
https://www.npmjs.com/package/ethereumjs-abi

jsmitchell (Mon, 26 Nov 2018 19:18:56 GMT):
it's in the same library

jsmitchell (Mon, 26 Nov 2018 19:19:55 GMT):
https://www.npmjs.com/package/ethereumjs-abi#simple-encoding-and-decoding

Dvi 19 (Mon, 26 Nov 2018 19:21:36 GMT):
what is the "data" parameter of simpleDecode?

Dvi 19 (Mon, 26 Nov 2018 19:21:36 GMT):
var decoded = abi.simpleDecode("balanceOf(address):(uint256)", data)

knkski (Mon, 26 Nov 2018 19:38:54 GMT):
@Dvi 19: the data parameter of simpleDecode is an encoded argument list generated by simpleEncode (or compatible functions). So you could do something similar to this: `abi.simpleDecode(abi.simpleEncode("set(uint,uint)", "0x13", "0x2a").toString("hex"))`

knkski (Mon, 26 Nov 2018 19:39:32 GMT):
Otherwise, you'd pass it the contents of the `data` field in a `SethTransaction`

Dvi 19 (Mon, 26 Nov 2018 19:40:28 GMT):
> abi.simpleEncode("set(uint,uint)", "0x13", "0x2a").toString("hex") '1ab06ee50000000000000000000000000000000000000000000000000000000000000013000000000000000000000000000000000000000000000000000000000000002a' > abi.simpleDecode("set(uint,uint)", "1ab06ee50000000000000000000000000000000000000000000000000000000000000013000000000000000000000000000000000000000000000000000000000000002a") Error: No return values in method at Function.ABI.simpleDecode (/home/cener/node_modules/ethereumjs-abi/lib/index.js:391:11)

Dvi 19 (Mon, 26 Nov 2018 19:40:28 GMT):
> abi.simpleEncode("set(uint,uint)", "0x13", "0x2a").toString("hex") '1ab06ee50000000000000000000000000000000000000000000000000000000000000013000000000000000000000000000000000000000000000000000000000000002a' > abi.simpleDecode("set(uint,uint)", "1ab06ee50000000000000000000000000000000000000000000000000000000000000013000000000000000000000000000000000000000000000000000000000000002a") Error: No return values in method at Function.ABI.simpleDecode (/home/user/node_modules/ethereumjs-abi/lib/index.js:391:11)

Dvi 19 (Mon, 26 Nov 2018 19:41:14 GMT):
> abi.simpleDecode(abi.simpleEncode("set(uint,uint)", "0x13", "0x2a").toString("hex")) TypeError: Cannot read property 'length' of null at parseSignature (/home/cener/node_modules/ethereumjs-abi/lib/index.js:82:11) at Function.ABI.simpleDecode (/home/cener/node_modules/ethereumjs-abi/lib/index.js:387:13)

Dvi 19 (Mon, 26 Nov 2018 19:41:14 GMT):
> abi.simpleDecode(abi.simpleEncode("set(uint,uint)", "0x13", "0x2a").toString("hex")) TypeError: Cannot read property 'length' of null at parseSignature (/home/user/node_modules/ethereumjs-abi/lib/index.js:82:11) at Function.ABI.simpleDecode (/home/cener/node_modules/ethereumjs-abi/lib/index.js:387:13)

Dvi 19 (Mon, 26 Nov 2018 19:41:14 GMT):
> abi.simpleDecode(abi.simpleEncode("set(uint,uint)", "0x13", "0x2a").toString("hex")) TypeError: Cannot read property 'length' of null at parseSignature (/home/user/node_modules/ethereumjs-abi/lib/index.js:82:11) at Function.ABI.simpleDecode (/home/user/node_modules/ethereumjs-abi/lib/index.js:387:13)

Dvi 19 (Mon, 26 Nov 2018 19:43:41 GMT):
I think simpleDecode needs two arguments at least

knkski (Mon, 26 Nov 2018 19:44:09 GMT):
you'll have to check the api docs for how to convert the output of `simpleEncode` into something that `simpleDecode` accepts. I unfortunately haven't used that function from the library, and their docs don't give actual examples

knkski (Mon, 26 Nov 2018 19:44:09 GMT):
you'll have to check that library's api for how to convert the output of `simpleEncode` into something that `simpleDecode` accepts. I unfortunately haven't used that function from the library, and their docs don't give actual examples

Dvi 19 (Mon, 26 Nov 2018 19:56:11 GMT):
So, imagine you are a bank and your clients execute smart contracts in the blockchain. How can you have an historic dabatase of the transactions in the blockchain network?

aedigix (Tue, 27 Nov 2018 04:52:59 GMT):
Has joined the channel.

Dvi 19 (Tue, 27 Nov 2018 06:49:21 GMT):
and another important question, when you call a smartContract, how do you specify the keys for signing the transaction (public and private key), source and destination public keys

JayeshJawale2 (Tue, 27 Nov 2018 08:10:27 GMT):
Hi, any idea on how to add permissions to restrict new validator node joining the SETH network?

sumit199504 (Tue, 27 Nov 2018 09:21:35 GMT):
Has joined the channel.

sumit199504 (Tue, 27 Nov 2018 09:21:43 GMT):
Hi,

sumit199504 (Tue, 27 Nov 2018 09:24:56 GMT):
I am facing an error in seth. I have created an account in seth-cli-go container, which gave me my account address. After that in seth-rpc container, I am trying to unlock the created alias using the following command: seth-rpc --connect tcp://validator:4004 --bind 0.0.0.0:3030 --unlock myalias. It is showing an error as follows: Alias not found in key directory. I have started the seth-rpc and conntected it to the validator in 4004 by binding with port 3030 as was mentioned in the docs. Please help.

Dvi 19 (Tue, 27 Nov 2018 10:19:54 GMT):
I am developing an smart contract for simplewallet, for deposit and transfer money. So, I want people only can deposit money in their account. How can I force this in an smart contract?

Dvi 19 (Tue, 27 Nov 2018 10:20:21 GMT):
using msg.sender?

Dvi 19 (Tue, 27 Nov 2018 11:04:16 GMT):
solved!

Dvi 19 (Tue, 27 Nov 2018 11:14:09 GMT):
The only problem I have not resolved yet is how to decode the payload in a seth transaction

Dvi 19 (Tue, 27 Nov 2018 11:24:27 GMT):

Clipboard - November 27, 2018 12:24 PM

Dvi 19 (Tue, 27 Nov 2018 11:30:00 GMT):
"payload": "CAMiQggTGJC/BSIUDCV76GPNmWaTb4yeRs4U8Zgh1+gyJJUH05oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="

Dvi 19 (Tue, 27 Nov 2018 11:53:30 GMT):

Clipboard - November 27, 2018 12:53 PM

Dvi 19 (Tue, 27 Nov 2018 13:57:46 GMT):

Clipboard - November 27, 2018 2:57 PM

Dvi 19 (Tue, 27 Nov 2018 13:58:02 GMT):
what is the transaction type for executing a smart contract?

anastath (Tue, 27 Nov 2018 15:12:50 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=CpYmuuhtwbmBLdKNe) @sumit199504 Hi, in a different terminal, try logging in the seth-rpc container without the --unlock myalias option, copy myalias.pem from ~/.sawtooth/keys to ~/.sawtooth , then try again to unlock myalias and see if it's solved.

anastath (Tue, 27 Nov 2018 15:22:27 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=CpYmuuhtwbmBLdKNe) @sumit199504 Hi, 1) in a terminal log in seth-rpc container without the --unlock option. 2) copy myalias.pem from ~/.sawtooth/keys to ~/.sawtooth. 3) try seth-rpc --unlock myalias and see how it goes.

anastath (Tue, 27 Nov 2018 15:22:27 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=CpYmuuhtwbmBLdKNe) @sumit199504 Hi, 1) in a terminal log in seth-rpc container without the --unlock option. 2) copy myalias.pem from '~/.sawtooth/keys' to '~/.sawtooth'. 3) try seth-rpc --unlock myalias and see how it goes.

Dvi 19 (Tue, 27 Nov 2018 15:42:53 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=ZhJMBwnXq7GdsL8Nr) @knkski Is SethTransaction available for using in python?

knkski (Tue, 27 Nov 2018 15:43:45 GMT):
@Dvi 19: It's a protobuf-defined format, so if you find a python protobuf library you like, decode it with this proto file: https://github.com/hyperledger/sawtooth-seth/blob/master/protos/seth.proto

Dvi 19 (Tue, 27 Nov 2018 15:49:14 GMT):
thanks @knkski I have never worked with protobuf libraries. Do you hace any tutorial or similar to study?

Dvi 19 (Tue, 27 Nov 2018 15:49:14 GMT):
thanks @knkski I have never worked with protobuf libraries. Do you have any tutorial or similar to study?

knkski (Tue, 27 Nov 2018 17:20:46 GMT):
you should be able to follow the google guide here: https://developers.google.com/protocol-buffers/docs/reference/python-generated

sumit199504 (Wed, 28 Nov 2018 05:30:07 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=sz2yhkhJT9KRyMqTR) @anastath @anastath Hi, I have tried your solution, but there is no folder in seth-rpc by the name keys, there is only seth-config.toml. I am creating an alias from seth-cli-go and keys folder is present there with myalias.pem. I tried copying it to ~/.sawtooth but still no luck, it's showing the same error "Alias not found in key directory" in seth-rpc. Is there a way to create an account from seth-rpc container??

sumit199504 (Wed, 28 Nov 2018 05:30:07 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=sz2yhkhJT9KRyMqTR) @anastath Hi, I have tried your solution, but there is no folder in seth-rpc by the name keys, there is only seth-config.toml. I am creating an alias from seth-cli-go and keys folder is present there with myalias.pem. I tried copying it to ~/.sawtooth but still no luck, it's showing the same error "Alias not found in key directory" in seth-rpc. Is there a way to create an account from seth-rpc container??

sumit199504 (Wed, 28 Nov 2018 05:59:57 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=d5zPiXjy356ANTWqR) @gititGoro @gititGoro Hi, you can add "sawtooth:/root/.sawtooth" in the docker-compose.yaml file under volumes of seth-cli-go and then run docker-compose up. It should work..

anastath (Wed, 28 Nov 2018 08:50:37 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=BWkBsbQZS9mrdNwrW) @sumit199504 @sumit199504 , I assume you run seth using docker compose, don't you? If so, please try to create the alias* within the seth-rpc Docker container*, and not within the seth-cli-go container. Then, you should normally see the folder '~/.sawtooth/keys' in the seth-rpc container and follow the steps in my previous post. The internal directories in seth-cli-go and seth-rpc containers are not synchronised; a way to synchronise them is to use a shared volume in both containers. Hope it helps. Cheers!

anastath (Wed, 28 Nov 2018 08:50:37 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=BWkBsbQZS9mrdNwrW) @sumit199504, I assume you run seth using docker compose, don't you? If so, please try to create the alias* within the seth-rpc Docker container*, and not within the seth-cli-go container. Then, you should normally see the folder '~/.sawtooth/keys' in the seth-rpc container and follow the steps in my previous post. The internal directories in seth-cli-go and seth-rpc containers are not synchronised; a way to synchronise them is to use a shared volume in both containers. Hope it helps. Cheers!

anastath (Wed, 28 Nov 2018 08:50:37 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=BWkBsbQZS9mrdNwrW) @sumit199504, please try to create the alias* within the seth-rpc Docker container*, and not within the seth-cli-go container. To create the account in seth-rpc container, just follow the same steps that you follow in seth-cli-go. Then, you should normally see the folder '~/.sawtooth/keys' in the seth-rpc container and follow the steps in my previous post. The internal directories in seth-cli-go and seth-rpc containers are not synchronised; a way to synchronise them is to use a shared volume in both containers. Hope it helps. Cheers!

anastath (Wed, 28 Nov 2018 08:50:37 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=BWkBsbQZS9mrdNwrW) @sumit199504, please try to create the alias *within the seth-rpc Docker container*, and not within the seth-cli-go container. To create the account in seth-rpc container, just follow the same steps that you follow in seth-cli-go. Then, you should normally see the folder '~/.sawtooth/keys' in the seth-rpc container and follow the steps in my previous post. The internal directories in seth-cli-go and seth-rpc containers are not synchronised; a way to synchronise them is to use a shared volume in both containers. Hope it helps. Cheers!

sumit199504 (Wed, 28 Nov 2018 10:18:09 GMT):
Can you please show how you are creating alias in "Seth-rpc" container? The command as per docs is: "seth account import key-file.pem myalias". On executing this command in seth-rpc, we are getting the error: seth:command not found. Also, I have fixed the unlock account problem by making some changes in the .yaml file. My alias is successfully getting unlocked. But on sending eth_sendTransaction(from:"", data: ""), it is showing an error: Account with address `{address}` not found. ERROR AccountLoadError.

sumit199504 (Wed, 28 Nov 2018 10:18:09 GMT):
@anastath Can you please show how you are creating alias in "Seth-rpc" container? The command as per docs is: "seth account import key-file.pem myalias". On executing this command in seth-rpc, we are getting the error: seth:command not found. Also, I have fixed the unlock account problem by making some changes in the .yaml file. My alias is successfully getting unlocked. But on sending eth_sendTransaction(from:"", data: ""), it is showing an error: Account with address `{address}` not found. ERROR AccountLoadError.

anastath (Wed, 28 Nov 2018 10:47:22 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=9JSJitrwnBmvD4acQ) @sumit199504 I can use 'seth account import key-file.pem myalias' form the 'seth-rpc' container without any problem, see screenshot attached (seth-create-account.png).

anastath (Wed, 28 Nov 2018 10:47:22 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=9JSJitrwnBmvD4acQ) @sumit199504 I can use 'seth account import key-file.pem myalias' from the 'seth-rpc' container without any problem, see screenshot attached (seth-create-account.png).

anastath (Wed, 28 Nov 2018 10:47:41 GMT):

seth-create-account.png

sumit199504 (Wed, 28 Nov 2018 11:45:29 GMT):
@anastath i am using the tutorial given in "https://sawtooth.hyperledger.org/docs/seth/releases/latest/getting_started.html". Here they create different docker container for seth-rpc and seth-cli-go. seth-rpc container dont recognise any "seth" command. Is there any way to install it in seth-rpc container. mau@mau-HP-ProBook-430-G3:~/sawtooth-seth$ docker exec -it seth-rpc bash root@d52623ec39b9:/project/sawtooth-seth/rpc# openssl ecparam -genkey -name secp256k1 | openssl ec -out key-file.pem read EC key writing EC key root@d52623ec39b9:/project/sawtooth-seth/rpc# seth account import key-file.pem sourav bash: seth: command not found

sumit199504 (Wed, 28 Nov 2018 11:45:29 GMT):
@anastath i am using the tutorial given in "https://sawtooth.hyperledger.org/docs/seth/releases/latest/getting_started.html". Here they create different docker container for seth-rpc and seth-cli-go. seth-rpc container dont recognise any "seth" command. Is there any way to install it in seth-rpc container. mau@mau-HP-ProBook-430-G3:~/sawtooth-seth$ docker exec -it seth-rpc bash root@d52623ec39b9:/project/sawtooth-seth/rpc# openssl ecparam -genkey -name secp256k1 | openssl ec -out key-file.pem read EC key writing EC key root@d52623ec39b9:/project/sawtooth-seth/rpc# seth account import key-file.pem sourav bash: seth: command not found Moreover, Are you using any other version of seth?

anastath (Wed, 28 Nov 2018 13:34:41 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=psxMbeAxbnSDEqKp5) @sumit199504 I also use different containers for seth-rpc and seth-cli. The seth-rpc, I use is version 1.0 . Try to give 'seth init http://rest-api:8080' in the command: option within the seth-rpc service defined in docker-compose, and see if you can access seth command within the seth-rpc container.

anastath (Wed, 28 Nov 2018 13:34:41 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=psxMbeAxbnSDEqKp5) @sumit199504 I also use different containers for seth-rpc and seth-cli. The seth-rpc I use is version 1.0 . Try to give 'seth init http://rest-api:8080' in the command: option within the seth-rpc service defined in docker-compose, and see if you can access seth command within the seth-rpc container.

Ceit_E (Wed, 28 Nov 2018 14:02:37 GMT):
@anastath in your photo example above, you're shelling into "seth-rpc-0" - where is this container defined? The standard rpc container that I'm getting from the current version of sawtooth-seth is simply "seth-rpc", and modifying the docker-compose.yaml file as per your suggestion above merely causes the "bash: seth: command not found" error to be returned when docker-compose initially builds the containers.

fahad.suhaib (Wed, 28 Nov 2018 21:45:13 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=9JSJitrwnBmvD4acQ) @sumit199504 I'm also getting the same error with "ACCOUNT WITH {ADDRESS} NOT FOUND", any helps on this topic?

CHSAIMAN0J (Thu, 29 Nov 2018 07:01:29 GMT):
Has joined the channel.

sumit199504 (Thu, 29 Nov 2018 07:42:14 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=6RutT4sjeaxnTE87K) @anastath Still same error. Could you please share your docker-compose yaml file along with the docker file for seth-rpc

CHSAIMAN0J (Thu, 29 Nov 2018 10:20:30 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=WeJzdRdDszbsxBdSi) @sumit199504 @sumit199504 , you need to import an alias into the key from seth-cli or seth-cli-go not from rpc, in my case it worked fine with seth-cli-go.

Dvi 19 (Thu, 29 Nov 2018 10:41:59 GMT):
if I call the /state of my rest api with an address of a seth account, I get this in the data: "CiAKFGD7xqSlfLTT1+gDiZkIJENXjbNfIAQqBgj/fxD/fw==" How can I decode this?

Dvi 19 (Thu, 29 Nov 2018 10:44:47 GMT):
I have tried executing an smart contract to get this data and it is too slow to get the data

Dvi 19 (Thu, 29 Nov 2018 10:45:25 GMT):
pragma solidity ^0.4.0; contract intkey { mapping (uint => uint) intmap; function set(uint value) public { intmap[uint256(msg.sender)] = value; } function inc(uint value) public { intmap[uint256(msg.sender)] = intmap[uint256(msg.sender)] + 1; } function dec(uint value) public { intmap[uint256(msg.sender)] = intmap[uint256(msg.sender)] - 1; } function get(uint value) public constant returns (uint retVal) { return intmap[uint256(msg.sender)]; } }

Dvi 19 (Thu, 29 Nov 2018 10:45:44 GMT):
Why the execution of an smart contract is slow?

Dvi 19 (Thu, 29 Nov 2018 11:01:57 GMT):
in wich format does seth store the data?

sumit199504 (Thu, 29 Nov 2018 13:20:01 GMT):
Are you able to run the command "curl -d '{"jsonrpc": "2.0", "method": "eth_sendTransaction", "id": 2, "params": [{"from": "0x{address}", "data": "0x{contract}"}]}' -H "Content-Type: application/json" localhost:3030". Because on doing so i am getting the error "ERROR AccountLoadError, Error: Account with address {address} not found" Is there any changes you made in yaml file ?

sumit199504 (Thu, 29 Nov 2018 13:21:04 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=G3Mgk8TDegmT7aioF) @CHSAIMAN0J are you able to run the command "curl -d '{"jsonrpc": "2.0", "method": "eth_sendTransaction", "id": 2, "params": [{"from": "0x{address}", "data": "0x{contract}"}]}' -H "Content-Type: application/json" localhost:3030". Because on doing so i am getting the error "ERROR AccountLoadError, Error: Account with address {address} not found" Is there any changes you made in yaml file ?

Dvi 19 (Thu, 29 Nov 2018 13:27:02 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=FrbKvwmpWhhteymoq) I have compiled the proto file but when I invoke the ParseFromString method in my code I get: " object has no attribute 'ParseFromString'

Dvi 19 (Thu, 29 Nov 2018 13:45:02 GMT):

Clipboard - November 29, 2018 2:44 PM

Dvi 19 (Thu, 29 Nov 2018 13:45:22 GMT):
@knkski is this parsing correct?

Dvi 19 (Thu, 29 Nov 2018 13:45:42 GMT):
cadena is the payload in the seth transaction

Dvi 19 (Thu, 29 Nov 2018 13:49:20 GMT):

Clipboard - November 29, 2018 2:49 PM

Dvi 19 (Thu, 29 Nov 2018 13:49:46 GMT):
Traceback (most recent call last): File "prueba.py", line 18, in saco=unpackPayload(cadena) File "prueba.py", line 9, in unpackPayload sa = transaction.ParseFromString(payload) google.protobuf.message.DecodeError: Error parsing message

knkski (Thu, 29 Nov 2018 15:22:19 GMT):
`cadena` looks like it's base64 encoded, you'll probably have to decode that before passing it in to protobuf

Dvi 19 (Thu, 29 Nov 2018 15:32:49 GMT):

Clipboard - November 29, 2018 4:32 PM

Dvi 19 (Thu, 29 Nov 2018 15:33:37 GMT):

Clipboard - November 29, 2018 4:33 PM

sumit199504 (Fri, 30 Nov 2018 05:51:34 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=G3Mgk8TDegmT7aioF) @CHSAIMAN0J @anastath Hi, Could you please share your docker-compose.yaml file and docker file of rpc folder. I think that there might be some bugs with the latest update as people who have recently cloned the seth packages are facing the same problem. Also, can you mention your docker-engine and docker-compose version? Thank you..

sumit199504 (Fri, 30 Nov 2018 08:57:03 GMT):
hi, i am trying to deploy contract using seth-rpc. when i am running the following command : curl -d '{"jsonrpc": "2.0", "method": "eth_sendTransaction", "id": 2, "params": [{"from": "0x{address}", "data": "0x{contract}"}]}' -H "Content-Type: application/json" localhost:3030 i am getting the following error: seth-rpc | [00:25:56.291] (140288886556416) ERROR Account with address `4c365a80c436e4e731b17641c1eaed192c880b3f` not found. seth-rpc | [00:25:56.292] (140288886556416) ERROR AccountLoadError

sumit199504 (Fri, 30 Nov 2018 08:57:03 GMT):
hi, i am trying to deploy contract using seth-rpc. when i am running the following command : curl -d '{"jsonrpc": "2.0", "method": "eth_sendTransaction", "id": 2, "params": [{"from": "0x{address}", "data": "0x{contract}"}]}' -H "Content-Type: application/json" localhost:3030 i am getting the following error: seth-rpc | [00:25:56.291] (140288886556416) ERROR Account with address `4c365a80c436e4e731b17641c1eaed192c880b3f` not found. seth-rpc | [00:25:56.292] (140288886556416) ERROR AccountLoadError But when i check the list of address owned by client using the command: curl -X POST --data '{"jsonrpc":"2.0","method":"eth_accounts","params":[],"id":1}' -H "Content-Type: application/json" localhost:3030 it gives the following output: {"jsonrpc":"2.0","result":["0x4c365a80c436e4e731b17641c1eaed192c880b3f"],"id":1} Can anyone tell me what i am doing wrong? I am attaching the docker-compose file in which i made few changes.

sumit199504 (Fri, 30 Nov 2018 09:01:59 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=W7E8euHXRgSxPN6wQ) # Copyright 2018 Intel Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # ------------------------------------------------------------------------------ version: '3' services: seth-cli: build: context: . dockerfile: ./cli/Dockerfile args: - ISOLATION_ID=${ISOLATION_ID} - http_proxy - https_proxy - no_proxy image: sawtooth-seth-cli:${ISOLATION_ID} container_name: seth-cli volumes: - ./contracts:/project/sawtooth-seth/contracts - sawtooth:/root/.sawtooth depends_on: - validator working_dir: /project/sawtooth-seth entrypoint: | bash -c " seth config init --url http://seth-rpc:3030 tail -f /dev/null " seth-cli-go: build: context: . dockerfile: ./cli-go/Dockerfile args: - ISOLATION_ID=${ISOLATION_ID} - http_proxy - https_proxy - no_proxy image: sawtooth-seth-cli-go:${ISOLATION_ID} container_name: seth-cli-go volumes: - ./contracts:/project/sawtooth-seth/contracts - sawtooth:/root/.sawtooth depends_on: - rest-api working_dir: /project/sawtooth-seth entrypoint: | bash -c " seth init http://rest-api:8080 && if [ ! -f /root/.sawtooth/keys/root.priv ]; then sawtooth keygen fi; tail -f /dev/null " seth-tp: build: context: . dockerfile: ./processor/Dockerfile args: - ISOLATION_ID=${ISOLATION_ID} - http_proxy - https_proxy - no_proxy tty: true stdin_open: true image: sawtooth-seth-tp:${ISOLATION_ID} container_name: seth-tp depends_on: - validator command: | bash -c " seth-tp -vv \ -C tcp://validator:4004 " block-info-tp: image: hyperledger/sawtooth-block-info-tp:1.0 container_name: block-info-tp depends_on: - validator command: block-info-tp -vv --connect tcp://validator:4004 settings-tp: image: hyperledger/sawtooth-settings-tp:1.0 container_name: settings-tp depends_on: - validator command: settings-tp -vv --connect tcp://validator:4004 rest-api: image: hyperledger/sawtooth-rest-api:1.0 container_name: rest-api ports: - '8080:8080' depends_on: - validator entrypoint: | sawtooth-rest-api -vv --connect tcp://validator:4004 --bind rest-api:8080 validator: image: hyperledger/sawtooth-validator:1.0 container_name: sawtooth-validator ports: - '4004:4004/tcp' - 8800 command: | bash -c " if [ ! -f /etc/keys/validator.priv ]; then sawadm keygen && sawset genesis \ -k /etc/sawtooth/keys/validator.priv \ -o config-genesis.batch && sawset proposal create \ -k /etc/sawtooth/keys/validator.priv \ sawtooth.validator.batch_injectors=block_info \ -o config.batch && sawadm genesis config-genesis.batch config.batch fi; sawtooth-validator -vv \ --endpoint tcp://validator:8800 \ --bind component:tcp://eth0:4004 \ --bind network:tcp://eth0:8800 " seth-rpc: build: context: . dockerfile: ./rpc/Dockerfile args: - ISOLATION_ID=${ISOLATION_ID} - http_proxy - https_proxy - no_proxy image: sawtooth-seth-rpc:${ISOLATION_ID} container_name: seth-rpc volumes: - sawtooth:/root/.sawtooth depends_on: - validator ports: - '3030:3030' command: | bash -c " seth-rpc --connect tcp://validator:4004 --bind 0.0.0.0:3030 " volumes: sawtooth:

CHSAIMAN0J (Sun, 02 Dec 2018 08:10:16 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=imfoLFCvpuByiAqwz) @sumit199504 yes, recent code changes are not working but the code before 2 weeks is working fine. working commit id e3b739602e73c5a44af1e25757ba5076453219d0

Dvi 19 (Sun, 02 Dec 2018 10:49:55 GMT):

Clipboard - December 2, 2018 11:49 AM

Dvi 19 (Sun, 02 Dec 2018 10:50:52 GMT):
@knkski Finally I get the MessageCallTxn. Now, How can I decode "data"?

Dvi 19 (Sun, 02 Dec 2018 10:51:04 GMT):

Clipboard - December 2, 2018 11:51 AM

sourav (Sun, 02 Dec 2018 12:29:35 GMT):
Has joined the channel.

sourav (Sun, 02 Dec 2018 17:16:58 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=W7E8euHXRgSxPN6wQ) @sumit199504 As of now, you need to copy the pem file(with alias name present in /root/.sawtooth/keys) to file named with your address(i.e, here 0x4c365a80c436e4e731b17641c1eaed192c880b3f.pem) because the code tries to load the file with that name and is not able to locate it.

fahad.suhaib (Mon, 03 Dec 2018 06:36:45 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=PbJpYCEpdkwEP7nRr) @sourav Even doing this results in the same error, the current codebase is not stable.

fahad.suhaib (Mon, 03 Dec 2018 06:37:25 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=sefgDRPoKwmMA4Txz) But there is a 0x added in the PEM, maybe that works, let me check

sourav (Mon, 03 Dec 2018 07:27:28 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=sefgDRPoKwmMA4Txz) @fahad.suhaib my mistake, you also need to call the method "personal_unlockAccount" using curl... For example, curl -d '{"jsonrpc": "2.0", "method": "personal_unlockAccount", "id": 2, "params": ["0xf010502daad9a6bc1cef0ad28c4d38a6590fea65", "None", 0]}' -H "Content-Type: application/json" localhost:3030 i think --unlock does nothing

Naman_13 (Mon, 03 Dec 2018 09:30:37 GMT):
Has joined the channel.

Naman_13 (Mon, 03 Dec 2018 09:31:17 GMT):
hi all, can somebody please give me steps to install seth without using docker?

Naman_13 (Mon, 03 Dec 2018 09:31:43 GMT):
i tried the docker method, and i'm getting a no-free-memory error

Naman_13 (Mon, 03 Dec 2018 09:31:49 GMT):
my instance has 1gb ram

Naman_13 (Mon, 03 Dec 2018 09:32:01 GMT):
can somebody kindly guide me what to do? thanks

RealDeanZhao (Mon, 03 Dec 2018 10:02:09 GMT):
@Naman_13 you can copy the binary from the docker and run it on a real machine

fahad.suhaib (Mon, 03 Dec 2018 10:06:36 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=Ljydda4RRG4uoCE4P) @sourav Perfect, this works :), now we have some other stability issues in the eth VM side. Will keep posting here for issues.

Naman_13 (Mon, 03 Dec 2018 10:09:34 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=Eamk6MLy4jEW5uwLo) @RealDeanZhao i only have an AWS instance to work with, so not sure what you mean by running it on a real machine

RealDeanZhao (Mon, 03 Dec 2018 10:10:27 GMT):
@Naman_13 copy the binary to your aws instance from the container

RealDeanZhao (Mon, 03 Dec 2018 10:10:27 GMT):
@Naman_13 copy the binaries(seth, seth-cli-go, seth-tp) to your aws instance from the container

RealDeanZhao (Mon, 03 Dec 2018 10:10:34 GMT):
and then run it on the instance

Naman_13 (Mon, 03 Dec 2018 10:14:58 GMT):
getting the following error: ``` Step 4/13 : RUN curl https://sh.rustup.rs -sSf > /usr/bin/rustup-init && chmod +x /usr/bin/rustup-init && rustup-init -y ---> Running in f01932e520dd info: downloading installer info: syncing channel updates for 'stable-x86_64-unknown-linux-gnu' info: latest update on 2018-11-08, rust version 1.30.1 (1433507eb 2018-11-07) info: downloading component 'rustc' info: downloading component 'rust-std' info: downloading component 'cargo' info: downloading component 'rust-docs' info: installing component 'rustc' info: installing component 'rust-std' info: rolling back changes error: could not copy file from '/root/.rustup/tmp/qtvyrlg45vfaxhgb_dir/rust-std-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libsyntax-602ec8a270117ff4.so' to '/root/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libsyntax-602ec8a270117ff4.so' info: caused by: No space left on device (os error 28) ERROR: Service 'seth-cli' failed to build: The command '/bin/sh -c curl https://sh.rustup.rs -sSf > /usr/bin/rustup-init && chmod +x /usr/bin/rustup-init && rustup-init -y' returned a non-zero code: 1 ```

Naman_13 (Mon, 03 Dec 2018 10:20:44 GMT):
where exactly should i copy the binaries(seth, seth-cli-go, seth-tp) from? as in where are they in the docker file? i'm having trouble locating exactly where to copy them form

Naman_13 (Mon, 03 Dec 2018 10:20:46 GMT):
from*

RealDeanZhao (Mon, 03 Dec 2018 10:25:22 GMT):
you can run the docker container on your local machine and then docker exec into it. Once you get into the container, try linux command "which seth", then it will print out the binary file path

RealDeanZhao (Mon, 03 Dec 2018 10:25:22 GMT):
you can run the docker container on your local machine and then docker exec into it. Once you get into the container, try linux command "which seth", then it will print out the binary file path

vijaykumar1991 (Tue, 04 Dec 2018 10:14:53 GMT):
Has joined the channel.

vijaykumar1991 (Tue, 04 Dec 2018 10:18:38 GMT):
how can i call the contract in seth-rpc method except eth_sendTransaction. I have tried with eth_call with showing method not exists.

vijaykumar1991 (Tue, 04 Dec 2018 10:18:38 GMT):
how can i call the contract in seth-rpc method except eth_sendTransaction. I have tried with eth_call with showing method not exists.

vijaykumar1991 (Tue, 04 Dec 2018 10:18:38 GMT):
how can i call the contract in seth-rpc method except eth_sendTransaction. I have tried with eth_call with showing method not exists.

vijaykumar1991 (Tue, 04 Dec 2018 10:18:38 GMT):
@sourav how can i call the contract in seth-rpc except eth_sendTransaction. I have tried with eth_call with showing method not exists.

vijaykumar1991 (Tue, 04 Dec 2018 10:18:38 GMT):
@sourav how can i call the contract in seth-rpc except eth_sendTransaction.

vijaykumar1991 (Tue, 04 Dec 2018 10:18:38 GMT):
@sourav how can i call the contract in seth-rpc except eth_sendTransaction.

vijaykumar1991 (Tue, 04 Dec 2018 10:18:38 GMT):
@sourav how can i call the contract in seth-rpc except eth_sendTransaction. ```

vijaykumar1991 (Tue, 04 Dec 2018 10:18:38 GMT):
@sourav how can i call the contract in seth-rpc except eth_sendTransaction.

vijaykumar1991 (Tue, 04 Dec 2018 10:56:29 GMT):
curl -d '{"jsonrpc": "2.0", "method": "eth_call", "id": 2, "params": [{"to": "0xf5d161a75852c0e8f7e049abeca641c528222a23", "data": "0x70a082319e579bb7823d39d9ccf283d2afd411cf1cb9eaa4"]}' -H "Content-Type: application/json" localhost:3030 {"jsonrpc":"2.0","error":{"code":-32700,"message":"Parse error"},"id":null}

vijaykumar1991 (Tue, 04 Dec 2018 10:57:40 GMT):
curl -d '{"jsonrpc": "2.0", "method": "eth_call", "id": 2, "params": [{"to": "0xf5d161a75852c0e8f7e049abeca641c528222a23", "data": "0x70a082319e579bb7823d39d9ccf283d2afd411cf1cb9eaa4"]}' -H "Content-Type: application/json" localhost:3030 {"jsonrpc":"2.0","error":{"code":-32700,"message":"Parse error"},"id":null} Getting error while i am calling the contract method.Can any one please help me.

ritu (Tue, 04 Dec 2018 12:32:48 GMT):
Has joined the channel.

ritu (Tue, 04 Dec 2018 12:35:24 GMT):
I have the latest version of Github code for sawtooth seth. I want to be able to call eth_call method. I don't see the support for this method on the seth site. Looking for some guidance to accomplish this.

shaa4aa (Tue, 04 Dec 2018 22:10:33 GMT):
Has joined the channel.

shaa4aa (Tue, 04 Dec 2018 22:11:20 GMT):
hello all , I'm new to heperledger and i want to use it with IoT which framework better ?

Isaiah_Kim (Wed, 05 Dec 2018 01:25:50 GMT):
Has joined the channel.

ra_w (Wed, 05 Dec 2018 06:39:27 GMT):
How can we add balance in ethereum account in seth?

Dvi 19 (Wed, 05 Dec 2018 16:10:19 GMT):
in seth, I can list the contracts, but, how can I get the code of the smart contract?

JayeshBairagi (Fri, 07 Dec 2018 12:02:42 GMT):
I have a contract `contract a { address owner; constructor() public { owner = msg.sender; } }` When I deploy this contract it sets the owner to the deployed contracts address. But instead it should be the address I am using to deploy the contract. Can anyone please tell me error I may be committing or what is the workaround this?

JayeshBairagi (Fri, 07 Dec 2018 12:02:42 GMT):
I have a contract ```contract a { address owner; constructor() public { owner = msg.sender; } }``` When I deploy this contract it sets the owner to the deployed contracts address. But instead it should be the address I am using to deploy the contract. Can anyone please tell me error I may be committing or what is the workaround this?

vijaykumar1991 (Fri, 07 Dec 2018 13:17:16 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=Yyx5ExoxAJSLDJDon) Can any one reply on this ? Waiting for response from any one of you.

knkski (Fri, 07 Dec 2018 15:12:52 GMT):
@JayeshBairagi: That sounds like a good bug to open here: https://jira.hyperledger.org/projects/STL/issues

knkski (Fri, 07 Dec 2018 15:15:20 GMT):
@vijaykumar1991: `eth_call` is not supported within Seth: https://github.com/hyperledger/sawtooth-seth/blob/master/rpc/src/calls/transaction.rs#L466

Dvi 19 (Sun, 09 Dec 2018 19:57:03 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=PFDjBjShQcBbHFo5W) Any idea?

Dvi 19 (Sun, 09 Dec 2018 19:57:03 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=PFDjBjShQcBbHFo5W) Any idea? To get the source code of a smart contract

jsmitchell (Sun, 09 Dec 2018 20:32:21 GMT):
The byte code is what is stored. The source code is not stored on chain. You can retrieve the byte code from reading the state at the contract address.

arpit.agrawal23 (Sun, 09 Dec 2018 22:39:36 GMT):
Has joined the channel.

arpit.agrawal23 (Sun, 09 Dec 2018 22:44:05 GMT):
Hi. I have a smart contract that has some functions that return some values. I want to call these functions (and don't want to post transaction). On Ethereum mainnet, I can do this using JSON-RPC API "eth_call". But I know that support for eth_call is not available in seth. So how can I call contract functions in seth? eth_sendTransaction will post transaction. But I don't want to post transaction, I just want to execute my contract code in EVM and get return value. Is this possible? Thank you so much for the help.

ra_w (Mon, 10 Dec 2018 04:24:53 GMT):
ERROR: Service 'seth-cli-go' failed to build: The command '/bin/sh -c go get -u github.com/btcsuite/btcd/btcec github.com/golang/mock/gomock github.com/golang/mock/mockgen github.com/golang/protobuf/proto github.com/golang/protobuf/protoc-gen-go github.com/hyperledger/burrow/binary github.com/hyperledger/burrow/execution/evm/sha3 github.com/jessevdk/go-flags github.com/pebbe/zmq4 github.com/pelletier/go-toml github.com/satori/go.uuid golang.org/x/crypto/ssh/terminal' returned a non-zero code: 1 Getting this error while building seth

RaphaelChua (Mon, 10 Dec 2018 09:03:22 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=Cr7jNEHBvyH4PaXhw) @ra_w im also having that error

ra_w (Mon, 10 Dec 2018 09:26:32 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=TmZH9hDm5rYYWhJRx) @RaphaelChua I have made changes to cli-go/Dockerfile and cli-go/Dockerfile-installed as per this commits and its working fine ; https://github.com/hyperledger/sawtooth-seth/pull/88/commits/4eabe86beb209575f3b5ad4510e4ac8d2730a633

ra_w (Mon, 10 Dec 2018 09:26:32 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=TmZH9hDm5rYYWhJRx) @RaphaelChua I have made changes to cli-go/Dockerfile and cli-go/Dockerfile-installed as per this commit and its working fine ; https://github.com/hyperledger/sawtooth-seth/pull/88/commits/4eabe86beb209575f3b5ad4510e4ac8d2730a633

ra_w (Mon, 10 Dec 2018 09:26:32 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=TmZH9hDm5rYYWhJRx) @RaphaelChua I have made changes to cli-go/Dockerfile and cli-go/Dockerfile-installed as per this commit and its working fine ; https://github.com/hyperledger/sawtooth-seth/pull/88/commits/4eabe86beb209575f3b5ad4510e4ac8d2730a633

RaphaelChua (Mon, 10 Dec 2018 09:27:46 GMT):
wow nice. Thanks

ra_w (Tue, 11 Dec 2018 04:26:02 GMT):
How can we unlock seth account with password from seth-rpc? I am getting this error for password protected accouns: `A password is required for encrypted keys!`

RaphaelChua (Tue, 11 Dec 2018 12:34:18 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=gCje2sCYnWMXkvHMz) @ra_w openssl ecparam -genkey -name secp256k1 | openssl ec -out key-file1.pem use without the -aes128??

ra_w (Wed, 12 Dec 2018 09:18:31 GMT):
Thanks @RaphaelChua Actually I need to use it with -aes128 and then unlock.

ra_w (Wed, 12 Dec 2018 09:18:50 GMT):
Has anyone tried installing seth on multi-node network setup? Can you guide on writing the docker compose to install sawtooth seth with multiple nodes?

gaurav94 (Fri, 14 Dec 2018 11:43:24 GMT):
Has joined the channel.

RaphaelChua (Mon, 17 Dec 2018 18:51:32 GMT):
hi guys

RaphaelChua (Mon, 17 Dec 2018 18:51:43 GMT):
curl -d '{"jsonrpc": "2.0", "method": "eth_sendTransaction", "id": 2, "params": [{"from": "0x{address}", "data": "0x{contract}"}]}' -H "Content-Type: application/json" localhost:3030

RaphaelChua (Mon, 17 Dec 2018 18:51:47 GMT):
this curl is not working

RaphaelChua (Mon, 17 Dec 2018 18:51:49 GMT):
any idea?

RaphaelChua (Mon, 17 Dec 2018 18:52:01 GMT):
received this error {"jsonrpc":"2.0","error":{"code":-32603,"message":"Internal error"},"id":2}

RaphaelChua (Tue, 18 Dec 2018 02:29:33 GMT):
is anyone in this chat?

JianMin 1 (Tue, 18 Dec 2018 13:17:29 GMT):
Has joined the channel.

Dvi 19 (Wed, 19 Dec 2018 15:37:57 GMT):
@RaphaelChua are you using seth-rpc?

Dvi 19 (Thu, 20 Dec 2018 07:46:51 GMT):
@RaphaelChua have you compiled the seth-rpc ?

Dvi 19 (Thu, 20 Dec 2018 13:41:16 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=Pn25kqrWPLm9W29tE) @RaphaelChua you must set the address and contract

Dvi 19 (Thu, 20 Dec 2018 13:46:58 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=Pn25kqrWPLm9W29tE) @RaphaelChua I get the same error ....

Dvi 19 (Thu, 20 Dec 2018 14:00:38 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=Pn25kqrWPLm9W29tE) @RaphaelChua I think you must unlock the account in a terminal and, in another terminal, launch the eth_sendTransaction

sumit199504 (Fri, 21 Dec 2018 05:10:15 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=HEvar2ECvnxoSiAwc) @Naman_13 As of now, it is not possible to use seth without docker. You can try by increasing the memory of your instance.

Dvi 19 (Fri, 21 Dec 2018 12:22:24 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=zSTtx2TZ9udgJAR5H) @sumit199504 I use seth without docker

Dvi 19 (Fri, 21 Dec 2018 12:22:24 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=zSTtx2TZ9udgJAR5H) @sumit199504 I use seth without docker, simply compile the seth-tp and rpc following the steps in the dockerfile

RaphaelChua (Tue, 25 Dec 2018 07:20:01 GMT):
batch

RaphaelChua (Tue, 25 Dec 2018 07:30:13 GMT):
hi guys

RaphaelChua (Tue, 25 Dec 2018 07:30:15 GMT):
one question

RaphaelChua (Tue, 25 Dec 2018 07:30:23 GMT):
does sawtooth seth support batch transaction?

JianMin 1 (Wed, 26 Dec 2018 13:00:41 GMT):
Hi guys, can I ask if anyone know how to resolve the issue where I had unlock my alias, but when try to send an transaction, it keep prompting me "Account with address not found" in my validator node ? The issue I had is identical to the one below one stackoverflow https://stackoverflow.com/questions/53498275/seth-rpc-error-alias-not-found-in-key-directory-even-though-alias-created-in-s

JianMin 1 (Wed, 26 Dec 2018 13:01:17 GMT):

Clipboard - December 26, 2018 9:01 PM

JianMin 1 (Wed, 26 Dec 2018 13:01:26 GMT):
But I can unlock the account from my seth-rpc

JianMin 1 (Wed, 26 Dec 2018 13:01:32 GMT):
Thanks in advance.

tuckerg (Thu, 27 Dec 2018 06:55:18 GMT):
Has joined the channel.

RaphaelChua (Thu, 27 Dec 2018 15:42:42 GMT):
there is an error with using eth_getStorageAt

RaphaelChua (Thu, 27 Dec 2018 15:42:45 GMT):
Invalid namespace: a68b069fD6017DBE6e2C586761E812FC74b1B7329E420E000000000000000000000000 seth-rpc | [00:53:12.823] (140013035575040) ERROR Invalid address

Dvi 19 (Thu, 03 Jan 2019 22:34:58 GMT):
How can I listen for events emitted in an smart contract in seth?

boydjohnson (Fri, 04 Jan 2019 15:59:57 GMT):
https://sawtooth.hyperledger.org/docs/core/releases/1.1.2/app_developers_guide/zmq_event_subscription.html Here is an explanation of zeromq event subscription. @Dvi 19

seanyoung (Fri, 04 Jan 2019 17:05:49 GMT):
Has joined the channel.

silasdavis (Fri, 04 Jan 2019 17:11:59 GMT):
Hi Seth... I wanted to share a project that @seanyoung has started that I think has a lot of potential to grow into something rather interesting. It is a solidity-to-LLVM compiler using modern compiler tooling to generate LLVM IR with an antlr grammar: https://github.com/seanyoung/solang. What we (Burrow) have in mind is using the LLVM WASM backend to create a migration path for existing solidity code and also thinking about WASM-EVM interop within Burrow that can bring with it a host of advantages. With the sawtooth team's work on Sabre and the supply chain project's state aim of developing for some kind of WASM target I think this is potentially very interesting for sawtooth and hyperledger. We don't have full time resources to throw at this but I'd be interested to hear if anyone is interested in working on it. Our intention would be to propose this as a labs project.

silasdavis (Fri, 04 Jan 2019 17:11:59 GMT):
Hi Seth... I wanted to share a project that @seanyoung has started that I think has a lot of potential to grow into something rather interesting. It is a solidity-to-LLVM compiler using modern compiler tooling to generate LLVM IR with an antlr grammar: https://github.com/seanyoung/solang. What we (Burrow) have in mind is using the LLVM WASM backend to create a migration path for existing solidity code and also thinking about WASM-EVM interop within Burrow that can bring with it a host of advantages. With the sawtooth team's work on Sabre and the supply chain project's stated aim of developing for some kind of WASM target I think this is potentially very interesting for sawtooth and hyperledger. We don't have full time resources to throw at this but I'd be interested to hear if anyone is interested in working on it. Our intention would be to propose this as a labs project.

silasdavis (Fri, 04 Jan 2019 17:14:48 GMT):
In paricular cc @amundson

silasdavis (Fri, 04 Jan 2019 17:14:48 GMT):
In particular cc @amundson

gokulalex (Sun, 06 Jan 2019 13:52:33 GMT):
Has joined the channel.

amundson (Mon, 07 Jan 2019 17:02:44 GMT):
might be interesting for Sabre. to add support for solidity, but also potentially storing source on-chain and compiling as needed (for reviewability of the smart contract)

seanyoung (Mon, 07 Jan 2019 17:28:41 GMT):
You could even compile it to the native cpu then, and get a huge speedup.

seanyoung (Mon, 07 Jan 2019 17:30:38 GMT):
The solidity resolver would have to water-tight then to catch any issues, and gas calcutations would have to be inserted inline

seanyoung (Mon, 07 Jan 2019 17:30:38 GMT):
The solidity resolver would have to water-tight then to catch any (security) issues, and gas calcutations would have to be inserted inline

jsmitchell (Mon, 07 Jan 2019 17:39:34 GMT):
reproducible builds for verification that "this smart contract" produces "this bytecode" would be great

Dvi 19 (Mon, 07 Jan 2019 18:41:08 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=WWWKdi3nb94usSy7m) @boydjohnson Si this valid for solidity smart contracts that uses the emit() method???

Dvi 19 (Mon, 07 Jan 2019 18:41:08 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=WWWKdi3nb94usSy7m) @boydjohnson Is this valid for solidity smart contracts that uses the emit() method???

Dvi 19 (Mon, 07 Jan 2019 19:02:36 GMT):
Is there a transaction log in seth?

Dvi 19 (Mon, 07 Jan 2019 19:27:46 GMT):
Is there any Subscribing to Logs example for seth?

Dvi 19 (Mon, 07 Jan 2019 19:28:09 GMT):
https://sawtooth.hyperledger.org/docs/seth/releases/latest/dapps.html#subscribing-to-logs

Dvi 19 (Mon, 07 Jan 2019 19:28:20 GMT):
Any example?

seanyoung (Mon, 07 Jan 2019 19:43:21 GMT):
@jsmitchell just thinking this through. Would that mean that smart contract creation would include 1) solidity source code 2) compiled wasm code 3) commit id of solang + llvm, and then the contract would only be accepted if the wasm code can be verified (and solang/llvm is not banned for e.g. a bug)?

seanyoung (Mon, 07 Jan 2019 19:44:30 GMT):
or would you imagine that verification happens offline?

jsmitchell (Mon, 07 Jan 2019 19:53:26 GMT):
I'm not sure if the 'store contract' transaction would attempt the compilation to verify the submitted bytecode. I guess it could, which might be cool. Having a reproducability guarantee from the toolchain would allow the flexibility to do this in a bunch of places. This is a much hairier problem in the rust->WASM case given the complexity of the toolchain and the number of libraries/packages likely involved.

seanyoung (Tue, 08 Jan 2019 11:20:44 GMT):
A solidity contract can call other contracts, so the bytecode depends on the source for those external contracts. Also solidity contracts can be a concrete contract for a series of abstract contracts, in which case the bytecode again depends on the solidity for those abstract contracts. Not quite as bad as rust, I guess. We could have -deps options which produces the same output as "clang -MD -c foo.c", i.e. a list of source dependencies for each contract.

sstone1 (Tue, 08 Jan 2019 16:01:21 GMT):
Has left the channel.

Dvi 19 (Tue, 08 Jan 2019 16:10:07 GMT):
How can I ABI encode a function with no input parameters?

Dvi 19 (Tue, 08 Jan 2019 16:11:15 GMT):
function balance(address ad) public view returns (uint) { return balances[ad]; }

Dvi 19 (Tue, 08 Jan 2019 16:11:15 GMT):
function balance() public view returns (uint) { return balances[msg.sender]; }

seanyoung (Tue, 08 Jan 2019 16:13:08 GMT):
take the hash of the first four bytes of the keccak hash of "balance()"

seanyoung (Tue, 08 Jan 2019 16:13:08 GMT):
take the first four bytes of the keccak hash of "balance()"

Dvi 19 (Tue, 08 Jan 2019 17:44:07 GMT):
@seanyoung thanks! I will try

Dvi 19 (Tue, 08 Jan 2019 20:49:30 GMT):
Keccak-256?

Dvi 19 (Tue, 08 Jan 2019 20:57:28 GMT):
b69ef8a839e95cda34cc92062c90b2cb6c0730fc9fc3c6ee0ed32a73a0f89e2a

Dvi 19 (Tue, 08 Jan 2019 20:58:26 GMT):
I Need to call balance() function

Dvi 19 (Wed, 09 Jan 2019 10:33:59 GMT):
how can I decode the topic of an eth_getFilterChanges?

Dvi 19 (Wed, 09 Jan 2019 10:49:17 GMT):
I have made a filter and now I get the result, but I don´t know how to decode it

Dvi 19 (Wed, 09 Jan 2019 12:54:56 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=JcbdmiDsFDcmQxXq5) keccak or abi encoding?

seanyoung (Wed, 09 Jan 2019 13:56:05 GMT):
@Dvi 19 I was just refering to solidity abi encoding: https://solidity.readthedocs.io/en/v0.5.2/abi-spec.html#function-selector not sure about sawtooth context though

Dvi 19 (Fri, 11 Jan 2019 09:27:38 GMT):
where are the keys stored in sawtooth seth? locally?

nanspro (Sat, 12 Jan 2019 10:08:32 GMT):
Has joined the channel.

youngerjo (Tue, 22 Jan 2019 04:48:29 GMT):
Has joined the channel.

RaphaelChua (Tue, 22 Jan 2019 14:27:17 GMT):
decode payload

AdityaRout1 (Wed, 23 Jan 2019 08:09:57 GMT):
Has joined the channel.

AdityaRout1 (Wed, 23 Jan 2019 08:29:21 GMT):
Hey, I have an issue when I try to deploy multiple contracts at the same time from the same account. Only one contract gets deployed for all others, it shows: 'Problem submitting account creation transaction: Invalid transaction'. I guess this is because of the nonce being fetched from the blockchain. Is there any way to handle this?

AdityaRout1 (Wed, 23 Jan 2019 08:29:21 GMT):
Hey, I have an issue when I try to deploy multiple contracts at the same time from the same account. Only one contract gets deployed and for all others, it shows: 'Problem submitting account creation transaction: Invalid transaction'. I guess this is because of the nonce being fetched from the blockchain. Is there any way to handle this?

AdityaRout1 (Wed, 23 Jan 2019 08:29:21 GMT):
Hey, I have an issue when I try to deploy multiple contracts at the same time from the same account. Only one contract gets deployed and for all others, it shows: 'Problem submitting account creation transaction: Invalid transaction'. I guess this is because of the account nonce being fetched from the blockchain. Is there any way to handle this?

rkrish82 (Tue, 29 Jan 2019 08:13:40 GMT):
Hello Seth Dev team, I was following the instruction in the doc to try out seth - https://sawtooth.hyperledger.org/docs/seth/releases/latest/ , I am getting follow error while creating the account..

rkrish82 (Tue, 29 Jan 2019 08:13:55 GMT):
seth account create --nonce=0 --wait myalias Enter Password to unlock myalias: Error: Problem submitting account creation transaction: Code : 18 Title : Validator Disconnected Message : The validator disconnected before sending a response. Try your request again later.

rkrish82 (Tue, 29 Jan 2019 08:17:43 GMT):
I could see that validator container exits with panic error

rkrish82 (Tue, 29 Jan 2019 08:18:23 GMT):
sawtooth-validator | thread '' panicked at 'called `Result::unwrap()` on an `Err` value: Other("TypeError")', src/libcore/result.rs:1009:5 sawtooth-validator | note: Run with `RUST_BACKTRACE=1` for a backtrace. sawtooth-validator | fatal runtime error: failed to initiate panic, error 5 devmode-engine-rust | INFO | sawtooth_sdk::messag | Received Disconnect devmode-engine-rust | thread 'main' panicked at 'Failed to summarize block: ReceiveError("DisconnectedError")', src/libcore/result.rs:1009:5 devmode-engine-rust | note: Run with `RUST_BACKTRACE=1` for a backtrace. settings-tp | [2019-01-29 07:01:04.940 DEBUG stream] monitor socket received disconnect event seth-tp | 2019/01/29 07:01:04.943552 processor.go:320: [INFO] Validator 'tcp://validator:4004' disconnected seth-rpc | [00:47:21.827] (140717906908928) ERROR Failed to send disconnect: sending on a closed channel settings-tp | [2019-01-29 07:01:04.942 ERROR base_events] Task exception was never retrieved settings-tp | future: exception=CancelledError()> settings-tp | concurrent.futures._base.CancelledError

Dvi 19 (Thu, 31 Jan 2019 10:45:34 GMT):
Hello Team, how is data stored in sawtooth seth? This is, I have an smart contract that stores an array that is growing (using push function). When I push a new objet in the array, where is it phisically stored? in a block? or all the array is stored in the smart contract address?

Dvi 19 (Thu, 31 Jan 2019 10:45:59 GMT):
What is recommended to store large arrays?

Dvi 19 (Thu, 31 Jan 2019 10:53:15 GMT):
do they have a limit (in length)?

Dvi 19 (Thu, 31 Jan 2019 11:16:47 GMT):
the contract storage is distributed in the blocks?

RaphaelChua (Fri, 01 Feb 2019 17:47:38 GMT):
i think this channel is dead

amundson (Fri, 01 Feb 2019 17:58:55 GMT):
the developers are spread thin is all, working on a lot of stuff

amundson (Fri, 01 Feb 2019 18:00:18 GMT):
re:storage - each contract has local storage stored with the contract (because that's how it works with the EVM), and that pair is stored in a leaf node of the Merkle-Radix tree within sawtooth

amundson (Fri, 01 Feb 2019 18:01:31 GMT):
blocks contain transactions which are used to modify state; so if you submit a transaction to make a change, that is stored in a block, but the state that is changed is not. the block has a merkle root hash pointing to the correct resulting tree after the block is published

amundson (Fri, 01 Feb 2019 18:03:31 GMT):
re:large arrays / limit - this shouldn't differ than common practice when writing solidity contracts, and I'm not a solidity developer myself so I'm not sure

danintel (Fri, 01 Feb 2019 19:35:57 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=P2527b6RhKamEeuXy) @rkrish82 The latest commits (Jan. 14 &15) of https://github.com/hyperledger/sawtooth-seth/commits/master added support for Ubuntu 18 (Bionic) and Sawtooth 1.3 (nightly). I suggest you try something more stable--that is without these changes on Ubuntu 16 (Xenial) and Sawtooth 1.2. That is the version committed Dec. 14, 2018 at https://github.com/hyperledger/sawtooth-seth/tree/0a409f333ed6311e3c65f4e6101accb2d438487f

prabu3192 (Mon, 04 Feb 2019 06:00:40 GMT):
Has joined the channel.

nanspro (Wed, 06 Feb 2019 15:26:35 GMT):
Has left the channel.

Dvi 19 (Thu, 07 Feb 2019 10:38:14 GMT):
can we use the last version of solidity to develop smart contracts for sawtooth seth?

RaphaelChua (Mon, 11 Feb 2019 13:55:14 GMT):
the seth doc website has been taken down?

agunde (Mon, 11 Feb 2019 14:09:32 GMT):
@RaphaelChua Ill make sure someone looks into it.

agunde (Mon, 11 Feb 2019 17:09:35 GMT):
@RaphaelChua It should be fixed now.

RaphaelChua (Mon, 11 Feb 2019 17:10:11 GMT):
thanks

pankajgoyal (Wed, 13 Feb 2019 09:11:35 GMT):
I cloned sawtooth-seth repo and ran docker-compose-installed.yaml with DISTRO=xenial. When I ran command "seth account import key-file.pem myalias", it is throwing error: root@f38b5288cd8d:/project/sawtooth-seth# seth account import key-file.pem myalias error: Found argument 'myalias' which wasn't expected, or isn't valid in this context USAGE: seth account import [OPTIONS] For more information try --help root@f38b5288cd8d:/project/sawtooth-seth# If I run command without myalias, it gives me error: root@f38b5288cd8d:/project/sawtooth-seth# seth account import key-file.pem Error: JsonRpcError { code: -32069, message: "Private key must be hex-encoded" } root@f38b5288cd8d:/project/sawtooth-seth#

pankajgoyal (Wed, 13 Feb 2019 09:12:07 GMT):
Also, I observed that devmode-engine-rust container is getting exited after some time: devmode-engine-rust | ERROR | devmode_engine_rust: | ReceiveError: TimeoutError devmode-engine-rust exited with code 1

Dvi 19 (Wed, 13 Feb 2019 10:10:42 GMT):
Can we use the latest version of solidity (0.5.4) to develop smart contracts for seth?

Dvi 19 (Wed, 13 Feb 2019 10:10:42 GMT):
@agunde Can we use the latest version of solidity (0.5.4) to develop smart contracts for seth?

ed2dword (Wed, 13 Feb 2019 15:35:42 GMT):
Has joined the channel.

ed2dword (Wed, 13 Feb 2019 15:38:42 GMT):
Hello, sorry if this is a simple question. I'm trying to go through the docs, cloned the repo and try to run docker-compose up --build, when building seth-sli-go, get this error: Step 14/17 : RUN seth-protogen go ---> Running in 3a7ec451d046 /usr/bin/env: 'python3\r': No such file or directory ERROR: Service 'seth-cli-go' failed to build: The command '/bin/sh -c seth-protogen go' returned a non-zero code: 127 I've looked around and seen general solutions for that usr/bin/*... error but still am not sure how to proceed in this case. Thanks in advance

ed2dword (Wed, 13 Feb 2019 15:38:42 GMT):
Hello, sorry if this is a simple question. I'm trying to go through the docs, cloned the repo and try to run docker-compose up --build, when building seth-sli-go, get this error: Step 14/17 : RUN seth-protogen go ---> Running in 3a7ec451d046 /usr/bin/env: 'python3\r': No such file or directory ERROR: Service 'seth-cli-go' failed to build: The command '/bin/sh -c seth-protogen go' returned a non-zero code: 127 Running on Windows 10 Docker Desktop with Linux containers if that helps Docker version 18.09.1, build 4c52b90 docker-compose version 1.23.2, build 1110ad01 I've looked around and seen general solutions for that usr/bin/*... error but still am not sure how to proceed in this case. Thanks in advance

ed2dword (Wed, 13 Feb 2019 15:38:42 GMT):
Hello, sorry if this is a simple question. I'm trying to go through the docs, cloned the repo and try to run docker-compose up --build, when building seth-sli-go, get this error: Step 14/17 : RUN seth-protogen go ---> Running in 3a7ec451d046 /usr/bin/env: 'python3\r': No such file or directory ERROR: Service 'seth-cli-go' failed to build: The command '/bin/sh -c seth-protogen go' returned a non-zero code: 127 Running on Windows 10 Docker Desktop if that helps Docker version 18.09.1, build 4c52b90 docker-compose version 1.23.2, build 1110ad01 I've looked around and seen general solutions for that usr/bin/*... error but still am not sure how to proceed in this case. Thanks in advance

danintel (Wed, 13 Feb 2019 18:04:25 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=PQSpd3CPE3oGz36cC) @ed2dword This is a WIndows/Linux file compatibility issue. Windows uses two characters for the end of line, `\r\n`, while UNIX/Linux uses one, `\n`. There are various ways of handling it, including editing the Docker file to remove the Windows-specific `\r` characters. Consider running Docker inside a VM running Ubuntu 16 LTS. I use VirtualBox, due to it's ease of use and flexibility, but you can also use Microsoft Hyper V, which comes with Windows 10 (but needs to be enabled and installed).

ed2dword (Wed, 13 Feb 2019 19:28:27 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=vGyrg2jKGrKwd7eZW) @danintel Thank you for your response. I noticed the issue but I wasn't too sure what exactly I would've needed to convert. Ended up re-cloning the repo with `--config core.autocrlf=input` flag and that seems to suffice for now. Will definitely look into switching to VM running Ubuntu.

pankajgoyal (Thu, 14 Feb 2019 04:10:22 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=vnBGDjpEz2ePzqpn7) @danintel I tried with DISTRO=xenial and it has some isues

Dvi 19 (Thu, 14 Feb 2019 11:29:17 GMT):
@danintel Can we use the latest version of solidity (0.5.4) to develop smart contracts for seth?

ra_w (Thu, 14 Feb 2019 12:29:39 GMT):
@danintel How can we create accounts using sdk? and how can we interact or deploy smart contracts from external accounts(not created in sawtooth-seth)?

danintel (Thu, 14 Feb 2019 16:46:25 GMT):
I would clone the version from Dec. 14, 2018. https://github.com/hyperledger/sawtooth-seth/commit/0a409f333ed6311e3c65f4e6101accb2d438487f I know there are separate Xenial and Bionic Docker files, but my guess is it's broken for Xenial. The current source is really only tested on Bionic. Going back to Dec. 14, 2018 would be safer.

RaphaelChua (Sun, 03 Mar 2019 07:04:54 GMT):
i receive this error anyone else got?

RaphaelChua (Sun, 03 Mar 2019 07:04:55 GMT):
pkg_resources.DistributionNotFound: The 'sawtooth-signing' distribution was not found and is required by sawtooth-cli

RaphaelChua (Sun, 03 Mar 2019 07:13:34 GMT):
is sawtooth-signing missing???

RaphaelChua (Sun, 03 Mar 2019 08:40:01 GMT):
anyone?

danintel (Mon, 04 Mar 2019 00:23:11 GMT):
It seems to me you need to install package `python3-sawtooth-signing` and maybe `python3-sawtooth-cli`

Dvi 19 (Mon, 04 Mar 2019 08:49:48 GMT):
is it necessary to unlock the account always using sawtooth seth rcp?

Dvi 19 (Mon, 04 Mar 2019 08:49:56 GMT):
how can we done this programmatically?

Dvi 19 (Mon, 04 Mar 2019 08:49:56 GMT):
how can we do this programmatically?

madmaxio (Mon, 04 Mar 2019 21:27:46 GMT):
Has joined the channel.

Dvi 19 (Wed, 06 Mar 2019 12:22:13 GMT):
is it possible to generate a key without password to use it in seth?

Dvi 19 (Wed, 06 Mar 2019 12:22:44 GMT):
openssl ecparam -genkey -name secp256k1 | openssl ec -out key-file.pem -aes128 generates a key but when we unlock the account we must provide the password

ra_w (Wed, 06 Mar 2019 12:54:07 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=WKEH65rKoa5JAbnNr) @Dvi 19 yes its possible. you can do it without passing the last variable -aes128 give command like :` openssl ecparam -genkey -name secp256k1 | openssl ec -out key-file.pem`

ra_w (Wed, 06 Mar 2019 12:54:07 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=WKEH65rKoa5JAbnNr) @Dvi 19 yes its possible. you can do it without passing the last variable -aes128 give command like : ` openssl ecparam -genkey -name secp256k1 | openssl ec -out key-file.pem`

Dvi 19 (Wed, 06 Mar 2019 13:07:04 GMT):
thanks @ra_w

ra_w (Fri, 08 Mar 2019 04:47:09 GMT):
Hello everyone, I am trying to create account with json rpc usign command: `curl http://0.0.0.0:3030 -d '{"jsonrpc": "2.0", "id": 1, "method": "personal_newAccount", "params":["password", "myalias", "+all"]}' -H "Content-Type: application/json"` It is creating account but returning error {"jsonrpc":"2.0","error":{"code":-32069,"message":"Couldn't get account"},"id":1} any idea whats wrong here

Dvi 19 (Mon, 11 Mar 2019 12:21:52 GMT):
I have 4 smart contracts for my application

Dvi 19 (Mon, 11 Mar 2019 12:22:11 GMT):
one is the main one that imports the three others

Dvi 19 (Mon, 11 Mar 2019 12:22:20 GMT):
must I compile only the main one?

Dvi 19 (Mon, 11 Mar 2019 12:22:27 GMT):
and upload it to the blockchain

Dvi 19 (Mon, 11 Mar 2019 14:17:32 GMT):
what is the "gas limit" in sawtooth?

Dvi 19 (Mon, 11 Mar 2019 14:47:45 GMT):
EVM Error: Invalid opcode 4D697373696E67206F70636F64652030786664

Dvi 19 (Mon, 11 Mar 2019 14:47:48 GMT):
any idea?

danintel (Mon, 11 Mar 2019 15:26:01 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=k2L5noGRJqaA8TkAv) @Dvi 19 There is a gas_limit specified in the transaction, if that is what you mean. https://sawtooth.hyperledger.org/docs/core/nightly/0-8/transaction_family_specifications/sawtooth_burrow_evm_family.html#transaction-payload

danintel (Mon, 11 Mar 2019 15:31:30 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=gBCqaRWGMNs3tQ5su) @Dvi 19 4D doesn't seem to be a valid EVM opcode: https://ethervm.io/

Dvi 19 (Tue, 12 Mar 2019 10:46:09 GMT):
and EVM: Invalid Jump dest error?

Dvi 19 (Tue, 12 Mar 2019 10:47:33 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=aK3quLwsxK6BLKeGd) @danintel How can I set the gas_limit? or increase it

Dvi 19 (Tue, 12 Mar 2019 13:24:04 GMT):
in a smart contract constructor constructor() public { // owners[msg.sender] = true; owner = msg.sender; // setOwner(msg.sender); emit Debug(msg.sender, 1); // emit Debug(owner, 2); }

Dvi 19 (Tue, 12 Mar 2019 13:24:04 GMT):
in a smart contract constructor constructor() public { owner = msg.sender; emit Debug(msg.sender, 1); }

Dvi 19 (Tue, 12 Mar 2019 13:24:19 GMT):
msg.sender is the contract address, is this a bug?

Dvi 19 (Tue, 12 Mar 2019 13:24:19 GMT):
I get in msg.sender the contract address, is this a bug?

Dvi 19 (Tue, 12 Mar 2019 14:16:47 GMT):
https://jira.hyperledger.org/browse/STL-1250

danintel (Tue, 12 Mar 2019 20:05:06 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=gBCqaRWGMNs3tQ5su) @Dvi 19 The message "4D697373696E67206F70636F64652030786664" says "Missing opcode 0xfd"

danintel (Tue, 12 Mar 2019 20:05:42 GMT):
F4 is DELEGATECALL

danintel (Tue, 12 Mar 2019 20:06:01 GMT):
FD is REVERT

danintel (Tue, 12 Mar 2019 20:07:22 GMT):
Your EVM is executing an opcode that it does not support. The compiler must be newer than the EVM.

Dvi 19 (Wed, 13 Mar 2019 09:25:45 GMT):
Account with address `267f6994dd33df8cae469302ecb6912014b53390` not found. when I call using rpc with the public ip

Dvi 19 (Wed, 13 Mar 2019 09:25:52 GMT):
correct when I use localhost

Dvi 19 (Wed, 13 Mar 2019 09:25:54 GMT):
whi?

Dvi 19 (Wed, 13 Mar 2019 09:25:54 GMT):
why?

Dvi 19 (Wed, 13 Mar 2019 09:28:18 GMT):
root@Saw6:~# curl -d '{"jsonrpc": "2.0", "method": "eth_sendTransaction", "id": 2, "params": [{"from": "0x267f6994dd33df8cae469302ecb6912014b53390", "data": "0x893d20e8","to": "0x147a6cfc706b99427f0111ddba6a3092cab925f1"}]}' -H "Content-Type: application/json" localhost:3030 {"jsonrpc":"2.0","result":"0xec0b89fe39a4d49706a6682853dabfb03aba352b2703fceb61c7585165b37c1e51a47f43d25374fe556c2e873e577961ff05c4a3f09b0607db32932d6d2d709c","id":2} root@Saw6:~# curl -d '{"jsonrpc": "2.0", "method": "eth_sendTransaction", "id": 2, "params": [{"from": "0x267f6994dd33df8cae469302ecb6912014b53390", "data": "0x893d20e8","to": "0x147a6cfc706b99427f0111ddba6a3092cab925f1"}]}' -H "Content-Type: application/json" 192.168.2.103:3030 {"jsonrpc":"2.0","error":{"code":-32603,"message":"Internal error"},"id":2}

Dvi 19 (Wed, 13 Mar 2019 09:28:18 GMT):
root@Saw6:~# curl -d '{"jsonrpc": "2.0", "method": "eth_sendTransaction", "id": 2, "params": [{"from": "0x267f6994dd33df8cae469302ecb6912014b53390", "data": "0x893d20e8","to": "0x147a6cfc706b99427f0111ddba6a3092cab925f1"}]}' -H "Content-Type: application/json" *localhost*:3030 {"jsonrpc":"2.0","result":"0xec0b89fe39a4d49706a6682853dabfb03aba352b2703fceb61c7585165b37c1e51a47f43d25374fe556c2e873e577961ff05c4a3f09b0607db32932d6d2d709c","id":2} root@Saw6:~# curl -d '{"jsonrpc": "2.0", "method": "eth_sendTransaction", "id": 2, "params": [{"from": "0x267f6994dd33df8cae469302ecb6912014b53390", "data": "0x893d20e8","to": "0x147a6cfc706b99427f0111ddba6a3092cab925f1"}]}' -H "Content-Type: application/json" *192.168.2.103*:3030 {"jsonrpc":"2.0","error":{"code":-32603,"message":"Internal error"},"id":2}

Dvi 19 (Wed, 13 Mar 2019 09:30:55 GMT):
mar 13 10:28:05 Saw6 rpc.sh[2493]: [00:00:42.083] (139819623634688) ERROR Account with address `267f6994dd33df8cae469302ecb6912014b53390` not found. mar 13 10:28:05 Saw6 rpc.sh[2493]: [00:00:42.083] (139819623634688) ERROR NoResource

Dvi 19 (Wed, 13 Mar 2019 09:31:18 GMT):
using localhost works, but using the ip not

Dvi 19 (Wed, 13 Mar 2019 09:31:46 GMT):
./seht-rpc --connect tcp://127.0.0.1:4004 --bind 192.168.2.103:3030 (this is my rpc service)

Dvi 19 (Wed, 13 Mar 2019 10:21:28 GMT):
also my account is unlocked: se unlocked: 267f6994dd33df8cae469302ecb6912014b53390

Dvi 19 (Wed, 13 Mar 2019 10:21:40 GMT):
"se" is the alias

Dvi 19 (Wed, 13 Mar 2019 10:36:22 GMT):
Hi @danintel , a concept question about sawtooth seth-rpc

Dvi 19 (Wed, 13 Mar 2019 10:36:22 GMT):
Hi , a concept question about sawtooth seth-rpc

Dvi 19 (Wed, 13 Mar 2019 10:37:24 GMT):
Imagine I know the public address of a person, so I could send transactions impersonating his identity isn´t it?

Dvi 19 (Wed, 13 Mar 2019 10:37:28 GMT):
this is a security problem

Dvi 19 (Wed, 13 Mar 2019 10:37:45 GMT):
curl -d '{"jsonrpc": "2.0", "method": "eth_sendTransaction", "id": 2, "params": [{"from": "0x267f6994dd33df8cae469302ecb6912014b53390", "data": "0x893d20e8","to": "0x147a6cfc706b99427f0111ddba6a3092cab925f1"}]}' -H "Content-Type: application/json" localhost:3030

Dvi 19 (Wed, 13 Mar 2019 10:37:45 GMT):
curl -d '{"jsonrpc": "2.0", "method": "eth_sendTransaction", "id": 2, "params": [{"from": "0x267f6994dd33df8cae469302ecb6912014b53390", "data": "0x893d20e8","to": "0x147a6cfc706b99427f0111ddba6a3092cab925f1"}]}' -H "Content-Type: application/json" localhost:3030 **

Dvi 19 (Wed, 13 Mar 2019 10:37:45 GMT):
curl -d '{"jsonrpc": "2.0", "method": "eth_sendTransaction", "id": 2, "params": [{*"from": "0x267f6994dd33df8cae469302ecb6912014b53390"*, "data": "0x893d20e8","to": "0x147a6cfc706b99427f0111ddba6a3092cab925f1"}]}' -H "Content-Type: application/json" localhost:3030 **

Dvi 19 (Wed, 13 Mar 2019 10:37:45 GMT):
curl -d '{"jsonrpc": "2.0", "method": "eth_sendTransaction", "id": 2, "params": [{*"from": "0x267f6994dd33df8cae469302ecb6912014b53390"*, "data": "0x893d20e8","to": "0x147a6cfc706b99427f0111ddba6a3092cab925f1"}]}' -H "Content-Type: application/json" localhost:3030

Dvi 19 (Wed, 13 Mar 2019 10:37:45 GMT):
curl -d '{"jsonrpc": "2.0", "method": "eth_sendTransaction", "id": 2, "params": [{"from": "0x267f6994dd33df8cae469302ecb6912014b53390", "data": "0x893d20e8","to": "0x147a6cfc706b99427f0111ddba6a3092cab925f1"}]}' -H "Content-Type: application/json" localhost:3030

Dvi 19 (Wed, 13 Mar 2019 10:38:14 GMT):
imagine I change the "from" field

Dvi 19 (Wed, 13 Mar 2019 10:38:33 GMT):
because I know the public key of another person

Dvi 19 (Wed, 13 Mar 2019 11:28:31 GMT):
any idea?

Dvi 19 (Wed, 13 Mar 2019 12:28:23 GMT):
why is the "from" mandatory? It can derived from the certificate...

Dvi 19 (Wed, 13 Mar 2019 16:05:41 GMT):
any example with web3?

Dvi 19 (Wed, 13 Mar 2019 17:57:25 GMT):
is it possible to unlock the account from the client, and then, call a function in a smart contract?

Dvi 19 (Wed, 13 Mar 2019 17:57:37 GMT):
I dont want to unlock the acount in the rpc server

Dvi 19 (Wed, 13 Mar 2019 19:01:11 GMT):
I think the user must unlock it account in the client, not in the rpc

SinghJaideepJi (Thu, 14 Mar 2019 00:33:36 GMT):
Has joined the channel.

SinghJaideepJi (Thu, 14 Mar 2019 01:04:05 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=apWAHAnPsKtmCynD3) @ed2dword @ed2dword, I also got the same 'python3\r' error. I used `--config core.autocrlf=input` but then stumbled upon another Error. @danintel Thanks for sharing the root cause. For me the below mentioned solution worked. I used the below mentioned utility to convert windows line breaks to Linux Line Breaks. Note - I used cmder FULL version (https://cmder.net/) to run this. This command won't work on windows Command Prompt or Windows Power Shell git clone https://github.com/hyperledger/sawtooth-seth.git cd sawtooth-seth\ for /R %G in (*.*) do dos2unix "%G" docker-compose up --build Hope this helps !

SinghJaideepJi (Thu, 14 Mar 2019 01:04:05 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=apWAHAnPsKtmCynD3) @ed2dword @ed2dword, I also got the same 'python3\r' error. I used `--config core.autocrlf=input` but then stumbled upon another Error. @danintel Thanks for sharing the root cause. For me the below mentioned solution worked. I used the below mentioned utility (dos2unix) to convert windows line breaks to Linux Line Breaks. Note - I used cmder FULL version (https://cmder.net/) to run this. This command (dos2unix) won't work on windows Command Prompt or Windows Power Shell git clone https://github.com/hyperledger/sawtooth-seth.git cd sawtooth-seth\ for /R %G in (*.*) do dos2unix "%G" docker-compose up --build Hope this helps !

Dvi 19 (Thu, 14 Mar 2019 22:03:12 GMT):
Is it possible to compile seth and seth-rpc for raspbian @danintel?

Dvi 19 (Fri, 15 Mar 2019 12:02:40 GMT):
E: Unable to locate package python3-grpcio-tools E: Unable to locate package python3-sawtooth-cli

Dvi 19 (Fri, 15 Mar 2019 12:02:51 GMT):
when building seth docker image

lin2xing (Mon, 18 Mar 2019 03:51:21 GMT):
Has joined the channel.

lin2xing (Mon, 18 Mar 2019 03:56:18 GMT):
Is anyone success running the seth docker just like the process what official guideline? which link is, https://sawtooth.hyperledger.org/docs/seth/releases/latest/getting_started.html

lin2xing (Mon, 18 Mar 2019 03:56:18 GMT):
Is anyone success running the seth docker just like the process what official guideline? which link is,

lin2xing (Mon, 18 Mar 2019 03:56:18 GMT):
Is anyone success to add a seth account at the running seth docker just like the process what official guideline? which link is,

lin2xing (Mon, 18 Mar 2019 03:56:18 GMT):
Is anyone success to add a seth account at the running seth docker just like the process what official guideline? which link is, https://sawtooth.hyperledger.org/docs/seth/releases/latest/getting_started.html

lin2xing (Mon, 18 Mar 2019 04:02:10 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=2iKaX7fTh3o2kB7H4) looking the docker compose file, it seems like do not connect devmode concensus process to the sawtooth validator consensus port 5050. this is the copy from the file: devmode-rust: image: hyperledger/sawtooth-devmode-engine-rust:nightly container_name: devmode-engine-rust depends_on: - validator command: devmode-engine-rust -vv --connect tcp://validator:5050 validator: image: hyperledger/sawtooth-validator:nightly container_name: sawtooth-validator ports: - '4004:4004/tcp' - 8800 command: | bash -c " if [ ! -f /etc/keys/validator.priv ]; then sawadm keygen && sawset genesis \ -k /etc/sawtooth/keys/validator.priv \ -o config-genesis.batch && sawset proposal create \ -k /etc/sawtooth/keys/validator.priv \ sawtooth.consensus.algorithm.name=Devmode \ sawtooth.consensus.algorithm.version=0.1 \ sawtooth.validator.batch_injectors=block_info \ -o config.batch && sawadm genesis config-genesis.batch config.batch fi; sawtooth-validator -vv \ --endpoint tcp://validator:8800 \ --bind component:tcp://eth0:4004 \ --bind network:tcp://eth0:8800 "

lin2xing (Mon, 18 Mar 2019 04:02:10 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=2iKaX7fTh3o2kB7H4) and the out put for my edited compose file is : Recreating devmode-engine-rust ... done Attaching to sawtooth-validator, block-info-tp, settings-tp, seth-cli, rest-api, seth-cli-go, seth-tp, seth-rpc, devmode-engine-rust devmode-engine-rust | DEBUG | devmode_engine_rust: | Min: 0 -- Max: 0 devmode-engine-rust | INFO | devmode_engine_rust: | Wait time: 0 devmode-engine-rust | DEBUG | devmode_engine_rust: | Initializing block devmode-engine-rust | INFO | devmode_engine_rust: | Timer expired -- publishing block devmode-engine-rust | DEBUG | devmode_engine_rust: | Finalizing block devmode-engine-rust | WARN | devmode_engine_rust: | Block not ready to summarize devmode-engine-rust | INFO | sawtooth_sdk::messag | Received Disconnect devmode-engine-rust | thread 'main' panicked at 'Failed to summarize block: ReceiveError("DisconnectedError")', src/libcore/result.rs:1009:5 devmode-engine-rust | note: Run with `RUST_BACKTRACE=1` for a backtrace. devmode-engine-rust exited with code 101

lin2xing (Mon, 18 Mar 2019 04:05:39 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=2iKaX7fTh3o2kB7H4) so I try to connect devmode tp to validator, but also fail, I add 2 line in the compose file for validator , - '5050:5050/tcp' ###add for test Devmode consense engine --bind consensus:tcp://eth0:5050 \ ###add for test Devmode consense enginge

lin2xing (Mon, 18 Mar 2019 04:09:41 GMT):
the useful message for out put of original compose file is: devmode-engine-rust | ERROR | devmode_engine_rust: | ReceiveError: TimeoutError devmode-engine-rust | DEBUG | sawtooth_sdk::messag | Disconnected outbound channel devmode-engine-rust | DEBUG | sawtooth_sdk::messag | Exited stream devmode-engine-rust | DEBUG | zmq:547 | socket dropped devmode-engine-rust | DEBUG | zmq:547 | socket dropped devmode-engine-rust | DEBUG | zmq:454 | context dropped devmode-engine-rust exited with code 1 rest-api | [2019-03-15 10:09:23.457 WARNING route_handlers] Timed out while waiting for validator response rest-api | [2019-03-15 10:09:23.458 INFO helpers] GET /batch_statuses?id=826be8d84081ecd8c262e75ff75c938791176efc5f2a8333d7a001e2391456bf7f95265b02992d95a86aad91bfc34eafc18a7536dc77325f3ac920b813b27eaf&wait=300 HTTP/1.1: 503 status, 384 size, in 120.012359 s

danintel (Fri, 22 Mar 2019 21:52:15 GMT):
@lin2xing The Docker compose file is broken with Seth for Sawtooth 1.1. I just created PR#96 with a fix: https://github.com/hyperledger/sawtooth-seth/pull/96 It is in review and will take several weeks for review and integration and the next release, so you can copy over the above changes manually for now.

danintel (Fri, 22 Mar 2019 22:02:26 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=tpftpNtu6ubrWYf7m) @Dvi 19 That is strange. I was able to build the the docker image and it found those packages. If you are behind a proxy, you need this fix: https://github.com/hyperledger/sawtooth-seth/pull/95 Otherwise I do not know. Maybe there was network problems.

danintel (Mon, 25 Mar 2019 22:43:15 GMT):
I am following the Seth docs at https://sawtooth.hyperledger.org/docs/seth/releases/latest/getting_started.html But I am stuck at this step. I tried it a few times with the same results. Any ideas? ```$ sudo docker exec -it seth-cli-go bash root@9a97e2e9fbac:/project/sawtooth-seth# openssl ecparam -genkey -name secp256k1 | openssl ec -out key-file.pem -aes128 read EC key writing EC key Enter PEM pass phrase: Verifying - Enter PEM pass phrase: root@9a97e2e9fbac:/project/sawtooth-seth# seth account import key-file.pem myaliasKey at key-file.pem imported with alias myalias root@9a97e2e9fbac:/project/sawtooth-seth# seth account create --nonce=0 --wait myalias Enter Password to unlock myalias: Error: Problem submitting account creation transaction: invalid character '<' looking for beginning of value```

kodonnel (Tue, 26 Mar 2019 14:34:56 GMT):
I've not seen that error, but seeing as how it is '<' it is complaining about, and that's really the first step where you actually contact seth, I'd maybe double check quickly for a proxy problem or similar.

danintel (Tue, 26 Mar 2019 15:24:42 GMT):
I Googled it and the "invalid character '<'" problem seems to be related to a parsing problem parsing ``. This occurs when a new field is added, but not set to a value.

danintel (Tue, 26 Mar 2019 15:26:02 GMT):
It's pretty obvious that the latest changes to Seth were just made but never tested, since it does not work out-of-the-box. So I am going to try older commits back to pre-Sawtooth 1.1 and see if that works OK.

danintel (Tue, 26 Mar 2019 15:26:02 GMT):
It's pretty obvious that the latest changes to Seth were just made but never tested, since it does not work out-of-the-box. So I am going to try older commits back to pre-Sawtooth 1.1 and see if that works OK. Looking at the commit log, the last change before the regression is changeset a409f3 which should work with Sawtooth 1.0.x.

danintel (Tue, 26 Mar 2019 15:26:02 GMT):
I am going to try older commits back to pre-Sawtooth 1.1 and see if that works OK. Looking at the commit log, the last change before the regression is changeset a409f3 which should work with Sawtooth 1.0.x.

kodonnel (Tue, 26 Mar 2019 19:37:14 GMT):
good spot.

kodonnel (Tue, 26 Mar 2019 19:42:16 GMT):
main thing that jumps out at me as related is the switching to SDK 0.2 and from 1.0 to nightly

danintel (Wed, 27 Mar 2019 20:19:14 GMT):
Seth works when a proxy is not required (at least with Sawtooth 1.0 and older changeset a409f3). This command fails when inside a corporate proxy, due to some behind-the-scenes network request: `seth account create --nonce=0 --wait myalias`

danintel (Wed, 27 Mar 2019 21:24:47 GMT):
When I run seth with the current changeset (which runs Sawtooth 1.2 nightly + Ubuntu 18 (Bionic), `sawtooth-validator` panics when I run this step: `seth account create --nonce=0 --wait myalias` The issue I filed is https://jira.hyperledger.org/browse/STL-1509

danintel (Wed, 27 Mar 2019 21:24:47 GMT):
When I run seth with the current changeset (which runs Sawtooth 1.2 nightly + Ubuntu 18 (Bionic), `sawtooth-validator` panics when I run this step: `seth account create --nonce=0 --wait myalias` The issue I filed is https://jira.hyperledger.org/browse/STL-1509 So the moral of this story is use the older changeset I mention above, even outside of a corporate proxy. Otherwise, Seth will not work.

danintel (Wed, 27 Mar 2019 22:38:39 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=KFLmbvnHkgnS2mjo7) @rkrish82 I filed a JIRA issue for this panic: https://jira.hyperledger.org/browse/STL-1509 I have no fix. The problem is basically the latest changeset does not work, even when running on Internet with no proxy required. THe workaround is to roll back seth to changeset 52a0512 (Disable clippy warning about not returning Self). This forces seth to run docker-compose with Ubuntu 16 (Xenial) and Sawtooth 1.1.

danintel (Wed, 27 Mar 2019 22:38:39 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=KFLmbvnHkgnS2mjo7) @rkrish82 I filed a JIRA issue for this panic: https://jira.hyperledger.org/browse/STL-1509 I have no fix for the panic of `seth account create --nonce=0 --wait myalias` . The problem is basically the latest changeset does not work, even when running on Internet with no proxy required. THe workaround is to roll back seth to changeset 52a0512 (Disable clippy warning about not returning Self). This forces seth to run docker-compose with Ubuntu 16 (Xenial) and Sawtooth 1.1.

danintel (Wed, 27 Mar 2019 22:38:39 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=KFLmbvnHkgnS2mjo7) @rkrish82 I filed a JIRA issue for this panic: https://jira.hyperledger.org/browse/STL-1509 I have no fix for the panic of `seth account create --nonce=0 --wait myalias` . The problem is basically the latest changeset does not work, even when running on Internet with no proxy required. The workaround is to roll back seth to changeset 52a0512 (Disable clippy warning about not returning Self). This forces seth to run docker-compose with Ubuntu 16 (Xenial) and Sawtooth 1.1.

danintel (Wed, 27 Mar 2019 22:43:53 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=45hL2w5StwEtNMDWY) @lin2xing I looked into this further. It looks like this bug (the panic in `sawtooth-validator` is at the same location, result.rs:1009:5: https://jira.hyperledger.org/browse/STL-1509 The problem is basically the latest changeset does not work, even when running on Internet with no proxy required. The workaround is to roll back seth to changeset 52a0512 (Disable clippy warning about not returning Self). This forces seth to run docker-compose with Ubuntu 16 (Xenial) and Sawtooth 1.1.

danintel (Wed, 27 Mar 2019 22:43:53 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=45hL2w5StwEtNMDWY) @lin2xing I looked into this further. It looks like this bug (the panic in `sawtooth-validator` is at the same location, result.rs:1009:5: https://jira.hyperledger.org/browse/STL-1509 The problem is basically the latest changeset does not work, even when running on Internet with no proxy required. The workaround is to roll back seth to changeset 52a0512 (Disable clippy warning about not returning Self). This forces seth to run docker-compose with Ubuntu 16 (Xenial) and Sawtooth 1.0.

danintel (Wed, 27 Mar 2019 22:46:55 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=9iWcRaGTWQcWYjsL5) @rkrish82 This looks like this bug: https://jira.hyperledger.org/browse/STL-1509 The workaround I found is to roll back seth to changeset 52a0512 (Disable clippy warning about not returning Self). This forces seth to run docker-compose with Ubuntu 16 (Xenial) and Sawtooth 1.1.

futjrn (Fri, 29 Mar 2019 02:22:30 GMT):
Has joined the channel.

futjrn (Fri, 29 Mar 2019 02:22:34 GMT):
hi

futjrn (Fri, 29 Mar 2019 02:22:46 GMT):
does SETH work just like an evm?

futjrn (Fri, 29 Mar 2019 02:23:22 GMT):
interperting contracts and providing tokens etc

futjrn (Fri, 29 Mar 2019 02:24:26 GMT):
or should we just use burrow?

futjrn (Fri, 29 Mar 2019 02:35:00 GMT):
weird how seth isn't a command after docker builds

futjrn (Fri, 29 Mar 2019 02:38:59 GMT):
Futjrns-MacBook-Pro:sawtooth-seth futjrn$ seth account import key-file.pem futjrn -bash: seth: command not found

futjrn (Fri, 29 Mar 2019 02:39:02 GMT):
so weir

futjrn (Fri, 29 Mar 2019 02:39:05 GMT):
weird

futjrn (Fri, 29 Mar 2019 04:19:06 GMT):
is there @anyone out there?

anyone (Fri, 29 Mar 2019 04:19:07 GMT):
Has joined the channel.

danintel (Fri, 29 Mar 2019 04:32:15 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=7sL59WHzMXihY5Ygo) @futjrn Seth is there...just not in your path

danintel (Fri, 29 Mar 2019 04:33:24 GMT):
Yes. Seth is a EVM. It uses Burrow inside a Sawtooth Transaction Processor

danintel (Fri, 29 Mar 2019 04:33:24 GMT):
Yes. Seth is an EVM. It uses Burrow inside a Sawtooth Transaction Processor

futjrn (Fri, 29 Mar 2019 04:34:50 GMT):
so wat dew?

konsmosc (Fri, 29 Mar 2019 10:35:03 GMT):
Has joined the channel.

futjrn (Fri, 29 Mar 2019 14:43:16 GMT):
docker-compse ctrl-n bash seth not a command

futjrn (Fri, 29 Mar 2019 14:43:23 GMT):
your out of the box readme doesn't work

futjrn (Fri, 29 Mar 2019 14:43:26 GMT):
just sayin

futjrn (Fri, 29 Mar 2019 14:43:28 GMT):
@anyone

futjrn (Fri, 29 Mar 2019 15:03:46 GMT):
$ docker exec -it seth-cli-go bash openssl ecparam -genkey -name secp256k1 | openssl ec -out key-file.pem -aes128 seth account import key-file.pem myalias seth isn't a command

danintel (Fri, 29 Mar 2019 15:38:16 GMT):
@futjrn You are not following the directions. Here is an example that might help: ``` $ sudo docker exec -it seth-cli-go bash [sudo] password for dano: root@dbcbd0e4f3ac:/project/sawtooth-seth# which seth /project/sawtooth-seth/cli-go/bin/seth root@dbcbd0e4f3ac:/project/sawtooth-seth# seth -h Usage: seth [OPTIONS] ```

gno-eagrai (Sat, 30 Mar 2019 03:24:58 GMT):
Has joined the channel.

gno-eagrai (Sat, 30 Mar 2019 03:30:38 GMT):
I'm a newbie for both Seth and Ethereum. Let me ask the compile process in Seth. I think in Solidity ^0.5.0, variables in token contract is moved to Migration file. is it possible to reflect these variables in Seth? If I misunderstood, I would apologize in advance.

gno-eagrai (Sat, 30 Mar 2019 03:42:19 GMT):
Sorry, I misunderstood. Now the problem is solved. sorry for confusing.

futjrn (Sat, 30 Mar 2019 19:22:56 GMT):
@danintel

futjrn (Sat, 30 Mar 2019 19:23:10 GMT):

Screenshot 2019-03-30 at 2.22.40 PM.png

TheAlienMind (Mon, 01 Apr 2019 02:28:38 GMT):
Has joined the channel.

TheAlienMind (Mon, 01 Apr 2019 02:31:11 GMT):
Hello, I am trying to get Seth up and running using docker-compose as per the documentation here (https://sawtooth.hyperledger.org/docs/seth/releases/latest/getting_started.html). However, when I get to the point of creating a new account, my rust-engine-devmode panics and exits with code 101, and the validator exits too. Is this a known bug? Prior to the last update I was facing the connection timed out bug while trying to create accounts

TheAlienMind (Mon, 01 Apr 2019 02:33:55 GMT):
Here are my docker logs when I try to create account ``` sawtooth-validator | thread '' panicked at 'called `Result::unwrap()` on an `Err` value: Other("TypeError")', src/libcore/result.rs:997:5 sawtooth-validator | note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace. sawtooth-validator | fatal runtime error: failed to initiate panic, error 5 rest-api | [2019-04-01 02:24:57.158 DEBUG state_delta_subscription_handler] Validator disconnected rest-api | [2019-04-01 02:24:57.159 WARNING route_handlers] Validator disconnected while waiting for response rest-api | [2019-04-01 02:24:57.159 INFO helpers] GET /batch_statuses?id=297462cc237153ab2e4720f5a70baba9e3cdda13e91c97701d40f6436bdd0554524b97ee2f8942fddd3cbfd419bacdc4874a21b5111c0abc64abfecd74dfd1a6&wait=60 HTTP/1.1: 503 status, 351 size, in 0.233193 s devmode-engine-rust | INFO | sawtooth_sdk::messag | Received Disconnect seth-rpc | [00:01:23.272] (139923523495680) ERROR Failed to send disconnect: sending on a closed channel block-info-tp | INFO | sawtooth_sdk::messag | Received Disconnect block-info-tp | DEBUG | sawtooth_sdk::messag | Exited stream block-info-tp | INFO | sawtooth_sdk::proces | Trying to Reconnect block-info-tp | INFO | sawtooth_sdk::proces | connecting to endpoint: tcp://validator:4004 block-info-tp | DEBUG | zmq:547 | socket dropped block-info-tp | DEBUG | zmq:547 | socket dropped block-info-tp | DEBUG | zmq:454 | context dropped settings-tp | INFO | sawtooth_sdk::messag | Received Disconnect settings-tp | DEBUG | sawtooth_sdk::messag | Exited stream settings-tp | DEBUG | zmq:547 | socket dropped settings-tp | DEBUG | zmq:547 | socket dropped seth-tp | 2019/04/01 02:24:57.158579 processor.go:320: [INFO] Validator 'tcp://validator:4004' disconnected seth-tp | 2019/04/01 02:24:57.158645 processor.go:380: [INFO] Received command to restart seth-tp | 2019/04/01 02:24:57.158696 processor.go:451: [DEBUG] Workers done 0/4 seth-tp | 2019/04/01 02:24:57.158708 processor.go:451: [DEBUG] Workers done 1/4 seth-tp | 2019/04/01 02:24:57.158713 processor.go:451: [DEBUG] Workers done 2/4 seth-tp | 2019/04/01 02:24:57.158718 processor.go:451: [DEBUG] Workers done 3/4 seth-tp | 2019/04/01 02:24:57.158723 processor.go:454: [DEBUG] Workers done 4/4 seth-tp | 2019/04/01 02:24:57.158967 connection.go:100: [INFO] Connecting to tcp://validator:4004 seth-tp | 2019/04/01 02:24:57.159056 connection.go:97: [INFO] Binding to inproc://workers seth-tp | 2019/04/01 02:24:57.159078 connection.go:97: [INFO] Binding to inproc://shutdown seth-tp | 2019/04/01 02:24:57.159094 connection.go:100: [INFO] Connecting to inproc://shutdown seth-tp | 2019/04/01 02:24:57.159116 processor.go:146: [DEBUG] Registering (seth, 1.0, [a68b06]) seth-tp | 2019/04/01 02:24:57.161688 connection.go:100: [INFO] Connecting to inproc://workers seth-tp | 2019/04/01 02:24:57.161799 connection.go:100: [INFO] Connecting to inproc://workers seth-tp | 2019/04/01 02:24:57.161884 connection.go:100: [INFO] Connecting to inproc://workers seth-tp | 2019/04/01 02:24:57.162028 connection.go:100: [INFO] Connecting to inproc://workers settings-tp | INFO | sawtooth_sdk::proces | Trying to Reconnect settings-tp | INFO | sawtooth_sdk::messag | Sender has already closed. settings-tp | INFO | sawtooth_sdk::proces | connecting to endpoint: tcp://validator:4004 settings-tp | DEBUG | zmq:454 | context dropped devmode-engine-rust | thread 'main' panicked at 'Failed to summarize block: ReceiveError("DisconnectedError")', src/libcore/result.rs:1009:5 devmode-engine-rust | note: Run with `RUST_BACKTRACE=1` for a backtrace. settings-tp | INFO | sawtooth_sdk::proces | sending TpRegisterRequest: sawtooth_settings 1.0 block-info-tp | INFO | sawtooth_sdk::proces | sending TpRegisterRequest: block_info 1.0 devmode-engine-rust exited with code 101 sawtooth-validator exited with code 139 rest-api | [2019-04-01 02:24:58.160 DEBUG state_delta_subscription_handler] Attempting to resubscribe... ```

TheAlienMind (Mon, 01 Apr 2019 02:35:10 GMT):
And here are the error logs from inside the Seth-cli-go docker image: ``` Enter Password to unlock myalias: Error: Problem submitting account creation transaction: Code : 18 Title : Validator Disconnected Message : The validator disconnected before sending a response. Try your request again later. ```

konsmosc (Mon, 01 Apr 2019 14:31:03 GMT):
@danintel The function of *SetStorage* here https://github.com/hyperledger/sawtooth-seth/blob/master/processor/src/seth_tp/handler/sawtooth_app_state.go has a bug. When you make transactions it gets all the state, append the new entry and rewrite all the state again, plus it has a defer function with a useless for loop with a debug logger that logs everything. Now if you have transactions of let's say bytes(something that is dynamic), some time the hard drive is going to be full. When you make a down/up to the containers the disk returns to it's starting point...... The information is there because of the volume usage.

lin2xing (Wed, 03 Apr 2019 07:02:56 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=Dput4uoc8idXc5mz5) @danintel thanks a lot Danintel, I have got around by downgrade to Ubuntu 16 (Xenial) version, and try to test it

ra_w (Wed, 03 Apr 2019 11:57:19 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=Dput4uoc8idXc5mz5) @danintel Is there any update to this issue? I am getting same error

JonGeater (Wed, 03 Apr 2019 14:23:23 GMT):
Has joined the channel.

danintel (Thu, 04 Apr 2019 17:56:23 GMT):
@ra_w No update. You need to roll back to an older version.

Keegan-Lee (Fri, 05 Apr 2019 16:57:03 GMT):
Has joined the channel.

Keegan-Lee (Fri, 05 Apr 2019 16:58:38 GMT):
Hi there, which version is the last working version? I am also getting the account creation error and would like to experiment with seth as soon as I can. \

Keegan-Lee (Fri, 05 Apr 2019 16:58:38 GMT):
Hi there, which version is the last working version? I am also getting the account creation error and would like to experiment with seth as soon as I can.

danintel (Fri, 05 Apr 2019 17:47:37 GMT):
@Keegan-Lee Changeset 52a0512, as I mention above, works for me. This runs Seth with Sawtooth 1.0.

rbuysse (Sun, 07 Apr 2019 14:29:43 GMT):
Has joined the channel.

MarLu96 (Mon, 08 Apr 2019 14:08:47 GMT):
Has joined the channel.

MarLu96 (Mon, 08 Apr 2019 14:45:25 GMT):
Hi all, I'm facing the same issue with seth account create --nonce=0 --wait myalias. I read that I have to "Roll back seth to changeset 52a0512" but either my English understanding is bad or my computer skills are bad... Because I actually don't understand what it means... Can anyone help me with my stupid question ? Thaaanks :blush:

MarLu96 (Mon, 08 Apr 2019 14:45:25 GMT):
Hi all, I'm facing the same issue with seth account create --nonce=0 --wait myalias. I read that I have to "Roll back seth to changeset 52a0512" but either my English understanding is bad or my computer skills are bad... Because I actually don't understand what it means and what I concretely have to do to solve it... Can anyone help me with my stupid question ? Thaaanks :blush:

rbuysse (Mon, 08 Apr 2019 14:56:13 GMT):
I'll be taking a look today at the seth errors. Sorry it's happening!

MarLu96 (Thu, 11 Apr 2019 08:38:02 GMT):
``

MarLu96 (Thu, 11 Apr 2019 08:54:00 GMT):

docker-file.txt

MarLu96 (Thu, 11 Apr 2019 08:54:00 GMT):

docker-file.txt

danintel (Thu, 11 Apr 2019 15:47:46 GMT):
@MarLu96 The problem is you are using the latest version of Seth, which is broken--it does not work. The workaround is to roll back Seth to changeset 52a0512 (Disable clippy warning about not returning Self). This forces Seth to run docker-compose with Ubuntu 16 (Xenial) and Sawtooth 1.0. The issue I filed is https://jira.hyperledger.org/browse/STL-1509

ltseeley (Thu, 11 Apr 2019 16:37:13 GMT):
@danintel @MarLu96 @ra_w @lin2xing the issue with seth account creation has been resolved on the master branch of sawtooth-core: https://github.com/hyperledger/sawtooth-core/pull/2064

ltseeley (Thu, 11 Apr 2019 16:38:32 GMT):
There is currently a PR up to backport the fix to 1.1 as well. Ideally we'll get a bugfix release for 1.1 that includes this fix out soon.

danintel (Thu, 11 Apr 2019 16:40:04 GMT):
Thanks. I saw that PR, but it wasn't obvious that it fixed this.

rbuysse (Thu, 11 Apr 2019 19:29:30 GMT):
thanks @ltseeley!

MarLu96 (Fri, 12 Apr 2019 17:46:21 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=j2rbC3v6kqJiuHgxh) @danintel Actually, I didn't have this error, but something different I think. It's like when i want to create an account, I never have any answer back, like if the connection to the validator or to the PoET engine is not well establish

MarLu96 (Fri, 12 Apr 2019 17:46:45 GMT):

Error.png

MarLu96 (Fri, 12 Apr 2019 17:48:17 GMT):

docker-compose.txt

danintel (Fri, 12 Apr 2019 17:53:44 GMT):
@MarLu96 I haven't seen the error ``No batch status link returned!` before. Looking at the source, https://github.com/hyperledger/sawtooth-seth/blob/master/cli-go/src/seth_cli/client/client.go I see it looks like some unexpected error from submitting the transaction.

MarLu96 (Fri, 12 Apr 2019 17:59:11 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=ZevuwSgDvRZNmzjno) @danintel Do you have any idea of what can be the cause? Have you ever tried to create deploy solidity contract but with PoET consensus? When I used the DevMode Engine it works perfectly (with the exact same transactions), but not with PoET :/

MarLu96 (Fri, 12 Apr 2019 17:59:11 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=ZevuwSgDvRZNmzjno) @danintel Do you have any idea of what can be the cause? Have you ever tried to deploy solidity contract but with PoET consensus? When I used the DevMode Engine it works perfectly (with the exact same transactions), but not with PoET :/

MarLu96 (Sat, 13 Apr 2019 06:20:15 GMT):

Error.png

MarLu96 (Sat, 13 Apr 2019 06:20:57 GMT):

command.png

MarLu96 (Sun, 14 Apr 2019 16:22:42 GMT):
multi

MarLu96 (Sun, 14 Apr 2019 16:29:33 GMT):
Has anyone tried installing seth on multi-node network setup? is there any examples of docker compose file that can help?

MarLu96 (Wed, 17 Apr 2019 09:03:57 GMT):
Any answer? :)

arjanvaneersel (Fri, 19 Apr 2019 07:55:29 GMT):
Has joined the channel.

gno-eagrai (Mon, 22 Apr 2019 00:57:41 GMT):
So, what can I do after STL-1509 has closed? I do not think it resolved the problem on Seth. And if it has not resolved the problem, could anyone tell me how to access changeset 52a0512? I want to try working version of Seth.

Dan (Mon, 22 Apr 2019 13:04:21 GMT):
Anyone who worked on JSON-RPC, can I assume this issue can be closed? https://jira.hyperledger.org/browse/STL-648

Dan (Mon, 22 Apr 2019 13:11:05 GMT):
@danintel can you please clarify for @gno-eagrai I don't see a commit with that ID however I see this commit: ```commit 20deded8b0a0d27589cbbccc5c1b4ffc5f8a5466 Author: Kenneth Koski Date: Fri Dec 7 13:32:26 2018 -0600 Disable clippy warning about not returning Self Signed-off-by: Kenneth Koski ```

gno-eagrai (Wed, 24 Apr 2019 02:10:02 GMT):
Thanks @Dan. I found rberg2 fork version, but it still have the problem with validator disconnected which @TheAlienMind indicated. I may not understand how to install sawtooth-seth. Do I need to install sawtooth-core as well?

TheAlienMind (Wed, 24 Apr 2019 10:21:13 GMT):
@gno-eagrai The issue is now resolved for me. I deleted my old Seth files and pulled the latest version. docker-compose up --build then worked just fine

TheAlienMind (Wed, 24 Apr 2019 10:22:20 GMT):
Does anyone know if it is possible to import aliases into Seth-rpc after the container has been started? I am trying to create a helm chart for sawtooth-seth but this is holding me back

TheAlienMind (Wed, 24 Apr 2019 10:28:05 GMT):
This bug report exists and says its resolved but I cannot find the "workaround" suggested in it anywhere. What is the workaround?? Alias not found in key direct

TheAlienMind (Wed, 24 Apr 2019 10:28:05 GMT):
This bug report exists and says its resolved but I cannot find the "workaround" suggested in it anywhere. What is the workaround?

TheAlienMind (Wed, 24 Apr 2019 10:28:16 GMT):
https://jira.hyperledger.org/browse/STL-1141?jql=labels%20%3D%20Seth

danintel (Wed, 24 Apr 2019 19:30:03 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=YZouAkZhuGLXr4JMx) @TheAlienMind The workaround apparently is the one posted to this channel, #sawtooth-seth , on April 20, 2018. I updated STL-1141 with the workaround.

gno-eagrai (Thu, 25 Apr 2019 00:04:02 GMT):
Thanks @TheAlienMind . But it is still not working for me. The docker log is following: `rest-api | [2019-04-24 23:54:35.324 DEBUG route_handlers] Sending CLIENT_BATCH_SUBMIT_REQUEST request to validator rest-api | [2019-04-24 23:54:35.346 DEBUG route_handlers] Received CLIENT_BATCH_SUBMIT_RESPONSE response from validatorwith status OK rest-api | [2019-04-24 23:54:35.348 INFO helpers] POST /batches HTTP/1.1: 202 status, 347 size, in 0.024536 s rest-api | [2019-04-24 23:54:35.350 DEBUG route_handlers] Sending CLIENT_BATCH_STATUS_REQUEST request to validator block-info-tp | INFO | sawtooth_sdk::proces | Message: 82956afc9ab44eed94faecf85ffcf1e2 block-info-tp | INFO | sawtooth_sdk::proces | TP_PROCESS_REQUEST sending TpProcessResponse: OK seth-tp | 2019/04/24 23:54:35.371730 transaction_handlers.go:148: [DEBUG] Creating new EOA at sender address: 2a323783da05fc0e91deae038756b8a033011bd6 seth-tp | 2019/04/24 23:54:35.371838 sawtooth_app_state.go:53: [DEBUG] GetAccount(2a323783da05fc0e91deae038756b8a033011bd6) seth-tp | 2019/04/24 23:54:35.384557 sawtooth_app_state.go:53: [DEBUG] GetAccount(0000000000000000000000000000000000000000) seth-tp | 2019/04/24 23:54:35.396654 transaction_handlers.go:182: [WARN] Global Permissions not set, all actions allowed! seth-tp | 2019/04/24 23:54:35.396754 sawtooth_app_state.go:75: [DEBUG] UpdateAccount(2a323783da05fc0e91deae038756b8a033011bd6) sawtooth-validator | thread '' panicked at 'called `Result::unwrap()` on an `Err` value: Other("TypeError")', src/libcore/result.rs:997:5 sawtooth-validator | note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace. sawtooth-validator | fatal runtime error: failed to initiate panic, error 5 seth-tp | 2019/04/24 23:54:35.637423 processor.go:320: [INFO] Validator 'tcp://validator:4004' disconnected block-info-tp | INFO | sawtooth_sdk::messag | Received Disconnect block-info-tp | DEBUG | sawtooth_sdk::messag | Exited stream block-info-tp | DEBUG | zmq:547 | socket dropped block-info-tp | DEBUG | zmq:547 | socket dropped block-info-tp | INFO | sawtooth_sdk::proces | Trying to Reconnect block-info-tp | INFO | sawtooth_sdk::messag | Sender has already closed. block-info-tp | INFO | sawtooth_sdk::proces | connecting to endpoint: tcp://validator:4004 block-info-tp | DEBUG | zmq:454 | context dropped devmode-engine-rust | INFO | sawtooth_sdk::messag | Received Disconnect

gno-eagrai (Thu, 25 Apr 2019 00:04:09 GMT):
continues:

gno-eagrai (Thu, 25 Apr 2019 00:04:14 GMT):
seth-rpc | [00:02:04.561] (140460320511744) ERROR Failed to send disconnect: sending on a closed channel devmode-engine-rust | thread 'main' panicked at 'Failed to summarize block: ReceiveError("DisconnectedError")', src/libcore/result.rs:1009:5 devmode-engine-rust | note: Run with `RUST_BACKTRACE=1` for a backtrace. seth-tp | 2019/04/24 23:54:35.645948 processor.go:380: [INFO] Received command to restart seth-tp | 2019/04/24 23:54:35.646122 processor.go:451: [DEBUG] Workers done 0/2 seth-tp | 2019/04/24 23:54:35.646178 processor.go:451: [DEBUG] Workers done 1/2 seth-tp | 2019/04/24 23:54:35.646225 processor.go:454: [DEBUG] Workers done 2/2 seth-tp | 2019/04/24 23:54:35.646705 connection.go:100: [INFO] Connecting to tcp://validator:4004 block-info-tp | INFO | sawtooth_sdk::proces | sending TpRegisterRequest: block_info 1.0 rest-api | [2019-04-24 23:54:35.659 DEBUG state_delta_subscription_handler] Validator disconnected rest-api | [2019-04-24 23:54:35.660 WARNING route_handlers] Validator disconnected while waiting for response seth-tp | 2019/04/24 23:54:35.661869 connection.go:97: [INFO] Binding to inproc://workers seth-tp | 2019/04/24 23:54:35.662035 connection.go:97: [INFO] Binding to inproc://shutdown seth-tp | 2019/04/24 23:54:35.667296 connection.go:100: [INFO] Connecting to inproc://shutdown rest-api | [2019-04-24 23:54:35.673 INFO helpers] GET /batch_statuses?id=365f485d1de31b9b17e7b7c07da391898d091eb0a82340a3605baebf3c33d2af679a1b74a29905e8a58bcf3a1499b92d3e84ee1077ac3298c62715411ee6a7a3&wait=60 HTTP/1.1: 503 status, 351 size, in 0.323206 s settings-tp | INFO | sawtooth_sdk::messag | Received Disconnect settings-tp | DEBUG | sawtooth_sdk::messag | Exited stream settings-tp | INFO | sawtooth_sdk::proces | Trying to Reconnect settings-tp | INFO | sawtooth_sdk::proces | connecting to endpoint: tcp://validator:4004 settings-tp | INFO | sawtooth_sdk::proces | sending TpRegisterRequest: sawtooth_settings 1.0 seth-tp | 2019/04/24 23:54:35.672094 processor.go:146: [DEBUG] Registering (seth, 1.0, [a68b06]) seth-tp | 2019/04/24 23:54:35.673417 connection.go:100: [INFO] Connecting to inproc://workers seth-tp | 2019/04/24 23:54:35.673520 connection.go:100: [INFO] Connecting to inproc://workers settings-tp | DEBUG | zmq:547 | socket dropped settings-tp | DEBUG | zmq:547 | socket dropped settings-tp | DEBUG | zmq:454 | context dropped devmode-engine-rust exited with code 101 sawtooth-validator exited with code 139 rest-api | [2019-04-24 23:54:36.664 DEBUG state_delta_subscription_handler] Attempting to resubscribe...`

gno-eagrai (Thu, 25 Apr 2019 00:04:31 GMT):
the error log is following:

gno-eagrai (Thu, 25 Apr 2019 00:04:48 GMT):
Enter Password to unlock myalias: Error: Problem submitting account creation transaction: Code : 18 Title : Validator Disconnected Message : The validator disconnected before sending a response. Try your request again later.

TheAlienMind (Thu, 25 Apr 2019 12:57:02 GMT):
@gno-eagrai Yes, I had the same problem. Try switching to the nightly builds fo the containers.

TheAlienMind (Thu, 25 Apr 2019 13:19:41 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=yCdc3cEcB9RgNF4eC) @danintel Thanks @danintel ; but that doesn't solve the issue. There is a bug in the docker-compose.yaml file in that it doesn't mount the right volumes. I'll do a PR now that fixes this.

TheAlienMind (Thu, 25 Apr 2019 13:24:48 GMT):
https://github.com/hyperledger/sawtooth-seth/pull/99

TheAlienMind (Thu, 25 Apr 2019 14:15:00 GMT):
There is apparently a bug in the Seth-rpc where it cannot find the account address. After unlocking if I try to send a transaction via the RPC, I get the following error: ```seth-rpc | 02b5805750d744462d24a7b08153a6a259566a71b153913ff815f2d4f9792b206f unlocked: 0e5e4659302019be89cc7348251c601d064158de seth-rpc | [00:00:35.076] (139806235129600) ERROR Account with address `0e5e4659302019be89cc7348251c601d064158de` not found. seth-rpc | [00:00:35.076] (139806235129600) ERROR AccountLoadError```

TheAlienMind (Thu, 25 Apr 2019 14:15:12 GMT):
Is there a resolution for this bug?

pschwarz (Thu, 25 Apr 2019 14:56:41 GMT):
@TheAlienMind I added a comment to your PR

rishabhthakur (Mon, 29 Apr 2019 11:17:34 GMT):
Has joined the channel.

rishabhthakur (Mon, 29 Apr 2019 11:26:28 GMT):
Step 11/17 : RUN go get github.com/hyperledger/sawtooth-sdk-go && cd $GOPATH/src/github.com/hyperledger/sawtooth-sdk-go && go generate ---> Running in 2905196dd7a0 2019/04/29 11:25:49 Loading input failed: unsupported version of go: exit status 2: flag provided but not defined: -compiled usage: list [-e] [-f format] [-json] [build flags] [packages] Run 'go help list' for details. gen.go:1: running "bash": exit status 1 ERROR: Service 'seth-cli-go' failed to build: The command '/bin/sh -c go get github.com/hyperledger/sawtooth-sdk-go && cd $GOPATH/src/github.com/hyperledger/sawtooth-sdk-go && go generate' returned a non-zero code: 1

rishabhthakur (Mon, 29 Apr 2019 11:26:36 GMT):
getting this error on docker-compose -build

IvanTyulyandin (Tue, 30 Apr 2019 11:10:39 GMT):
Has joined the channel.

IvanTyulyandin (Tue, 30 Apr 2019 11:18:01 GMT):
Hello! Can someone explain the way Burrow Virtual Machine was integrated into this project? Is it possible to take from Burrow only VM without its' local database and consensus engine? Thanks in advance.

amundson (Tue, 30 Apr 2019 14:36:46 GMT):
@IvanTyulyandin the transaction processor code is a pretty good guide for that if you are looking for something technical. at a high-level, yes, we are only using the evm. we setup state for it, make a call, then observe the results. that's melded w/Sawtooth. Sawtotoh provides the consensus and database (global state).

gno-eagrai (Wed, 01 May 2019 02:07:43 GMT):
Thanks @TheAlienMind and sorry for askingi

gno-eagrai (Wed, 01 May 2019 02:07:43 GMT):
Thanks @TheAlienMind and sorry for asking this. It is very shameful, but I do not know how I can switch nightly builds. Maybe it is not the right place to ask, but could you please tell me how to do it?

nanspro (Thu, 02 May 2019 05:29:45 GMT):
Has joined the channel.

nanspro (Thu, 02 May 2019 05:42:44 GMT):

Screenshot from 2019-05-02 11-09-01.png

nanspro (Thu, 02 May 2019 05:43:24 GMT):
System spec: Ubuntu 18.04 LTS

nanspro (Thu, 02 May 2019 05:51:21 GMT):
@rishabhthakur did you manage to make it work?

nanspro (Thu, 02 May 2019 06:11:40 GMT):
I upgraded my go version to 1.12.2 still no luck

nanspro (Thu, 02 May 2019 07:41:54 GMT):
tp

nanspro (Thu, 02 May 2019 09:53:29 GMT):
I pulled the changes from here https://github.com/hyperledger/sawtooth-seth/pull/100 and now it's working

nanspro (Fri, 03 May 2019 10:54:26 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=875K8mqttNuvRHpsw) @TheAlienMind i am facing the same error, i pulled the changes from your PR and after that i was able to unlock myalias but i am not able to deploy contract over rpc

nanspro (Fri, 03 May 2019 10:54:39 GMT):
Did you find any workaround?

nanspro (Mon, 06 May 2019 08:15:20 GMT):
@amundson Can i use sawtooth-javascript-sdk to submit contract creation transactions to validator and if it is possibe then how to use seth transaction family to deploy a contract using sawtooth-js sdk Contract related transactions comes under seth transaction family and i don't know how to use defined payload and other stuff for that in js

nanspro (Mon, 06 May 2019 08:15:20 GMT):
Can i use sawtooth-javascript-sdk to submit contract creation transactions to validator and if it is possibe then how to use seth transaction family to deploy a contract using sawtooth-js sdk Contract related transactions comes under seth transaction family and i don't know how to use defined payload and other stuff for that in js

nanspro (Mon, 06 May 2019 08:16:02 GMT):
@danintel @amundson ??

robinbryce (Mon, 06 May 2019 08:35:25 GMT):
Has joined the channel.

robinbryce (Mon, 06 May 2019 08:38:12 GMT):
Hi, is there any plan to support eth_subscribe ?

YashVadhvani (Mon, 06 May 2019 08:40:47 GMT):
Has joined the channel.

amundson (Mon, 06 May 2019 13:59:19 GMT):
@robinbryce we would certainly accept the contribution

robinbryce (Mon, 06 May 2019 15:03:06 GMT):
That's a possibility. Thanks

robinbryce (Mon, 06 May 2019 15:07:37 GMT):
Also, I'm currently having sucess bridging go-etherium abigen generated code to seth with a little strategic intercepting. Is that interesting to you guys ?

j0g1 (Mon, 13 May 2019 08:55:33 GMT):
Has joined the channel.

j0g1 (Mon, 13 May 2019 08:55:35 GMT):
Hey. Can you look at the idea of the consensus algorithm that I invented? The purpose of the algorithm was to omit the necessity of using Sawtooth with hardware (PoET algorithm). I will be grateful for information if the solution makes sense. If in doubt, I will be happy to answer your questions.

j0g1 (Mon, 13 May 2019 08:58:43 GMT):
https://www.slideshare.net/secret/1Rd0oE3KT02hQb

j0g1 (Mon, 13 May 2019 09:22:12 GMT):
Has left the channel.

robinbryce (Thu, 16 May 2019 12:26:26 GMT):
hi, I'm trying to understand why eth_call is not implemented by seth-rpc. The code comment says "Implementing this requires running the EVM, which is not possible within the RPC." Why not just forward it in the same way as for eth_sendTransaction ? Studying the seth-go client appears to show that both state changing and "view" or "pure" contract functions are handled by simply sending MessageCallTxn to the tp. If thats true, why isnt eth_call implemented similarly to sendTransaction ?

konsmosc (Thu, 16 May 2019 14:04:19 GMT):
First you have to understand why when you send a transaction seth-tp rewrite the whole state of the chain. So the not implemented eth_call is not the only problem. In any case instead of eth_call you can use again the eth_sendTransaction method, that will returns you the receipt_id and then you can use the service /receipts?id= from the official sawtooth rest api. Then of course you should build a custom abi-decoder to decode the payload

robinbryce (Thu, 16 May 2019 14:06:21 GMT):
ah, ok. We have been using the go-etherium abigen generated code bindings. And the generated code implements view and pure methods in terms of eth_call

robinbryce (Thu, 16 May 2019 14:12:06 GMT):
Also I don't understand what this means "when you send a transaction seth-tp rewrite the whole state of the chain" ?

robinbryce (Thu, 16 May 2019 14:14:31 GMT):
But sure we *could* use the REST-API. We will do that if there is no better alternative

konsmosc (Thu, 16 May 2019 14:16:12 GMT):
There is an alternative. That will be that you are going to try to implement the eth_call method by yourselves....

robinbryce (Thu, 16 May 2019 14:20:30 GMT):
So we are looking at implementing eth_call in seth-rpc. But it would be a shame to start that and discover its just not possible. *IF* we fill in rpc/src/calls/transaction.rs: 'call' in terms of 'sendtransaction' will that work ? Or are you saying if we send the tx, due to how sawtooth works, we will have to wait for consensus on the results of a read only call ?

konsmosc (Thu, 16 May 2019 14:26:27 GMT):
I don't think that it is possible to implement the method, but i didn't try it. In case you want to try, you have to do reverse engineering to see how eth_sendTransaction is works and then try to implement the eth_call method.

robinbryce (Thu, 16 May 2019 14:28:23 GMT):
ok, thats what we are trying. Thanks for your help.

amundson (Thu, 16 May 2019 16:14:30 GMT):
so the docs for eth_call are "Executes a new message call immediately without creating a transaction on the block chain." - presumably for retrieving data from the smart contract. correct?

amundson (Thu, 16 May 2019 16:16:15 GMT):
Ethereum is mixing two concepts - transactions to update state and rpc calls to retrieve state. In Sawtooth, transactions are purely for updating state. You would never create a transaction for the sole purpose of retrieving state.

amundson (Thu, 16 May 2019 16:17:10 GMT):
So, I think what you want to do to implement eth_call is run the EVM within the json-rpc process and not submit a transaction to sawtooth.

amundson (Thu, 16 May 2019 16:19:16 GMT):
it could go something like this: 1) client talks to json-rpc to make a eth_call; 2) json-rpc talks to sawtooth to get the current state of the related contract; 3) json-rpc locally executes the call using the state obtained and a local instance of an EVM; 4) json-rpc returns the result of the eth_call to the client

amundson (Thu, 16 May 2019 16:22:02 GMT):
since the json-rpc is in Rust, might be easier to implement using one of the rust implementations instead of burrow

robinbryce (Thu, 16 May 2019 16:35:15 GMT):
Ok, thanks very much for such a clear answer. What is the expected model for retrieving data from a pure or view function ? And second, could you elaborate on 2) getting the state - for example, is it possible for *any* go lang process to get the state and execute the burrow EVM ?

robinbryce (Thu, 16 May 2019 16:44:00 GMT):
Also, data retrieval isn't the only use for a read only call. Otherwise we would probably just wire something up with eth_getStorageAt

jsmitchell (Thu, 16 May 2019 17:34:13 GMT):
yeah, the contract state is available to any client of sawtooth. The json rpc would read the bytecode and associated contract state and would execute the read function locally in an EVM. From sawtooth's perspective this would just look like a few state get calls from a client.

amundson (Thu, 16 May 2019 19:49:46 GMT):
To get state in Sawtooth, you make a ClientStateGetRequest which is defined here - https://github.com/hyperledger/sawtooth-core/blob/master/protos/client_state.proto. This is done via 0MQ to the validator. The Sawtooth REST API is essentially an adapter converting the REST API interface to the lower-level 0MQ interface. The Seth json-rpc is similar with some additional logic to implement the ethereum interface. For example, you it is used here - https://github.com/hyperledger/sawtooth-seth/blob/master/rpc/src/client.rs#L585

amundson (Thu, 16 May 2019 19:49:46 GMT):
To get state in Sawtooth, you make a ClientStateGetRequest which is defined here - https://github.com/hyperledger/sawtooth-core/blob/master/protos/client_state.proto. This is done via 0MQ to the validator. The Sawtooth REST API is essentially an adapter converting the REST API interface to the lower-level 0MQ interface. The Seth json-rpc is similar with some additional logic to implement the ethereum interface. For example, it is used here - https://github.com/hyperledger/sawtooth-seth/blob/master/rpc/src/client.rs#L585

amundson (Thu, 16 May 2019 19:50:53 GMT):
Detail on how the addressing works and how exactly it is stored in state is detailed here - https://sawtooth.hyperledger.org/docs/seth/nightly/master/seth_transaction_family_spec.html

amundson (Thu, 16 May 2019 19:55:32 GMT):
If you wanted to get this state in Go, you have two options a) talk to the validator via 0MQ; b) talk to the validator via the REST API. For a), you could look at the Sawtooth Go SDK and see how the 0MQ stuff works, but it does not directly support the client proto messages (so there isn't an API to get state). If you want to use the REST API, look at https://sawtooth.hyperledger.org/docs/core/releases/latest/rest_api/endpoint_specs.html#get--state-address

amundson (Thu, 16 May 2019 19:58:45 GMT):
re:eth_getStorageAt - yes, I understand your point - there is logic in there that interprets the storage as well. But, as long as you have the contract, contract state, and an evm, you can literally do this anywhere including a client.

amundson (Thu, 16 May 2019 19:58:45 GMT):
re:eth_getStorageAt - yes, I understand your point - there is logic in there that interprets the storage as well. But, as long as you have the contract, contract state, and an evm, you can literally do this (ready-only calls) anywhere including a client.

amundson (Thu, 16 May 2019 20:03:09 GMT):
I think there is a lot of value in implementing eth_call in the Seth json-rpc, as it will make this all less visible moving forward.

robinbryce (Fri, 17 May 2019 07:07:29 GMT):
Excellent, that lays out the landscape very clearly. Thanks!

JonGeater (Fri, 17 May 2019 14:17:14 GMT):
We've landed on the model of doing the actual implementation in the transaction processor, since the Burrow machinery and plumbing is already in there, and architecturally it feels like the TX family's only role in life is to emulate (for want of a better word) the way Ethereum works, confused or not. Then we'll connect up the json-rpc through the currently not working 'eth_call' interface.

JonGeater (Fri, 17 May 2019 14:19:28 GMT):
I'm hoping to start knocking this up over the next few days so if anyone thinks that's the wrong approach please shout.

amundson (Tue, 21 May 2019 15:28:31 GMT):
@JonGeater are you suggesting the rpc calls directly to a TP circumventing sawtooth?

JonGeater (Tue, 21 May 2019 16:06:01 GMT):
@amundson **I'm still working on the machinery

JonGeater (Tue, 21 May 2019 16:06:01 GMT):
@amundson I'm still working on the machinery so not clear yet whether it'll 'circumvent' sawtooth as such. Our use case needs to support 'view' fucntions, not just 'pure' ones, so we have to be able to get state from the ledger: it's not just burrow execution

JonGeater (Tue, 21 May 2019 16:47:42 GMT):
Oh wait I see what you mean. No, it's not a completely new transaction processor, it's an additional handler in the existing seth-tp. Basically MessageCall() but without the state update bits. As of about 5 minutes ago it's working so I hope that's OK :-)

amundson (Tue, 21 May 2019 18:55:56 GMT):
@JonGeater it's probably the wrong technical approach given the TP's role in the architecture (TPs should only be involved in the state transition function), but if it's better than what it was before, please submit a PR :)

JonGeater (Tue, 21 May 2019 22:40:18 GMT):
Thanks @amundson. It’s better in the sense that eth_call functions now and doesn’t appear to screw up any internal state or anything. So in that sense I’m quite happy with it, but indeed I’m not super proud of the design as it stands. Mind you, it’s not clear that this is entirely different from error cases where a TP call returns without modifying state...just in this case it’s deliberate ;-). So maybe it’s OK actually. Let’s see: I’m going to make a branch for our CI and we’ll hit it with our hard use cases. If it stands up we’ll want to put it in somehow because eth_call support is just too useful.

amundson (Wed, 22 May 2019 21:40:16 GMT):
sounds great

kodonnel (Mon, 10 Jun 2019 23:39:39 GMT):
Not sure why this is coming up now all of a sudden, maybe the base ubuntu image upgraded openssl but I am getting this on the Seth build ```error: failed to run custom build command for `openssl v0.9.24` process didn't exit successfully: `/project/sawtooth-seth/cli/target/debug/build/openssl-7d464e70a21ffa53/build-script-build` (exit code: 101) --- stderr thread 'main' panicked at 'Unable to detect OpenSSL version', /root/.cargo/registry/src/github.com-1ecc6299db9ec823/openssl-0.9.24/build.rs:16:14 note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace. warning: build failed, waiting for other jobs to finish...```

kodonnel (Mon, 10 Jun 2019 23:41:09 GMT):
I'm not too conversant with the rust dependency tree, but it appears to be related related to `Downloaded reqwest v0.8.8` which is subject to this problem https://github.com/seanmonstar/reqwest/issues/336

kodonnel (Mon, 10 Jun 2019 23:42:16 GMT):
Not sure whether the base image has implicitly changed or whether the pull from the sdk has resulted in this.

kodonnel (Mon, 10 Jun 2019 23:42:39 GMT):
I'll open an issue for it.

kodonnel (Mon, 10 Jun 2019 23:58:29 GMT):
https://jira.hyperledger.org/browse/STL-1613

pschwarz (Tue, 18 Jun 2019 14:58:39 GMT):
There was a recent PR to fix that

pschwarz (Tue, 18 Jun 2019 14:59:14 GMT):
https://github.com/hyperledger/sawtooth-seth/pull/106

pschwarz (Tue, 18 Jun 2019 14:59:36 GMT):
You may need to rebase, if you're running in to trouble

JonGeater (Sun, 23 Jun 2019 18:59:01 GMT):
Now that I've cleaned up and re-submitted my PR for correctly retrieving blocks by number into sawtooth core I've noticed a new oddity as I prepare my PR for Seth. Sawtooth Core specifies block numbers as an unsigned 64-bit integer, but in Seth a variety of places (notably 'getBlockInfo()') passes block numbers around as int64 - ie signed type. Does anyone have an insight/opinion on this? At the moment I've done all of coding to support non-head executions of the VM and eth_call support to fit in and use the signed type but this feels wrong. Feels like I should go through and fix all those calls to unsigned to match sawtooth core but I want to ask here first and see if that's a super bad idea for historical reasons I'm unfamiliar with.

JonGeater (Sun, 23 Jun 2019 19:01:39 GMT):
Example of use (and explicit casting) in current codebase: https://github.com/hyperledger/sawtooth-seth/blob/77a9e577f4eb82681e087eaeb3076313ffd9b865/processor/src/seth_tp/handler/handler.go#L220

JonGeater (Sun, 23 Jun 2019 19:02:04 GMT):
And the function declaration with the signed type here: https://github.com/hyperledger/sawtooth-seth/blob/77a9e577f4eb82681e087eaeb3076313ffd9b865/processor/src/seth_tp/handler/handler.go#L259

amundson (Mon, 24 Jun 2019 14:30:45 GMT):
@JonGeater I doubt that is an intentional mis-match, so making it all use unsigned should be fine

JonGeater (Mon, 24 Jun 2019 14:46:56 GMT):
Great, I'll put an issue against it in Jira and add it to my PR. It's all quite self-contained so I'll make it a single PR with 2 commits. Speak to you in 15

JonGeater (Mon, 24 Jun 2019 20:21:24 GMT):
Oh yuk, this actually goes deep...all the way into block hashes and addr IDs. It needs fixing but I'll take time to treat it seriously

JonGeater (Mon, 24 Jun 2019 20:22:54 GMT):
I've `git blame`d it. I'll contact the auythors and have a chat

JonGeater (Thu, 27 Jun 2019 21:27:10 GMT):
It gets weirder, actually...the core Burrow is correct and is consistent in uint64s but the Seth build system actually downloads a fork from knkski which uses signed int64 for block numbers in the Reader interface. Color me confused...any clues why the Seth build relies on this fork?

JonGeater (Thu, 27 Jun 2019 21:34:24 GMT):
(I've reached out to Kenneth separately)

amundson (Fri, 28 Jun 2019 14:16:58 GMT):
There are modifications to Burrow for Seth that were difficult to get into upstream Burrow at the time. It would 100% be a good thing to update Seth to work on the current Burrow EVM.

JonGeater (Fri, 28 Jun 2019 14:25:43 GMT):
I quite agree!

JonGeater (Fri, 28 Jun 2019 14:27:21 GMT):
I guess that’s my ticket now 😉 This seems serious enough that it needs a tracker in Jira so I’ll make one (if it’s not there already) and prepare an attack plan for the next contributor call. I’m stuck in fixing my main issues until this is done so I won’t submit my main PR until the dependency base is fixed

kostasmoschou (Thu, 04 Jul 2019 12:02:39 GMT):
Has joined the channel.

jamesbarry (Wed, 31 Jul 2019 16:24:31 GMT):
Has joined the channel.

AlexanderZhovnuvaty (Fri, 02 Aug 2019 11:23:34 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. Really appreciated!

JonGeater (Fri, 02 Aug 2019 13:03:51 GMT):
@AlexanderZhovnuvaty Not sure I fully understand what you're asking but I might be able to help...what are you actually trying to do?

AlexanderZhovnuvaty (Fri, 02 Aug 2019 13:10:17 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=tCZxZLCq8cyq6CtvC) Sure. I have the following use case: Alice has certain data stored on blockchain and private (sawtooth), and Bob wants/has to read this data. He should be able to do it one time if Alice permits. I assume Alice should generate a token and give it to Bob so he can use this token to access that data one time. On second attempt the token should become invalid. Thanks in advance, Jon!

JonGeater (Mon, 05 Aug 2019 13:31:18 GMT):
Ah OK. Not sure I can help you directly with a 'token adapter module' - not totally sure what that means - but Burrow enables you to run solidity contracts and therefore create ERC721 tokens and wotnot...I can imagine a fairly simple smart contract construct that enables what you want to do

AlexanderZhovnuvaty (Tue, 06 Aug 2019 07:14:46 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=Sd7H7mKyAdFTizmeL) Thanks for the feedback Jon. I will check and come back to you:)

SPandey (Tue, 13 Aug 2019 11:00:03 GMT):
Has joined the channel.

SPandey (Tue, 13 Aug 2019 11:00:04 GMT):
Hi. I'm trying to run fixed supply ethereum token contract on seth. I'm able to deploy the contract and check balance. However, calling transfer function results in error with message "Problem submitting account creation transaction: Invalid transaction." I couldn't find any resources online implementing solidity token contract on seth or solution to specific problem I'm facing. Is there anything I'm doing wrong here?

JonGeater (Sat, 17 Aug 2019 23:44:47 GMT):
@SPandey You should be able to do this. I've struggled with completeness of Ethereum support in Seth (I've addressed most of it in a fork but am struggling to get it in shape for a PR) so if you're trying to do really exotic things you may run into problems but it doesn't sound like you're doing anything very taxing. The debug is not too bad - can you run validator and seth-tp both with -vvv and see what's going on? Alternatively if you can put the contract and your reproduction steps somewhere (RPC calls, I hope) then I could have a look and see what the underlying issue is. First question: does your contract/use case work in truffle/ganache/whatever reference Ethereum implementation?

jaredwillard12 (Wed, 21 Aug 2019 16:07:50 GMT):
Has joined the channel.

jaredwillard12 (Wed, 21 Aug 2019 16:07:50 GMT):
Hey everyone. I'm trying to run the seth-rpc separate from the rest of the docker services. That part appears to be working. What I cannot get to work is deploying a contract. I created an account and registered it. In the logging statements I see the processor sees the request and creates an account. I can list the account using 'seth account list.' When I start the seth-rpc myself, with --unlock, it says it unlocks the same account. However, when I go to deploy a contract, it prints back 'Account with address .... not found.' Has anyone attempted something similar to this?

jaredwillard12 (Wed, 21 Aug 2019 16:09:31 GMT):

dockerSeth.png

jaredwillard12 (Wed, 21 Aug 2019 16:10:16 GMT):

sawtoothTessting.png

jaredwillard12 (Wed, 21 Aug 2019 16:10:46 GMT):

sethRPC.png

JonGeater (Thu, 22 Aug 2019 10:15:08 GMT):
Yes I've sen that. If you split the services into different container then you need to give them some kind of sync'd storage since different bits of the code look for the key files depending on what you're doing.

JonGeater (Thu, 22 Aug 2019 10:19:01 GMT):
If you look in your TP's service context/storage you'll see a file .../.sawtooth/keys/a35269572f61b8c8711ce39e0e49e5539b6d401a.pem You need to also arrange for that same path/pem file to exist in the storage that your RPC server can see.

JonGeater (Thu, 22 Aug 2019 10:20:25 GMT):
Sorry I never found an elegant way to fix this with soft keys as we're using HSMs/keyvault to store our keys so local re-provisioning to both volumes is easy for us btu wouldn't make a nice PR

jaredwillard12 (Thu, 22 Aug 2019 13:45:55 GMT):
I did notice this after awhile and added another volume to store the keys in a common directory. I was still getting the same error.

jaredwillard12 (Thu, 22 Aug 2019 13:46:44 GMT):
I ended up going back to everything in the same container, but still received the "AcountLoadError"

jaredwillard12 (Thu, 22 Aug 2019 13:49:35 GMT):
I also included the "--unlock " to the seth-rpc container startup command. It logs that it succesfully unlocked the account, but still logs that the address is not found once I try to deploy a contract

JonGeater (Thu, 22 Aug 2019 15:07:15 GMT):
curl -d '{"jsonrpc": "2.0", "method": "personal_unlockAccount", "params": ["a35269572f61b8c8711ce39e0e49e5539b6d401a", "", 1000], "id": 8}' -H "Content-Type: application/json" localhost:3030

JonGeater (Thu, 22 Aug 2019 15:07:34 GMT):
Try doing it actually on the RPC rather that the CLI tool

jaredwillard12 (Thu, 22 Aug 2019 15:28:00 GMT):
Using it in the CLI didn't cause an issue, it always successfully unlocked the account.

jaredwillard12 (Thu, 22 Aug 2019 15:28:19 GMT):
When I use the RPC I actually get "ERROR Encountered error while unlocking account: AccountLoadError"

jaredwillard12 (Thu, 22 Aug 2019 15:30:24 GMT):
Okay, weird. I get the error, try to unlock it again, successfully unlocks it. I know try to deploy the contract, works beautifully. Any insight into why this works instead?

jaredwillard12 (Thu, 22 Aug 2019 15:30:24 GMT):
Okay, weird. I get the error, try to unlock it again, successfully unlocks it. I now try to deploy the contract, works beautifully. Any insight into why this works instead?

JonGeater (Thu, 22 Aug 2019 16:05:48 GMT):
I know that that route is reliable, but I never bottomed out why it works when the other doesn’t, I’m afraid

jaredwillard12 (Thu, 22 Aug 2019 16:24:40 GMT):
Well I appreciate your suggestion. I'll roll with what works for now

AlexanderZhovnuvaty (Fri, 23 Aug 2019 10:29:27 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=mAn9wSw4KrBk2sZDf) @JonGeater , pls advise if data for seth is stored in same sawtooth state as data from genuine transaction processors or has separate storage?

AlexanderZhovnuvaty (Fri, 23 Aug 2019 10:29:27 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=mAn9wSw4KrBk2sZDf) @JonGeater , pls advise if data for seth is stored in same sawtooth state as data from genuine transaction processors or has separate storage? I known that fabric supports smart contracts and I was thinking about to have some kind of gateway between fabric and sawtooth networks (some common part). I assume such storage should be separate from sawtooth, right?

JonGeater (Fri, 23 Aug 2019 12:32:00 GMT):
Seth TP is a 'genuine' TP - it works the same as all the others

AlexanderZhovnuvaty (Fri, 23 Aug 2019 13:45:06 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=E67btkdS5uSngC26r) Thanks, Jon! As I understand it is not possible to use Seth TP as gateway between two blockchains even they both support ethereum smart contracts, correct?

JonGeater (Sat, 24 Aug 2019 16:18:39 GMT):
@AlexanderZhovnuvaty That is a true thing, but I don't think you could expect Seth TP to axct as a 'gateway' between blockchains. The purpose of any transaction processor in Sawtooth architecture is to perform chain state interaction between the sawtooth chain (single instance of) and the protocol defined by the transaction family. So in Seth's case it takes Ethereum-format messages and works out how to translate those to and from Sawtooth. It's never meant to talk to any other chain or anything. This is not special to Seth. The settings-tp doesn't allow you to trade chain settings with other chains, for example.

jaredwillard12 (Mon, 26 Aug 2019 17:01:18 GMT):
It appears that the seth-rpc does not handle transactions that come in at around the same time. If I send two transactions at the same time, they get assigned the same Nonce. I'm handling a threading lock on my side to ensure only one request is sent at a time, but I still constantly get repeat Nonces on the rpc side. Is this a known issue?

jaredwillard12 (Mon, 26 Aug 2019 17:21:07 GMT):
Also, it appears if you attempt to call/transact/create a contract in the constructor of another contract, the seth-tp returns "Invalid transaction: Error while calling VM." However, this functionality is permitted when deploying to the EVM (using geth, for example)

JonGeater (Mon, 26 Aug 2019 22:28:51 GMT):
Same nonce> If you send 2 transactions that are otherwise identical then that happens, yes. As long as there is any difference then it won’t. Does that match your experience? We worked around this by adding a protocol level nonce (not brilliant, but OK and retains ganache compatibility)

AlexanderZhovnuvaty (Tue, 27 Aug 2019 11:01:10 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=882mwyNAZEn2cALfF) Thanks!

jaredwillard12 (Tue, 27 Aug 2019 12:50:10 GMT):
No, unfortunately. This is happening when I'm attempting to deploy my contracts

jaredwillard12 (Tue, 27 Aug 2019 13:57:10 GMT):
Do you happen to know where the check happens to see if they are identical transactions? I might experiment with always incrementing the nonce instead

jaredwillard12 (Tue, 27 Aug 2019 13:57:23 GMT):
Or including a flag for incrementing it anyways

jaredwillard12 (Tue, 27 Aug 2019 13:58:17 GMT):
I have libraries with my contracts that might be identical initially, but I want them all to reference their own

JonGeater (Tue, 27 Aug 2019 14:21:18 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=Zd9jXu5bgYDyQvPgN) It's not a check, as such: there's quite a lot of machinery involved. The transaction ID is calculated from the hash of the relevant message fields, and that becomes the receipt for the transaction, so if you send 2 messages with identical content you get the same hash, and thus the same receipt, and thus the same answer. And IIUC if you already have the receipt it doesn't even send the second and subsequent attempts

JonGeater (Tue, 27 Aug 2019 14:21:40 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=cN9BLj8K57DZAaDhj) That's essentially what we do and it works OK

jaredwillard12 (Tue, 27 Aug 2019 14:22:24 GMT):
How do I force the increment then?

JonGeater (Tue, 27 Aug 2019 16:54:26 GMT):
Ah hang on, if it's contract creation you can't fudge the message. Let me think a moment but I'm not sure what you're doing is legal ethereum

jaredwillard12 (Tue, 27 Aug 2019 17:48:01 GMT):
I've been using it in ethereum for months now. I'm not sure if it's the best practice, but it certainly works

jaredwillard12 (Tue, 27 Aug 2019 19:47:17 GMT):
I submitted ~60 unique transactions and had lines similar to "seth-tp | 2019/08/27 19:40:51.493536 sawtooth_app_state.go:188: [DEBUG] [226 119 137 91 185 246 132 139 215 63 105 114 171 142 2 220 79 200 41 194 202 135 201 151 89 235 189 229 70 124 113 34] -> [51 28 47 13 57 165 78 13 109 71 165 186 92 26 178 96 10 170 28 20 201 84 111 199 189 150 53 9 205 34 83 167]" scrolling for ~8 minutes before this:

jaredwillard12 (Tue, 27 Aug 2019 19:47:29 GMT):

sethError.png

JonGeater (Wed, 28 Aug 2019 07:58:28 GMT):
Ah, I think that’s a bug. We found that, and I’m overdue submitting it. What appears to be happening (in my experience...it’s not quite captured in your screenshot) is that the connection stops responding, so it’s removed from the pool, but then a bit later another piece of cleanup code tries to access it and it’s already gone...and so crashes due to an explicit panic() in the code. I believe the main maintainers we’re working on this area so it might be better now/soon. @arsulegai @jsmitchell does this sound familiar? I looked into this a bit and I think the error is in two parts: it shouldn’t be checking for the entry after removal; and it certainly shouldn’t be calling must_get_entry() (which is why it panics)

JonGeater (Wed, 28 Aug 2019 12:53:49 GMT):
@jaredwillard12 you could help by searching earlier in your logs for that 'e334b...' identifier and see where it was last legitimately referenced.

jaredwillard12 (Wed, 28 Aug 2019 16:29:06 GMT):
Sadly those logs are long gone. I moved on to transferring over a new side of my project. I'll pay better attention next time the problem arises

SPandey (Thu, 29 Aug 2019 08:55:06 GMT):
I think I figured out the issue here. Certain functions in my contract can only be called by contract owner. Owner is set at the creation of contract by assigning "msg.sender" value to "owner_address" varible in the constructor. In ethereum msg.sender returns the account that deployed smart contract and store that address in the variable. But in seth, actual contract address is stored as owner_address. So, calling functions that check if the account is owner account fails to execute. (msg.sender does return account address while calling the contract functions but that doesn't seem to be the case during contract creation) Is there a way to get the actual address of account that created the contract and store it as owner_address?

SPandey (Thu, 29 Aug 2019 08:58:06 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=Astw8uDkdeCxSxnrP) I think I figured out the issue here. Certain functions in my contract can only be called by contract owner. Owner is set at the creation of contract by assigning "msg.sender" value to "owner_address" varible in the constructor. In ethereum msg.sender returns the account that deployed smart contract and store that address in the variable. But in seth, actual contract address is stored as owner_address. So, calling functions that check if the account is owner account fails to execute. (msg.sender does return account address while calling the contract functions but that doesn't seem to be the case during contract creation) Is there a way to get the actual address of account that created the contract and store it as owner_address?

JonGeater (Thu, 29 Aug 2019 10:52:48 GMT):
Sounds like a bug in Burrow (in my view any divergence from Ethereum behaviour is a bug, since we're trying to emulate it). @silasdavis what do you think?

silasdavis (Thu, 29 Aug 2019 12:53:27 GMT):
@JonGeater it's a bug in seth, I have fixed here: https://github.com/hyperledger/sawtooth-seth/pull/112/files

silasdavis (Thu, 29 Aug 2019 13:06:10 GMT):
Also it looks like seth is on a pretty old version of Burrow...

silasdavis (Thu, 29 Aug 2019 13:06:24 GMT):
and for all that is holy, can this be avoided: https://github.com/hyperledger/sawtooth-seth/blob/master/processor/Dockerfile#L73

silasdavis (Thu, 29 Aug 2019 13:06:24 GMT):
and for all that is holy, can this be avoided: https://github.com/hyperledger/sawtooth-seth/blob/master/processor/Dockerfile#L73?

silasdavis (Thu, 29 Aug 2019 13:06:46 GMT):
suggest switch to mainline Burrow and use Go modules to manage your versions

silasdavis (Thu, 29 Aug 2019 13:06:46 GMT):
I suggest switch to mainline Burrow and using Go modules to manage your versions

silasdavis (Thu, 29 Aug 2019 13:08:28 GMT):
Looks like this change motivated the fork: https://github.com/knkski/burrow/commit/3f59e3901d39b5d6cb6bb724562a9a3b776a4e16

silasdavis (Thu, 29 Aug 2019 13:08:28 GMT):
It looks like this change motivated the fork: https://github.com/knkski/burrow/commit/3f59e3901d39b5d6cb6bb724562a9a3b776a4e16

silasdavis (Thu, 29 Aug 2019 13:08:46 GMT):
I'm afraid we never managed to bottom out _why_ this was needed, see: https://github.com/hyperledger/burrow/issues/908

silasdavis (Thu, 29 Aug 2019 13:12:44 GMT):
Burrow's EVM expects the global permissions address to exist so panicking on its absence is not in itself a bug. Quoting that issue: > The unit tests for Seth don't set up the global permissions account, which breaks Burrow What stops seth from setting up the global permissions account setting up the global permissions account? I am open to change the design if it could be made more ergonomic, but I don't want to do so just because a test harness does not properly set up EVM state.

silasdavis (Thu, 29 Aug 2019 13:12:44 GMT):
Burrow's EVM expects the global permissions address to exist so panicking on its absence is not in itself a bug. Quoting that issue: > The unit tests for Seth don't set up the global permissions account, which breaks Burrow What stops seth from setting up the global permissions account? I am open to change the design if it could be made more ergonomic, but I don't want to do so just because a test harness does not properly set up EVM state.

pschwarz (Thu, 29 Aug 2019 14:07:44 GMT):
That's a fair point

pschwarz (Thu, 29 Aug 2019 14:07:59 GMT):
Seems like that would have been a simple fix for that issue

JonGeater (Thu, 29 Aug 2019 14:16:46 GMT):
Yes I started working on that but it was quite messy and my product releases couldn't wait so i've had to de-prioritise it.

JonGeater (Thu, 29 Aug 2019 14:32:49 GMT):
Thanks @pschwarz and @silasdavis

amundson (Thu, 29 Aug 2019 15:48:04 GMT):
@silasdavis the devs that were working on that issue are no longer involved, and so its hard to answer. I think everyone wants to switch to mainline Burrow (we always have), and its just a matter of someone submitting a PR.

mpiekarska (Mon, 02 Sep 2019 10:33:34 GMT):
Has joined the channel.

mpiekarska (Mon, 02 Sep 2019 10:34:47 GMT):
Hi there! I was wondering if there is any kind of a diagram describing how Seth and TPs interact. Or any kind of description. I looked at the docs but it’s not very well described.

SPandey (Tue, 03 Sep 2019 03:29:27 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=uBSKwzCQt7Crgb8Ca) Thanks all for your input on this. I'll look into Burrow as well as other frameworks to see if they fit our needs.

jsmitchell (Tue, 03 Sep 2019 03:52:33 GMT):
@SPandey I think you might have misunderstood — @amundson and @silasdavis were talking about a specific issue

amundson (Tue, 03 Sep 2019 14:12:18 GMT):
@mpiekarska seth is a transaction processor which marshals the transaction processing to a burrow evm; seth also has a json-rpc compatibility layer which is separate from that transaction processor

silasdavis (Tue, 08 Oct 2019 20:53:50 GMT):
`github.com/hyperledger/sawtooth-seth/processor/src/seth_tp/handler

silasdavis (Tue, 08 Oct 2019 20:53:50 GMT):
module github.com/hyperledger/sawtooth-seth/processor/src/seth_tp/handler

silasdavis (Tue, 08 Oct 2019 20:54:12 GMT):
go 1.12

silasdavis (Tue, 08 Oct 2019 20:55:47 GMT):
replace github.com/go-interpreter/wagon v0.0.0 => github.com/perlin-network/wagon v0.3.1-0.20180825141017-f8cb99b55a39

silasdavis (Tue, 08 Oct 2019 20:56:27 GMT):
replace github.com/go-interpreter/wagon v0.0.0 => github.com/perlin-network/wagon v0.3.1-0.20180825141017-f8cb99b55a39

dplumb (Wed, 09 Oct 2019 20:17:33 GMT):
```$ go mod tidy go: github.com/hyperledger/burrow@v0.29.0 requires github.com/perlin-network/life@v0.0.0-20190803100833-89b850c02992 requires github.com/go-interpreter/wagon@v0.0.0: reading github.com/go-interpreter/wagon/go.mod at revision v0.0.0: unknown revision v0.0.0```

danintel (Mon, 28 Oct 2019 15:57:12 GMT):
Has left the channel.

Dan (Thu, 12 Dec 2019 12:53:10 GMT):
Looks like the last successful build for Seth might be about timeout of the jenkins history. Since mid-november it seems to be caught up here: ```11:24:43 ../github.com/hyperledger/sawtooth-sdk-go/processor/context.go:24:2: cannot find package "protobuf/events_pb2" in any of: 11:24:43 /usr/lib/go-1.11/src/protobuf/events_pb2 (from $GOROOT) 11:24:43 /project/sawtooth-seth/processor/src/protobuf/events_pb2 (from $GOPATH) 11:24:43 /project/sawtooth-seth/burrow/src/protobuf/events_pb2 11:24:43 /project/sawtooth-seth/common/src/protobuf/events_pb2```

rahul_prasad (Sun, 22 Dec 2019 15:33:52 GMT):
Has joined the channel.

drew (Wed, 08 Jan 2020 16:06:04 GMT):
Has joined the channel.

drew (Wed, 08 Jan 2020 16:06:07 GMT):
Hello guys, I came here to ask about the very same error that got Dan. I'm new to Hyperledger, I set up a fresh new environment in a virtual machine (Ubuntu 18.04, as advised for the latest version of Sawtooth) and I have just tried to run things as shown in the documentation. I cloned the repository of sawtooth-set and then went in and ran the command `docker-compose up --build` as the getting started guide said. It successfully built everything until *seth-tp*, then at step 16/16 it gets stuck because: ``` ../github.com/hyperledger/sawtooth-sdk-go/processor/context.go:24:2: cannot find package "protobuf/events_pb2" in any of: /usr/lib/go-1.11/src/protobuf/events_pb2 (from $GOROOT) /project/sawtooth-seth/processor/src/protobuf/events_pb2 (from $GOPATH) /project/sawtooth-seth/burrow/src/protobuf/events_pb2 /project/sawtooth-seth/common/src/protobuf/events_pb2 ../github.com/hyperledger/sawtooth-sdk-go/processor/processor.go:28:2: cannot find package "protobuf/network_pb2" in any of: ... ``` It behaves the same for processor_pb2, state_context_pb2, transaction_pb2, validator_pb2, and then, in the end: ``` ERROR: Service 'seth-tp' failed to build: The command '/bin/sh -c go build -o /project/sawtooth-seth/processor/bin/seth-tp' returned a non-zero code: 1 ``` I'm stuck here, seriously hope you guys can help me :pray:

saanvijay (Thu, 09 Jan 2020 06:36:07 GMT):
Has joined the channel.

rranjan3 (Thu, 09 Jan 2020 08:43:05 GMT):
Has joined the channel.

arsulegai (Sun, 12 Jan 2020 15:36:03 GMT):
@Dan @drew I created a PR in sawtooth-seth https://github.com/hyperledger/sawtooth-seth/pull/116 until the Go SDK's whereabouts for the protobufs are finalized.

drew (Wed, 15 Jan 2020 09:24:08 GMT):
Thank you Dan. In the meanwhile I had to switch to Fabric in spite of myself - I'm working on my thesis and I can't stay blocked. Hope they will solve soon :) Have a nice day!

amundson (Wed, 15 Jan 2020 15:29:35 GMT):
@arsulegai that PR has been merged. thanks!

drew (Thu, 16 Jan 2020 10:48:37 GMT):
I am at this point of the doc https://sawtooth.hyperledger.org/docs/seth/nightly/master/permissions.html however when I try to change permission on the contract address I get:

drew (Thu, 16 Jan 2020 10:50:22 GMT):
`Error: Problem submitting transaction to change permissions: Transaction was submitted, but client timed out before it was committed.` Everything else is working fine (I can query the blockchain with curl, I can use seth in the container to get info of addresses, I can call function of addresses, etc. I'm just receiving this error. PS.: Sorry for the multiple message, I sent it by mistake.

drew (Thu, 16 Jan 2020 12:54:25 GMT):

seth-rpc error

drew (Thu, 16 Jan 2020 13:02:39 GMT):
Need some help for the _"Developing Dapp"_ part too :pray: When I give `seth-rpc --connect tcp://validator:4004 --bind 0.0.0.0:3030` I receive no feedback from command line, so I go on and try: `curl -d '{"jsonrpc": "2.0", "method": "eth_blockNumber", "id": 1}' -H "Content-Type: application/json" localhost:3030` `curl http://0.0.0.0:3030 -d '{"jsonrpc": "2.0", "id": 1, "method": "eth_blockNumber"}' -H "Content-Type: application/json"` I reported two commands because first of all I'd like to ask: as far as I understand there is no difference between the two, right? The behavior is very strange because when I first run it (first or second attempt) it goes through and I receive `{"jsonrpc":"2.0","result":"0x7","id":1}`, however *all* of the other times I get `curl: (52) Empty reply from server`. It won't go through more than one time, unless I burn down containers and build the test environment again. What's the problem? Thanks!

drew (Thu, 16 Jan 2020 13:32:05 GMT):
And I have another question: in the receipt of transactions I can see "gas used". Is it calculated the standard way like for ethereum? Can it be used as an estimate of gas consumption if the same transaction would run on ethereum? Are addresses free of balance and the network working with no ether at all? Thank you again!

Dan (Thu, 16 Jan 2020 19:43:31 GMT):
Thanks @arsulegai !

Dan (Fri, 17 Jan 2020 07:52:41 GMT):
rebased and rebuilt https://github.com/hyperledger/sawtooth-seth/pull/105. Needs one more :ballot_box_with_check: . Apparently @jsmitchell does not count as green.

drew (Mon, 20 Jan 2020 10:41:50 GMT):
Hello guys, while waiting for somebody helping on the previous matters I have another question: I'm receiving a `Invalid transaction: EVM Error: Call error: Authorization exception: Tried to get unauthorized address: [a68b0672b41dc4ba859c1b837291824eea9894ef3f1e8e000000000000000000000000]`. What may that depend on? I have a contract that works smoothly, however when I try to call this specific function (that calls another one in another contract deployed) I receive this. Why's that? Same contracts work fine in Ganache and Ropsten.

drew (Mon, 20 Jan 2020 10:55:17 GMT):
Guys a meta question: if this is not the right place to look for help on sawtooth, which one is? I'm working on my master thesis and I must use a reliable framework, or at least one where one can be supported.

arsulegai (Mon, 20 Jan 2020 14:40:15 GMT):
@drew you've a lot of questions! try #sawtooth channel as well where more people are active.

arsulegai (Mon, 20 Jan 2020 14:41:15 GMT):
However for seth specific questions, this is the right channel

arsulegai (Mon, 20 Jan 2020 14:58:02 GMT):
I tried an example application at my end, it's working fine for me. Need time to try out the scenarios you mentioned.

arsulegai (Mon, 20 Jan 2020 14:59:02 GMT):
(never tried calling another contract from one)

selvaraman (Wed, 29 Jan 2020 08:21:07 GMT):
Has joined the channel.

selvaraman (Wed, 29 Jan 2020 08:21:07 GMT):
Hi! I am learning sawtooth seth. I want to install ethereum's ERC20 token smart contract (https://gist.githubusercontent.com/giladHaimov/8e81dbde10c9aeff69a1d683ed6870be/raw/956a73285142650555ed0509e3973fc1601db71a/BasicERC20.sol) into sawtooth seth. I installed it successfully. Now I want to know how to call constructor function and pass total value? I am following this article to learn https://sawtooth.hyperledger.org/docs/seth/releases/latest/contracts.html As suggested here https://sawtooth.hyperledger.org/docs/seth/releases/latest/contracts.html

selvaraman (Wed, 29 Jan 2020 08:21:41 GMT):
Is it proper way running ERC20 in sawtooth-seth?

selvaraman (Wed, 29 Jan 2020 08:21:41 GMT):
Is it proper way running ethereum's smart contract ERC20 in sawtooth-seth?

selvaraman (Wed, 29 Jan 2020 08:22:10 GMT):
Is there any explorer for sawtooth-seth?

drew (Thu, 30 Jan 2020 12:03:37 GMT):
Hi @selvaraman , I noticed the problem with constructors too, my workaround was the following: I set the constructor as a normal function and I added a flag that prevents the function to be called twice. Such a function is meant to be called with a normal call after deployment. Clearly, if one wants to make sure that no other function can be called before the constructor, a specific "require" on that flag can be inserted at the beginning of each function.

drew (Thu, 30 Jan 2020 12:06:40 GMT):
I can answer my own question, for this one, for the benefit of all: you just need to add the flag `-c` during the call through the seth command, to indicate it's a concatenated call.

drew (Thu, 30 Jan 2020 12:10:12 GMT):
Thanks @arsulegai, the point is that all the questions I asked are specific for Seth :sweat_smile: There is pretty no activity among the community - no stackoverflow questions, no recent tutorials, anything - so this chat is the only place where I hope I'll be able to fine a bit of support - that actually I really need, the aforementioned questions are still open.

drew (Thu, 30 Jan 2020 14:08:57 GMT):
I have another question: how can I debug if the only thing I receive when a transaction with Seth doesn't go through is "invalid transaction"?

drew (Thu, 30 Jan 2020 14:09:16 GMT):
How can I get more information on the reason why it failed_

arsulegai (Thu, 30 Jan 2020 15:00:47 GMT):
In Sawtooth, you can send description for an error. This can be captured at the client to learn about the error reason.

arsulegai (Thu, 30 Jan 2020 15:00:57 GMT):
Let me check if seth CLI is capturing such info

arsulegai (Thu, 30 Jan 2020 15:04:27 GMT):
I see the descriptions are captured in CLI

arsulegai (Thu, 30 Jan 2020 15:05:02 GMT):
Could you please tell where/which point are you facing difficulty in identifying the invalid transaction reason?

arsulegai (Thu, 30 Jan 2020 15:19:49 GMT):
@drew most of the discussions are happening in #sawtooth channel. Please feel free to volunteer and help out the community, at least that's how I started. Response could be delayed because of timezone differences, multiple other pending activities, hope you'll fill the missing gap :)

drew (Fri, 31 Jan 2020 11:09:20 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=y5LQtZAGBFLWpbkcX)
Invalid Transaction

drew (Fri, 31 Jan 2020 11:11:10 GMT):
$CORE_CONTRACT and $AGGR are just there to avoid repeating copy and paste. Other transactions go through, however when one doesn't there's no hint on why.

drew (Fri, 31 Jan 2020 11:24:28 GMT):
In this case I suppose it's for the enconding of the call, how am I suppose to pass an array? Like, I have a function `funtion(uint x, uint[] y)` How am I suppose to pass the parameter in the encoding? `abi.simpleEncode('function(uint,uint)', '0x0', ?? ).toString('hex')`

arsulegai (Fri, 31 Jan 2020 14:17:30 GMT):
You might have to perform a local CLI build, print this err

arsulegai (Fri, 31 Jan 2020 14:17:54 GMT):
Let's aim to get this info propagated through CLI to the terminal

arsulegai (Fri, 31 Jan 2020 14:18:11 GMT):
* print this body (when I say error)

drew (Mon, 03 Feb 2020 09:10:23 GMT):
I'm not sure I understand what you mean :see_no_evil:

drew (Mon, 03 Feb 2020 09:12:55 GMT):
In the meanwhile I have another question: how do you encode an enum type? Which type of variable do you use? I've tried uint, uint8 and uint256 but I'm always receiving invalid transaction. I'm referring to when you need to do: `abi.simpleEncode('function([TYPE_OF_ENUM])', '0xsomething')` Which type should I use? Thanks!

drew (Mon, 03 Feb 2020 13:14:13 GMT):
I changed the type and then I found out I was missing the `-c` option for chained calls between contracts :facepalm:

Etienereum (Mon, 10 Feb 2020 19:52:22 GMT):
Has joined the channel.

Etienereum (Mon, 10 Feb 2020 19:52:23 GMT):
Hello guys, I need some help with developing a Dapp on Seth

Etienereum (Mon, 10 Feb 2020 20:07:14 GMT):
How can I create a utility token using seth?

selvaraman (Thu, 13 Feb 2020 10:44:44 GMT):
How to create account in seth? Running docker-compose up --build After this I am trying to create account using RPC curl --data '{"method":"personal_newAccount","params":["test@123"],"id":1,"jsonrpc":"2.0"}' -H "Content-Type: application/json" -X POST localhost:3030 But I am getting following error {"jsonrpc":"2.0","error":{"code":-32069,"message":"Error generating key"},"id":1}

selvaraman (Thu, 13 Feb 2020 10:46:51 GMT):
learning RPC from here https://github.com/hyperledger/sawtooth-rfcs/blob/master/text/0022-seth-rpc-extensions.md#personal_newaccount

drew (Fri, 14 Feb 2020 14:10:55 GMT):
Guys I'm trying to understand how can I build a local testnet using pbft (like in this example https://sawtooth.hyperledger.org/docs/core/releases/latest/app_developers_guide/docker_test_network.html) but with nodes including seth. How should I edit the docker compose file?

selvaraman (Fri, 14 Feb 2020 15:59:01 GMT):
Hope you are expecting this https://sawtooth.hyperledger.org/docs/seth/releases/latest/getting_started.html

drew (Mon, 17 Feb 2020 12:11:21 GMT):
Thanks but it's not what I'm looking for, if I'm writing here it's clearly because there's no answer in the documentation as far as I could search :sweat_smile: The documentation guides you through the process of creating a network with a single node with devmode consensus. On the other hand, on sawtooth main documentation it is explained how to build a testnet with dockers. My lack of knowledge (which I'm trying to catch up with your help) is about how to customize dockers so that I can run the testnet example *including* seth. Hope it's clearer now :)

selvaraman (Mon, 17 Feb 2020 14:58:37 GMT):
git clone https://github.com/hyperledger/sawtooth-seth.git docker-compose up --build After this command, If I run url http://0.0.0.0:3030 -d '{"jsonrpc": "2.0", "id": 1, "method": "eth_blockNumber"}' -H "Content-Type: application/json", It gives proper response

selvaraman (Mon, 17 Feb 2020 14:59:41 GMT):
After few minutes, If I run url http://0.0.0.0:3030 -d '{"jsonrpc": "2.0", "id": 1, "method": "eth_blockNumber"}' -H "Content-Type: application/json", I am getting the following error, curl: (52) Empty reply from server

selvaraman (Mon, 17 Feb 2020 15:02:41 GMT):
thread '' panicked at 'called `Result::unwrap()` on an `Err` value: "PoisonError { inner: .. }"', src/libcore/result.rs:1165:5 stack backtrace: 0: backtrace::backtrace::libunwind::trace at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.40/src/backtrace/libunwind.rs:88 1: backtrace::backtrace::trace_unsynchronized at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.40/src/backtrace/mod.rs:66 2: std::sys_common::backtrace::_print_fmt at src/libstd/sys_common/backtrace.rs:77

selvaraman (Mon, 17 Feb 2020 15:03:03 GMT):
can you please help me to fix this

selvaraman (Mon, 17 Feb 2020 15:03:03 GMT):
can someone please help me to fix this

drew (Tue, 18 Feb 2020 09:44:59 GMT):
I had the same issue, this is still unsolved, probably another bug in sawtooth. Hope somebody will reach us out.

drew (Tue, 25 Feb 2020 17:39:19 GMT):
Guys a theoretical very general question. I saw, when using seth, that when I call the contract it validates the transaction and the block immediately creating 1 block with 1 batch and 1 tx. Does this mean that when using seth 1 tx = 1 batch = 1 block ? If not, how can I aggregate? Does it happen automatically if more tx are received at the same time?

amundson (Tue, 25 Feb 2020 21:20:47 GMT):
the number of transactions in a batch are up to the client (so, the cli is putting one transaction in the batch)

amundson (Tue, 25 Feb 2020 21:21:47 GMT):
you will generally end up with 1 batch per block if you are using devmode consensus because the rounds are very fast; but if you are using pbft and submit at a fast enough rate, they will automatically get grouped into blocks

drew (Wed, 26 Feb 2020 08:42:31 GMT):
Thank you very much @amundson ! Is there a standard way to test this in Seth or should I write some ad hoc script?

drew (Wed, 26 Feb 2020 08:44:01 GMT):
(I'm especially concerned for the part where I should unlock the account providing the pwd of the alias. Is there a way to unlock it without having to retype it each time?)

selvaraman (Wed, 26 Feb 2020 14:57:06 GMT):
Hi ! I am running sawtooth-explorer (https://github.com/hyperledger/sawtooth-explorer) with sawtooth-seth. The explorer shows some different character for payload. like the following, Óä€afdaaf79fca57d1685f3f31a0966807a90f400b2e23ea3c61ff06c3048a6ad1a6f408e5ce806006d0B03a2b36abfe6ca0751bbd3f3086a91b906e0641568b3069b3e3badc2ed33eab"€6d50d258b0299eb4866e5676228d1c3dd42175fba0bbd94bb5c1b070c6b511e5408cd4e7109ee4b853fa32e2d599d885f5296136f619ea(ŠŽÙò Can you please help me to remove those characters ?

gandhikim (Wed, 04 Mar 2020 09:33:32 GMT):
Has joined the channel.

gandhikim (Mon, 23 Mar 2020 01:08:58 GMT):
can i connect to rinkeby??

vltmn (Thu, 26 Mar 2020 13:07:37 GMT):
Has joined the channel.

vltmn (Thu, 26 Mar 2020 16:35:22 GMT):

Clipboard - March 26, 2020 5:35 PM

vltmn (Thu, 26 Mar 2020 16:35:25 GMT):
I am suffering the same issue as @selvaraman and @drew. Could someone from the sawtooth team please have a look at this since it is a severe error with the sawtooth RPC client. The error with a full rust backtrace is attached to this message.

vltmn (Thu, 26 Mar 2020 16:38:07 GMT):
The purpose of the sawtooth project is to run your own blockchain, the purpose of seth is to achieve an ethereum-compatible API on a sawtooth blockchain. Since the rinkeby testnet is an existing ethereum network, the application of this process does not really exist :smiley:

vltmn (Thu, 26 Mar 2020 16:58:44 GMT):
@drew which OS are you running? I have tried using CentOS 7 and MacOS Catalina

vltmn (Thu, 26 Mar 2020 17:15:41 GMT):
Approx. 15 seconds after the first request, the error I posted is printed and the communication channel to the validator stops working

drew (Thu, 26 Mar 2020 18:14:34 GMT):
Fresh installation of Ubuntu 18 as a virtual machine

vltmn (Thu, 26 Mar 2020 20:47:35 GMT):
conclusion: the tutorial setup does not work as of now for either ubuntu, centos or macOS

drew (Thu, 26 Mar 2020 21:02:19 GMT):
I do agree with @vltmn , and unfortunately that is going to be the general conclusion of my master thesis: Seth is really too underdeveloped and unsupported for it to be considered as a reliable option for basically any use case. Sawtooth looses a lot of its appeal alongside because it seems to share the same fate.

cg223 (Sun, 29 Mar 2020 18:50:39 GMT):
Has joined the channel.

cg223 (Sun, 29 Mar 2020 19:03:59 GMT):
Hi, guys. For the last 2.5 months my project to build a cryptocurrency has been done using Sawtooth. So far I have good enough results having built a client and a TP in go using the sawtooth-sdk with which I can submit information and store in my blockchain via CLI. It has been a real learning experience so thank you to all of those involved with this framework. I've now reached the point in my project where I am looking to make it a distributed app, and looking at starting to generate currency, which is where I feel an issue lies... Having built this system using Sawtooth, how much of a difference can I expect if I decide to shift my system to use Seth instead?

vltmn (Sun, 29 Mar 2020 19:16:32 GMT):
If you have an already implemented and working TP for the application you need my opinion is that you should stick to that. Is it possible for you to create a RPC/HTTP API communicating with the validator and supplying the methods you need for the distributed application? As you may see, I and others have had problems with getting seth working without any support from the team regarding the issues we have had

cg223 (Sun, 29 Mar 2020 19:31:20 GMT):
Thanks for the response, @vltmn. A shame that you're currently having issues configuring your system. Whilst I will be asking for help on the sawtooth channel, if there is anyone here in this channel with a working cryptocurrency built using *Sawtooth* that would be willing to share their experience with the rest (anti-patterns to avoid, best practice, etc.), I would personally be very thankful for your insights.

cg223 (Sun, 29 Mar 2020 19:31:20 GMT):
Thanks for the response, @vltmn . A shame that you're currently having issues configuring your system. Whilst I will be asking for help on the sawtooth channel, if there is anyone here in this channel with a working cryptocurrency built using *Sawtooth* that would be willing to share their experience with the rest (anti-patterns to avoid, best practice, etc.), I would personally be very thankful for your insights.

amundson (Fri, 03 Apr 2020 20:54:08 GMT):
@cg223 I'd suggest moving to sawtooth sabre; it should be relatively easy to translate what you have already to that environment, and it is also on-chain.

cg223 (Fri, 03 Apr 2020 22:09:04 GMT):
@amundson thanks for your response. I had a brief look at the concepts behind sabre and whilst interesting, I question whether question there is a Go SDK available?

cg223 (Fri, 03 Apr 2020 22:09:04 GMT):
@amundson thanks for your response. I had a brief look at the concepts behind sabre and whilst interesting, I question whether there is a Go SDK available

amundson (Mon, 06 Apr 2020 15:21:57 GMT):
@cg223 correct. it is pretty straight-forward to translate smart contracts into rust though

NewAlexandria (Sun, 19 Apr 2020 01:31:42 GMT):
Has joined the channel.

JonathanvanWestendorp (Wed, 29 Apr 2020 17:33:35 GMT):
Has joined the channel.

JonathanvanWestendorp (Wed, 29 Apr 2020 17:33:36 GMT):
Hi everyone, I am using Seth for a project where the goal is to build a tool that can analyse transactions during and after processing. I have finished the frontend and I want to use the a docker seth-rpc container to send transactions dynamically to a network. When using the seth-cli-go container I am able to create a contract and submit requests. However when trying this with the seth-rpc on the same network, the server returns an empty reply. What can be the cause of this? Can it be that I didn't unlock my account properly? It is an encrypted account with openssl -aes128. But when I try unlocking this account, it says "A password is required for encrypted keys!". But no way to enter my password is given. I hope the answer isn't too obvious as I'm very new to this topic. Thanks in advance!

ombalakumar (Fri, 15 May 2020 10:41:54 GMT):
Has joined the channel.

ombalakumar (Fri, 15 May 2020 10:44:37 GMT):
`thread '' panicked at 'Unable to route new message: "SendError(..)"', /root/.cargo/registry/src/github.com-1ecc6299db9ec823/sawtooth-sdk-0.3.0/src/messaging/zmq_stream.rs:182:29 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace thread '' panicked at 'called `Result::unwrap()` on an `Err` value: "PoisonError { inner: .. }"', /root/.cargo/registry/src/github.com-1ecc6299db9ec823/sawtooth-sdk-0.3.0/src/messaging/zmq_stream.rs:205:36`

ombalakumar (Fri, 15 May 2020 10:44:37 GMT):
Hi @all i am new to sawtooth - i am working in a hyperledger sawtooth project using sawtooth-seth, followed all documentation steps create key, account, contract, etc, - all finished good - next tried dapps steps as per the documentation given in this link https://sawtooth.hyperledger.org/docs/seth/releases/latest/dapps.html after unlocking (not encrypted) key alias as given, tried to call rpc methods, first 2 methods working fine, then suddenly thread panicked error occurs after rpc is blocked and poison error is thrown for remaining methods whatever is called, can anyone please suggest ways to avoid / stop this kind of error, Thanks in Advance `thread '' panicked at 'Unable to route new message: "SendError(..)"', /root/.cargo/registry/src/github.com-1ecc6299db9ec823/sawtooth-sdk-0.3.0/src/messaging/zmq_stream.rs:182:29 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace thread '' panicked at 'called `Result::unwrap()` on an `Err` value: "PoisonError { inner: .. }"', /root/.cargo/registry/src/github.com-1ecc6299db9ec823/sawtooth-sdk-0.3.0/src/messaging/zmq_stream.rs:205:36`

vltmn (Sat, 23 May 2020 17:51:06 GMT):
@ombalakumar I have also had the same error. There seems to be something not working in the code. It is most probably not yours or my fault, but errors in the core code. My solution was to switch to a completely custom transaction processor.

jmbarry (Tue, 16 Jun 2020 17:29:35 GMT):
Has joined the channel.

Pham_Van_Chung (Wed, 24 Jun 2020 04:53:02 GMT):
Has joined the channel.

Dan (Fri, 07 Aug 2020 21:08:17 GMT):
Has left the channel.

Luxii (Mon, 31 Aug 2020 12:35:07 GMT):
Has joined the channel.

AlexYefremov (Wed, 16 Sep 2020 14:08:48 GMT):
Has joined the channel.

omerporze (Sat, 07 Nov 2020 15:28:53 GMT):
Has joined the channel.

omerporze (Sat, 07 Nov 2020 15:28:54 GMT):
Hi, I have a question- if I compose the docker of Seth will it establish an entire validator network by itself? or do I need to do that on my own?

arsulegai (Mon, 09 Nov 2020 12:50:52 GMT):
@omerporze please use the #sawtooth-core-dev for the questions. And yes, the docker-compose file there should bring up a single validator node with `seth-tp`

tegie (Wed, 18 Nov 2020 23:22:03 GMT):
Has joined the channel.

tegie (Wed, 18 Nov 2020 23:22:03 GMT):
hey, I am trying to run example from https://sawtooth.hyperledger.org/docs/seth/nightly/master/getting_started.html but when I try to bring up containers with `docker-compose up --build` I am getting `Service 'seth-cli-go' failed to build` error, thanks for help.

arsulegai (Fri, 20 Nov 2020 08:04:55 GMT):
@tegie try the tagged release branches

omerporze (Fri, 20 Nov 2020 18:32:09 GMT):
@arsulegai the Jenkins shows that since nov 17th the build is not working. I am having the same issues as its output.

omerporze (Fri, 20 Nov 2020 18:59:26 GMT):
And latest release tag is not working. Returns: ERROR: Service 'seth-tp' failed to build: The command '/bin/sh -c go build -o /project/sawtooth-seth/processor/bin/seth-tp' returned a non-zero code: 1

saheli_c (Wed, 02 Dec 2020 10:23:34 GMT):
Has joined the channel.

Jbcampbe (Mon, 08 Mar 2021 00:58:45 GMT):
Has joined the channel.

Jbcampbe (Mon, 08 Mar 2021 01:02:18 GMT):
[ ](https://chat.hyperledger.org/channel/sawtooth-seth?msg=nd6ExhPWq4kc4DSKW) I am encountering this issue as well. Has anyone found a workaround for this?

otfreetime (Sun, 18 Jul 2021 19:35:54 GMT):
Has joined the channel.

otfreetime (Sun, 18 Jul 2021 19:35:55 GMT):
Hello, I used docker-compose up --build to build sawtho and i get this error: [14/14] RUN go build -o /project/sawtooth-seth/cli-go/bin/seth: #18 2.487 ../client/encoder.go:25:2: cannot find package "github.com/hyperledger/sawtooth-sdk-go/protobuf/batch_pb2" in any of: #18 2.487 /usr/lib/go-1.11/src/github.com/hyperledger/sawtooth-sdk-go/protobuf/batch_pb2 (from $GOROOT) #18 2.487 /project/sawtooth-seth/cli-go/src/github.com/hyperledger/sawtooth-sdk-go/protobuf/batch_pb2 (from $GOPATH) #18 2.487 /project/sawtooth-seth/burrow/src/github.com/hyperledger/sawtooth-sdk-go/protobuf/batch_pb2 #18 2.487 /project/sawtooth-seth/common/src/github.com/hyperledger/sawtooth-sdk-go/protobuf/batch_pb2 #18 2.487 ../client/encoder.go:26:2: cannot find package "github.com/hyperledger/sawtooth-sdk-go/protobuf/transaction_pb2" in any of: #18 2.487 /usr/lib/go-1.11/src/github.com/hyperledger/sawtooth-sdk-go/protobuf/transaction_pb2 (from $GOROOT) #18 2.487 /project/sawtooth-seth/cli-go/src/github.com/hyperledger/sawtooth-sdk-go/protobuf/transaction_pb2 (from $GOPATH) #18 2.487 /project/sawtooth-seth/burrow/src/github.com/hyperledger/sawtooth-sdk-go/protobuf/transaction_pb2 #18 2.487 /project/sawtooth-seth/common/src/github.com/hyperledger/sawtooth-sdk-go/protobuf/transaction_pb2 #18 2.487 account_create.go:23:2: cannot find package "protobuf/seth_pb2" in any of: #18 2.487 /usr/lib/go-1.11/src/protobuf/seth_pb2 (from $GOROOT) #18 2.487 /project/sawtooth-seth/cli-go/src/protobuf/seth_pb2 (from $GOPATH) #18 2.487 /project/sawtooth-seth/burrow/src/protobuf/seth_pb2 #18 2.487 /project/sawtooth-seth/common/src/protobuf/seth_pb2

otfreetime (Sun, 18 Jul 2021 19:36:52 GMT):
kindly any help to resolve this issues i used ver 0.2.3 thanks

abraxasccs (Thu, 05 Aug 2021 11:16:44 GMT):
Has joined the channel.

abraxasccs (Thu, 05 Aug 2021 11:16:44 GMT):
Hi to everybody. I'm trying to follow this documentation -> https://sawtooth.hyperledger.org/docs/seth/nightly/master/getting_started.html to start learning about sawtooth-seth but after "$ docker-compose up --build" I've got a building error thath from an initial "=> ERROR [10/14] RUN npm install ethereumjs-abi web3" it finished with a "executor failed running [/bin/sh -c npm install ethereumjs-abi web3]: exit code: 1 ERROR: Service 'seth-cli-go' failed to build : Build failed" Can I ask for help here? Thank for you time.

otfreetime (Fri, 06 Aug 2021 21:02:36 GMT):
change setup6.x to setup12.x in Dockerfiles in the dirctories (cli-go,cli,rpc) also remove the npm from: your path\sawtooth-seth\cli-go\Dockerfile line 57 chang to (&& apt-get install nodejs -y -q \) after that you can use again $docker-compose down and $ docker-compose up --build i hop this will help.

otfreetime (Sat, 07 Aug 2021 21:25:37 GMT):
hello, any body get this error seth-rpc | thread '' panicked at 'Unable to route new message: SendError { .. }', /root/.cargo/registry/src/github.com-1ecc6299db9ec823/sawtooth-sdk-0.3.0/src/messaging/zmq_stream.rs:185:26 when i sent curl -d "{\"jsonrpc\": \"2.0\", \"method\": \"eth_blockNumber\", \"id\": 1}" -H "Content-Type: application/json" -X POST "http://localhost:3030" in windows 10 cmd terminal i am using docker windows desktop

Bhemeswararaoxcubelabs.com (Thu, 16 Dec 2021 11:57:03 GMT):
Has joined the channel.

Bhemeswararaoxcubelabs.com (Thu, 16 Dec 2021 12:01:07 GMT):
HI any hello world dapp using seth

tkuhrt (Mon, 03 Jan 2022 20:32:36 GMT):
Is Seth still supported within Sawtooth? We are looking to move Hyperledger Burrow to a Dormant state (at the request of the maintainers), and I would like to understand the impact to Seth.

amundson (Mon, 03 Jan 2022 21:18:02 GMT):
Seth's implementation currently uses an old forked version of Burrow, so Burrow's status change would not impact the current version of Seth. Seth itself has not been very active as most of the activity has remained with Sabre. We are planning an upgrade of the Sawtooth website later in the month (primarily to make it easier to change) and we could mark Seth as officially deprecated after that to avoid confusion.

tkuhrt (Mon, 03 Jan 2022 21:18:54 GMT):
Thanks for the update, Shawn

rjones (Wed, 23 Mar 2022 17:36:02 GMT):

rjones (Wed, 23 Mar 2022 17:36:02 GMT):

rjones (Wed, 23 Mar 2022 17:36:02 GMT):