2018-07-25 02:26:37
Lightning network is still being developed for bitcoin
Clueless
2018-07-25 02:29:05
You know how I feel about that one. I wish them good luck.
Fireduck
2018-07-25 02:55:17
does snow have lightning network
alistar
2018-07-25 03:30:31
god no
Fireduck
2018-07-25 03:30:59
I suspect the lightning network will prove to be unsustainable and not effective
Fireduck
2018-07-25 03:31:05
I hope to be proven wrong on that
Fireduck
2018-07-25 04:06:05
@Fireduck
I've been told that a chinese community has been made using their popular chat/social tools.
Clueless
2018-07-25 04:06:25
I've also had more repeated suggestions that we fix the prettiness of the website.
Clueless
2018-07-25 04:13:06
@Clueless which Chinese community?
alistar
2018-07-25 04:13:29
I don't know, I was told via discord
Clueless
2018-07-25 04:13:48
I'm not chinese, I don't use those tools, I cannot read mandarin, and I cannot go talk to them. lol
Clueless
2018-07-25 04:14:07
no problem, I am a Chinese.
alistar
2018-07-25 04:14:34
@alistar talk with the user "cool" on the discord.
Clueless
2018-07-25 04:14:40
Last year I came to West Virginia for almost one year.
alistar
2018-07-25 04:14:43
ok
alistar
2018-07-25 04:14:45
got it
alistar
2018-07-25 04:15:06
:P nice
Clueless
2018-07-25 04:15:39
West Virginia maybe a poor state in US.lol
alistar
2018-07-25 04:16:01
@alistar @Fireduck
Also, I'm contemplating hiring a designer like, https://meese.co to help with branding, website design, layouts, and gui stuff.
Clueless
2018-07-25 04:16:16
But I love the people in WV.
alistar
2018-07-25 04:17:18
I'm wondering if the community might be willing to fund it together, instead of just me out of pocket.
Clueless
2018-07-25 04:18:38
everyone who is running a pool should increase dev fee for marketing costs
Shoots
2018-07-25 04:18:47
devs can sell the snow for the costs
Shoots
2018-07-25 04:18:57
Can we pay with SNOW?
alistar
2018-07-25 04:19:34
may cryptocurrency community hire devs with their coins.
alistar
2018-07-25 04:20:06
We don't have a giant pile of premine to do that with
Fireduck
2018-07-25 04:23:03
also, many people won't accept that as payment for now
Clueless
2018-07-25 04:23:21
If we done the RPC, should we run a official Custom 2 Custom platform, and take some fee in this platform.
alistar
2018-07-25 04:23:30
I wouldn't expect any professional to take some small crypto as payment
Fireduck
2018-07-25 04:25:07
as a cryptocurrency no liquidity no valuable. people will not accept SNOW.
alistar
2018-07-25 04:25:35
if pay with BTC, they will happiness.
alistar
2018-07-25 04:25:38
Need to work hard to promote, let more people know SNOW
cool
2018-07-25 04:25:52
I used snow to complete a payment last night.Great!
alexaabb
2018-07-25 04:26:22
ha
Fireduck
2018-07-25 04:26:32
I'm going back to working on rpc
Fireduck
2018-07-25 04:27:52
I've seen people trading snow for ARO in their discord
Shoots
2018-07-25 04:44:28
updating sidebar
Clueless
2018-07-25 04:47:53
I'm probably going to cut a release today or tomorrow
Fireduck
2018-07-25 05:03:12
Release 1.3.0 is up
Fireduck
2018-07-25 06:08:38
Why not develop a "GUI" wallet
cool
2018-07-25 06:09:49
Easier to transfer transactions
cool
2018-07-25 06:31:19
Not my top priority
Fireduck
2018-07-25 06:31:26
getting closer though
Fireduck
2018-07-25 07:11:30
@cool it's not really easier.
Clueless
2018-07-25 07:11:52
"looks better" != "easier to use"
Clueless
2018-07-25 07:13:16
but there is actual psychology and study to back the fact that people create mental blocks to productive use when they perceive something as "ugly"
Clueless
2018-07-25 08:28:20
wiki said Requires the following config settings, rpc_port, rpc_username, rpc_password.
alistar
2018-07-25 08:28:51
do we have example config settings to explain?
alistar
2018-07-25 12:18:22
as proven by the voting defaults in the examples, providing examples for some parametres is too dangerous - people gotta figure it out for themselves
Rotonen
2018-07-25 14:29:34
Hey guys, on discord Clueless was asking for marketing/design help
CryptoQuan
2018-07-25 14:29:58
I’d like to help and thought I could start by creating a SnowBlossom logo and color scheme
CryptoQuan
2018-07-25 14:30:11
Any input on colors and logo thoughts?
CryptoQuan
2018-07-25 14:31:46
since you ask in general, how about hot pink and neon orange zebra stripes?
Rotonen
2018-07-25 14:34:36
@CryptoQuan just to warn you, I'm looking for something rather full bodied
Clueless
2018-07-25 14:35:18
but we're totally open
Clueless
2018-07-25 14:46:05
I'm into the neon zebra stripes
Fireduck
2018-07-25 15:10:32
Hot pink, neon orange zebra stripes and full bodied. Got it
CryptoQuan
2018-07-25 15:11:14
There’s a stripper joke there somewhere
CryptoQuan
2018-07-25 15:16:42
i for one do not see too much of a difference between the 80s stock market / electronic trading hype and crypto hype
Rotonen
2018-07-25 15:16:50
so might as well go full miami on the aesthetics
Rotonen
2018-07-25 15:19:34
yes, we need a logo.
alistar
2018-07-25 15:20:09
What is the SnowBlossom Coin's short name. SBC or SNOW?
alistar
2018-07-25 15:21:40
I think a symbol would be best
Clueless
2018-07-25 15:21:47
SNO
Clueless
2018-07-25 15:22:03
but feel free to hit me
Clueless
2018-07-25 15:22:37
hah
alistar
2018-07-25 15:22:54
I like SNOW
Fireduck
2018-07-25 15:30:05
I’m thinking this colorway would be fitting
CryptoQuan
2018-07-25 15:31:30
Might be too full bodied for @Clueless
CryptoQuan
2018-07-25 15:32:04
ice cream
Clueless
2018-07-25 15:32:18
easter
Clueless
2018-07-25 15:32:37
snowday
Clueless
2018-07-25 15:55:50
Here’s my thought for a logo
CryptoQuan
2018-07-25 15:56:22
that screams neon tube
Rotonen
2018-07-25 15:56:37
That’s the goal right?
CryptoQuan
2018-07-25 15:57:30
! that reminds me
Clueless
2018-07-25 15:57:43
there's a neon sign company right down the street from me.
Clueless
2018-07-25 15:57:53
I could totally have custom neon signs made
Clueless
2018-07-25 15:57:58
(overkill)
Clueless
2018-07-25 15:59:44
I’ll throw some color at it and see what you guys think
CryptoQuan
2018-07-25 16:00:24
@CryptoQuan it looks neat, but I feel most people won't understand what it stands for.
Clueless
2018-07-25 16:00:26
i'm not sure if i'm a party to take too seriously, but i'm all in on that sorta stuff
Rotonen
2018-07-25 16:00:44
@Rotonen what do you mean?
Clueless
2018-07-25 16:00:51
When I do things, I'm a try hard.
Clueless
2018-07-25 16:01:10
i mean maybe i should not dictate the visual style for it is not my project
Rotonen
2018-07-25 16:01:40
well, no one dictates, that's the glory of community stuff. :P
Clueless
2018-07-25 16:02:03
i'm also actively noisy :stuck_out_tongue:
Rotonen
2018-07-25 16:07:52
@Clueless you mean you don’t think people will know it says ‘SNOW’?
CryptoQuan
2018-07-25 16:08:04
I see at as a just a logo
CryptoQuan
2018-07-25 16:08:24
Using a snowflake or flower (aka SnowBlossom) sounds pretty lame
CryptoQuan
2018-07-25 16:08:42
@CryptoQuan
Watch this: https://youtu.be/pnv5iKB2hl4 YouTube Video: Why city flags may be the worst-designed thing you've never noticed | Roman Mars
Clueless
2018-07-25 16:09:06
Watch all of it. :P
Clueless
2018-07-25 16:09:36
well, we're already going 80s miami, and snow's the context
Rotonen
2018-07-25 16:13:11
So simpler?
CryptoQuan
2018-07-25 16:20:28
@cristo watch the whole thing, it's worth it I think ;)
Clueless
2018-07-25 16:20:33
but basically yes
Clueless
2018-07-25 16:20:44
I believe that logo design has the same principles as flag design
Clueless
2018-07-25 16:20:51
easily recognizable, distinct, etc.
Clueless
2018-07-25 16:20:51
I’m with you
CryptoQuan
2018-07-25 16:20:57
I’ll try a few out
CryptoQuan
2018-07-25 16:21:01
examples, Microsoft, google, Skype, HP
Clueless
2018-07-25 16:21:12
http://www.movingbrands.com/work/hp @todo
Clueless
2018-07-25 16:21:35
^ HP has a several hundred page document on how to properly use their logo
Clueless
2018-07-25 16:21:46
they dictate the font, colors, backgrounds, placement, and more, that you use.
Clueless
2018-07-25 16:22:52
Good feedback
CryptoQuan
2018-07-25 16:23:12
style guides are quite a bit in the future
Rotonen
2018-07-25 16:23:40
@CryptoQuan
Sure! Do forgive me. I don't mean to define the goal as some overzealous daunting task that's hard for you to do. :P
Clueless
2018-07-25 16:24:28
honestly I think your initial styling looks pretty cool.
Clueless
2018-07-25 16:24:41
my first thought was using those colors to make your picture into a neon sign. xd
Clueless
2018-07-25 16:27:25
Thanks! Yeah that was just a doodle. I thought the shapes represented the simplicity and modernness (is that a word?) of Snowblossom
CryptoQuan
2018-07-25 16:35:27
@CryptoQuan I kinda lika it
Fireduck
2018-07-25 16:36:23
I have April working on a different design
Fireduck
2018-07-25 17:09:44
Thanks Fireduck, your avatar cracks me up
CryptoQuan
2018-07-25 17:32:59
I live to serve
Fireduck
2018-07-25 17:33:16
that image is probably 20 years old now
Fireduck
2018-07-25 17:41:24
@Fireduck serve satan?
Clueless
2018-07-25 17:47:06
probably
Fireduck
2018-07-25 17:48:05
The duck demon.
Clueless
2018-07-25 17:48:09
The duck destroyer.
Clueless
2018-07-25 17:48:20
the corkscrew of fire!
Clueless
2018-07-25 19:13:03
hmm. i am stuck with the jsonrpc.
fydel
2018-07-25 19:13:14
this is my json: https://hastebin.com/ipukuyuzuv.json
fydel
2018-07-25 19:13:59
Ok
Fireduck
2018-07-25 19:14:08
curl -d '{ "jsonrpc": "2.0", "method":"getstats", "id":"whatever"}' -s http://localhost:13333/ | jq .result.rates.miners
fydel
2018-07-25 19:14:16
and i see only the miners.
fydel
2018-07-25 19:14:34
but curl -d '{ "jsonrpc": "2.0", "method":"getstats", "id":"whatever"}' -s http://localhost:13333/ | jq .result.rates.miners[1] gives:
fydel
2018-07-25 19:14:58
jq: error (at <stdin>:1): Cannot index object with number
fydel
2018-07-25 19:15:23
maybe you have a quick solution before i google myself to death.
fydel
2018-07-25 19:16:27
I can only do super basic with jq
Fireduck
2018-07-25 19:16:41
So I'm not the right person
Fireduck
2018-07-25 19:16:55
ah. okay. like me. :wink:
fydel
2018-07-25 19:23:18
miners is a dict
Rotonen
2018-07-25 19:28:10
and addressing a specific one from there is trickier as the key contains a colon
Rotonen
2018-07-25 19:30:03
an example on your hastebin:
`curl -s https://hastebin.com/raw/ipukuyuzuv | jq '.result.rates.miners["snow:jsu7n2u0ffwq22r9p6wn9jtgswu6x33s0v6zhmdh"]'`
Rotonen
2018-07-25 19:30:23
read the man page and check out `to_format[]`
Rotonen
2018-07-25 19:31:08
ah. that worked. that you, kind sir.
fydel
2018-07-25 19:31:35
the `hash[key]` formatting will always work
Rotonen
2018-07-25 19:31:53
just use single quotes on the whole query to have your shell not jump in
Rotonen
2018-07-25 19:32:05
as you want to pass an explicit `"` to jq there
Rotonen
2018-07-25 19:32:50
i tried before that but i was missing the quotes.
fydel
2018-07-25 19:32:52
thanks.
fydel
2018-07-25 19:34:29
i recommend some moderner approach than hacking at it over shell scripts
Rotonen
2018-07-25 19:34:46
i'm biased, but python and requests have ~everything you need out of the box
Rotonen
2018-07-25 19:36:58
the response object in requests has a json accessor which will do ~most of the work for you to begin with
Rotonen
2018-07-25 19:38:14
i hope i will have some time this weekend. my bash scripts for the pool are all quick and very dirty. sooner or later they will fail.
fydel
2018-07-25 19:38:43
thanks for your advice.
fydel
2018-07-25 19:39:04
grpc and protobuf stuff have the protocol definition files based on which you can generate the client library for you for maximal convenience
Rotonen
2018-07-25 19:39:09
https://grpc.io/docs/tutorials/basic/python.html#generating-client-and-server-code A high performance, open source, general RPC framework that puts mobile and HTTP/2 first.
Rotonen
2018-07-25 19:39:30
snowblossom probably has those somewhere within the repo
Rotonen
2018-07-25 19:40:11
Yep, protolib directory
Fireduck
2018-07-25 19:40:22
https://github.com/snowblossomcoin/snowblossom/blob/master/protolib/mining_pool.proto ```
syntax = "proto3";
option java_multiple_files = true;
option java_package = "snowblossom.mining.proto";
option java_outer_classname = "SnowBlossomMiningProto";
import "protolib/snowblossom.proto";
package snowblossom;
service MiningPoolService {
rpc GetWork ( GetWorkRequest ) returns (stream WorkUnit) {}
rpc SubmitWork ( WorkSubmitRequest ) returns ( SubmitReply ) {}
}
message GetWorkRequest {
string client_id = 1;
string pay_to_address = 2;
}
message WorkUnit {
BlockHeader header = 1;
int32 work_id = 2;
bytes report_target = 3;
}
message WorkSubmitRequest {
BlockHeader header = 1;
int32 work_id = 2;
}
message PPLNSState {
repeated ShareEntry share_entries = 1;
}
message ShareEntry {
string address = 1;
int64 share_count = 2;
}
service SharedMiningService {
rpc GetWords ( GetWordsRequest ) returns ( GetWordsResponce ) {}
}
message GetWordsRequest {
repeated int64 word_indexes = 1;
int32 field = 2;
}
message GetWordsResponce {
repeated bytes words = 1;
}
```
Rotonen
2018-07-25 19:40:24
that looks the part
Rotonen
2018-07-25 19:41:11
huh, where are the stats defined?
Rotonen
2018-07-25 19:43:31
The jsonrpc stuff? That is hand coded
Fireduck
2018-07-25 19:44:10
in ye olden speak: plz
Rotonen
2018-07-25 19:47:28
Grpc is the formal correct proty stuff
Fireduck
2018-07-25 19:47:49
Jsanrpc is bastard step child living under stairs
Fireduck
2018-07-25 19:59:46
I guess I could have defined the structure in protobuf and just converted to json
Fireduck
2018-07-25 20:36:23
transforms are the tool you seek
Rotonen
2018-07-25 20:37:03
or seems google calls them transcoding mappings, fair enough, but smells like XSLT to me
Rotonen
2018-07-25 20:38:12
but i suppose jamming jetty in there does fatten things up a lot
Rotonen
2018-07-25 20:39:42
something like so:
https://github.com/GoogleCloudPlatform/python-docs-samples/blob/f6ca863f033f61d64750921d2b05893b5a45254d/endpoints/bookstore-grpc/http_bookstore.proto#L38 ```
option (google.api.http) = { get: "/v1/shelves" };
```
Rotonen
2018-07-25 22:26:35
Yeah, I get cranky when I have to deal with anything remotely like XSLT.
Fireduck
2018-07-25 22:26:54
The code sufficently short that I don't think it will be improved by using any other layers
Fireduck
2018-07-25 22:26:55
https://github.com/snowblossomcoin/snowblossom/blob/master/client/src/RpcServerHandler.java ```
package snowblossom.client;
import com.thetransactioncompany.jsonrpc2.JSONRPC2Request;
import com.thetransactioncompany.jsonrpc2.JSONRPC2Response;
import com.thetransactioncompany.jsonrpc2.server.RequestHandler;
import com.thetransactioncompany.jsonrpc2.server.MessageContext;
import net.minidev.json.JSONObject;
import snowblossom.proto.*;
import snowblossom.lib.*;
import duckutil.jsonrpc.JsonRpcServer;
import duckutil.jsonrpc.JsonRequestHandler;
import java.util.Map;
import java.util.LinkedList;
import com.google.protobuf.util.JsonFormat;
import net.minidev.json.parser.JSONParser;
public class RpcServerHandler
{
private SnowBlossomClient client;
public RpcServerHandler(SnowBlossomClient client)
{
this.client = client;
}
public void registerHandlers(JsonRpcServer json_server)
{
json_server.register(new GetFreshHandler());
json_server.register(new BalanceHandler());
json_server.register(new SendHandler());
}
public class GetFreshHandler extends JsonRequestHandler
{
public String[] handledRequests()
{
return new String[]{"getfresh"};
}
@Override
protected JSONObject processRequest(JSONRPC2Request req, MessageContext ctx)
throws Exception
{
boolean mark_used = false;
boolean generate_now = false;
if (req.getNamedParams() != null)
{
if (req.getNamedParams().containsKey("mark_used"))
{
mark_used = (boolean) req.getNamedParams().get("mark_used");
}
if (req.getNamedParams().containsKey("generate_now"))
{
generate_now = (boolean) req.getNamedParams().get("generate_now");
}
}
JSONObject reply = new JSONObject();
reply.put("mark_used", mark_used);
reply.put("generate_now", generate_now);
AddressSpecHash spec_hash = client.getPurse().getUnusedAddress(mark_used, generate_now);
String address = AddressUtil.getAddressString(client.getParams().getAddressPrefix(), spec_hash);
reply.put("address", address);
return reply;
}
}
public class BalanceHandler extends JsonRequestHandler
{
public String[] handledRequests()
{
return new String[]{"balance"};
}
@Override
protected JSONObject processRequest(JSONRPC2Request req, MessageContext ctx)
throws Exception
{
JSONObject reply = new JSONObject();
BalanceInfo bi = client.getBalance();
reply.put("flake_confirmed", bi.getConfirmed());
reply.put("flake_unconfirmed", bi.getUnconfirmed());
reply.put("flake_spendable", bi.getSpendable());
reply.put("confirmed", bi.getConfirmed() / Globals.SNOW_VALUE_D);
reply.put("unconfirmed", bi.getUnconfirmed() / Globals.SNOW_VALUE_D);
reply.put("spendable", bi.getSpendable() / Globals.SNOW_VALUE_D);
return reply;
}
}
public class SendHandler extends JsonRequestHandler
{
public String[] handledRequests()
{
return new String[]{"send"};
}
@Override
protected JSONObject processRequest(JSONRPC2Request req, MessageContext ctx)
throws Exception
{
JSONObject reply = new JSONObject();
if (req.getNamedParams() == null)
{
throw new Exception("Send requires parameters");
}
Map<String, Object> params = req.getNamedParams();
Map<String, Object> to_map = (Map)params.get("to");
boolean broadcast = true;
if (params.containsKey("broadcast"))
{
broadcast = (boolean) req.getNamedParams().get("broadcast");
}
LinkedList<TransactionOutput> out_list = new LinkedList<>();
for(Map.Entry<String, Object> me : to_map.entrySet())
{
String address = me.getKey();
double value = (double)me.getValue();
AddressSpecHash spec_hash = new AddressSpecHash(address, client.getParams());
long flakes = Math.round(value * Globals.SNOW_VALUE);
out_list.add(TransactionOutput.newBuilder().setValue(flakes).setRecipientSpecHash(spec_hash.getBytes()).build());
}
long fee = 0;
Transaction tx = client.getPurse().send(out_list, fee, broadcast);
reply.put("tx_hash", HexUtil.getHexString(tx.getTxHash()));
reply.put("tx_data", HexUtil.getHexString(tx.toByteString()));
/*JsonFormat.Printer printer = JsonFormat.printer();
String json_str = printer.print(TransactionUtil.getInner(tx));
JSONParser parser = new JSONParser(JSONParser.MODE_STRICTEST);
JSONObject tx_json = (JSONObject)parser.parse(json_str);
reply.put("tx_json", tx_json);*/
return reply;
}
}
}
```
Fireduck
2018-07-25 22:41:30
@Fireduck as far as i can see grpc already has the json transform baked in, you just explicitly need to declare them
Rotonen
2018-07-25 23:26:06
You might be right
Fireduck
2018-07-25 23:26:20
But I also needed to do basic http auth
Fireduck