Redawn
Member
Offline
Activity: 122
Merit: 10
|
|
September 01, 2016, 09:20:37 AM |
|
For those who haven't read it, there is a reddit thread r/XEL where you also continu the discussion. It is better readable on your mobile device than this forum.
|
|
|
|
|
|
|
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
|
|
unvoid
|
|
September 01, 2016, 12:18:20 PM |
|
Ok. I'm back to building blockchain explorer. Hope I'll find some bugs in XEL during coding.
|
BTC: 1CMgHWx4wkAaAy2FfeCyPdedUExmhGhfi5 XEL: XEL-HCM8-KB6E-YFLK-8BWMF
|
|
|
z38630610
Legendary
Offline
Activity: 1050
Merit: 1000
|
|
September 01, 2016, 12:41:17 PM |
|
xel address: XEL-TMGN-G9T3-UTHR-95UYQ thanks
|
|
|
|
unvoid
|
|
September 01, 2016, 12:47:37 PM |
|
FIXME: In blocks list (GUI), number of transactions in block are shown as 0.00000009 (that means there were 9 transactions in block).
|
BTC: 1CMgHWx4wkAaAy2FfeCyPdedUExmhGhfi5 XEL: XEL-HCM8-KB6E-YFLK-8BWMF
|
|
|
unvoid
|
|
September 01, 2016, 01:34:25 PM |
|
Maybe someone else is also trying to write some ElasticPL code to execute it in Elastic network so I paste little @EK howto for you: I have worked 14 hours straight today, and I would like to give you all a short status update and ask for a "feature request". What I have done basically is create an entirely new programming language for elastic including a JIT compiler and an interpreter. The programming language is basic enough to be able to say that it is safe and that "eastereggs" like for example Soliticy's send bug are not possible. I would like to give you a short overview what is there and ask you all what you would like to have in it before we close that chapter for now. 1. The programming language does not allow the declaration of new variables. All you have is the integer state array m[0]-m[255]. This limits the memory overhead of the user-provided POW algorithms to 256*8 Bits. Dos attacks using "stack/heap exhaustion" or whatever are not possible. Any other variable declarations are not allowed per the grammar, also m[256 and higher] are forbidden per grammer and result in a syntax error so other implementations (maybe we will have some in Go or so) cannot screw up here at all. The programmer must make sure to use the state array in a "smart" manner! 2. We support the following operations: +: Addition -: Subtraction *: Multiplication /: Integer Division %: Modulo Operation >>: Right Shift 32bit <<: Left Shift 32bit >>>: Right Rotate 32bit <<<: Left Rotate 32bit ~: Bitwise Complement !: Logical Negation ^: Bitwise XOR 32 bit &: Bitwise OR 32 bit |: BitWise AND 32bit 3. And we support the following relational exressions: <: smaller >: larger <=: smaller than >=: greater than ==: equal =!: not equal 4, And the following conditional expressions: &&: and ||: or 5. Additionally, we have two (ASK FOR MORE NOW, PLEASE!!) built in functions: Which start at the beginning of m[ x ] and take y byte from there to hash it with the given hash function. In this case, the state array is overwritten beginning at the first byte of m[ x ] with HASH_LENGTH bytes. 6. We support - if statements - while statements 7. The "random integers" provided by the miners are stored in m[ 0 ]-m[ ... ] (depending on how many the POW author requests). 8. Every source file must start with "input x;" while x is a value between 3 and 12 and describes how many random integers are shuffled by the miners. Those are added to the state beginning at m[0]... 9. Every source file must end with "verify STATEMENT;" which is the bounty submission check. This line is a Statement that evaluated to either true or false and tells us if the result is "a bounty" or not. EXAMPLE ======This is very theoretical, I know! I will give a practical example tomorrow so everyone can try one. For those who are interested in diving into the technical backgrounds ... Here is a Bitcoin-Mining-Function that would mine the Genesis Block 0 and that is written in Elastics internal programming language: SMALL AND COMPACT, ISN'T IT??? It is basically putting the block header into the internal state using Elastic's Programming Language's syntax in "unsigned integer coding" and calls SHA256 Twice, once hashing all 80 bytes of the block header and the second time only the 32 bytes of the resulting hash. The nonce is "shuffled" using the random input fed by the "miners" from m[ 1 ] ; Tested ;-) Works! ;-) input 3; m[3]=16777216; m[4]=0; m[5]=0; m[6]=0; m[7]=0; m[8]=0; m[9]=0; m[10]=0; m[11]=0; m[12]=1000599037; m[13]=2054886066; m[14]=2059873342; m[15]=1735823201; m[16]=2143820739; m[17]=2290766130; m[18]=983546026; m[19]=1260281418; m[20]=699096905; m[21]=4294901789; m[22]=497822464 | (m[1] & 255); SHA256 3 80; SHA256 3 32; verify m[10]==0;
The Bounty hook function which must be the last instruction in the source code in this case is "checking for 32 leading zerobits which in fact are trailing zero bits due to endianess". This is simply: And this is the grammar of ElasticPL (POW) for now: SKIP : { " " | "\t" | "\n" | "\r" | "\f" }
TOKEN : { < INTEGER_LITERAL: (<DIGIT>)+ > }
void CompilationUnit() : { String name; } { ( Statement() )* FinalBountyCheckExpression() <EOF> }
void FinalBountyCheckExpression() : {} { "verify" Expression() ";" }
void Expression() #void: {} { LOOKAHEAD( PrimaryExpression() "=" ) Assignment() | ConditionalOrExpression() }
void Assignment() #Assignment(2) : {} { PrimaryExpression() "=" Expression() }
void ConditionalOrExpression() #void : {} { ConditionalAndExpression() ( "||" ConditionalAndExpression() #OrNode(2) )* }
void ConditionalAndExpression() #void : {} { InclusiveOrExpression() ( "&&" InclusiveOrExpression() #AndNode(2) )* }
void InclusiveOrExpression() #void : {} { ExclusiveOrExpression() ( "|" ExclusiveOrExpression() #BitwiseOrNode(2) )* }
void ExclusiveOrExpression() #void : {} { AndExpression() ( "^" AndExpression() #BitwiseXorNode(2) )* }
void AndExpression() #void : {} { EqualityExpression() ( "&" EqualityExpression() #BitwiseAndNode(2) )* }
void EqualityExpression() #void : {} { RelationalExpression() ( "==" RelationalExpression() #EQNode(2) | "!=" RelationalExpression() #NENode(2) )* }
void RelationalExpression() #void : {} { AdditiveExpression() ( "<" AdditiveExpression() #LTNode(2) | ">" AdditiveExpression() #GTNode(2) | "<=" AdditiveExpression() #LENode(2) | ">=" AdditiveExpression() #GENode(2) )* }
void AdditiveExpression() #void : {} { MultiplicativeExpression() ( "+" MultiplicativeExpression() #AddNode(2) | "-" MultiplicativeExpression() #SubtractNode(2) )* }
void MultiplicativeExpression() #void : {} { UnaryExpression() ( "*" UnaryExpression() #MulNode(2) | "/" UnaryExpression() #DivNode(2) | "%" UnaryExpression() #ModNode(2) | ">>" UnaryExpression() #RShiftNode(2) | "<<" UnaryExpression() #LShiftNode(2) | ">>>" UnaryExpression() #RRotNode(2) | "<<<" UnaryExpression() #LRotNode(2) )* }
void UnaryExpression() #void : {} { "~" UnaryExpression() #BitwiseComplNode(1) | "!" UnaryExpression() #NotNode(1) | PrimaryExpression() }
void PrimaryExpression() #void : { String name; } { Literal() | Id() | "(" Expression() ")" }
void Id() : { Token t; } { t = <IDENTIFIER> { jjtThis.name = t.image; } }
void Literal() #void : { Token t; } { ( t=<INTEGER_LITERAL> { jjtThis.val = Integer.parseUnsignedInt(t.image); } )#IntConstNode | BooleanLiteral() }
void BooleanLiteral() #void : {} { "true" #TrueNode | "false" #FalseNode }
void Statement() #void : {} { ";" | LOOKAHEAD(2) LabeledStatement() | Block() | StatementExpression() | IfStatement() | WhileStatement() | HashStatement() }
void HashStatement() #void : {} { SHA256() | MD5() } void SHA256() : { Token t1; Token t2; } { "SHA256" t1 = <INTEGER_LITERAL> t2 = <INTEGER_LITERAL> { jjtThis.position_to_start = Integer.valueOf(t1.image); jjtThis.byte_length = Integer.valueOf(t2.image); } } void MD5() : { Token t1; Token t2; } { "MD5" t1 = <INTEGER_LITERAL> t2 = <INTEGER_LITERAL> { jjtThis.position_to_start = Integer.valueOf(t1.image); jjtThis.byte_length = Integer.valueOf(t2.image); } }
void LabeledStatement() #void : {} { <IDENTIFIER> ":" Statement() }
void Block() : {} { "{" ( Statement() )* "}" }
void StatementExpression() : {} { Assignment() ";" }
void IfStatement() : {} { "if" "(" Expression() ")" Statement() [ LOOKAHEAD(1) "else" Statement() ] }
void WhileStatement() : {} { "while" "(" Expression() ")" Statement() }
TOKEN : { < IDENTIFIER: "m[" (<DIGIT>|<NOZERODIGIT><DIGIT>|<ONE><DIGIT><DIGIT>|<TWO><ZEROTOFOUR><DIGIT>|<TWO><FIVE><ZEROTOFIVE>) "]" > | < #DIGIT: [ "0"-"9" ] > | < #NOZERODIGIT: [ "1"-"9" ] > | < #ONE: [ "1" ] > | < #TWO: [ "2" ] > | < #ZEROTOFOUR: [ "0"-"4" ] > | < #FIVE: [ "5" ] > | < #ZEROTOFIVE: [ "0"-"5" ] > }
|
BTC: 1CMgHWx4wkAaAy2FfeCyPdedUExmhGhfi5 XEL: XEL-HCM8-KB6E-YFLK-8BWMF
|
|
|
unvoid
|
|
September 01, 2016, 01:59:05 PM |
|
FIXME: Can't set work deadline more than 250 blocks.
|
BTC: 1CMgHWx4wkAaAy2FfeCyPdedUExmhGhfi5 XEL: XEL-HCM8-KB6E-YFLK-8BWMF
|
|
|
pol5
Legendary
Offline
Activity: 1736
Merit: 1005
|
|
September 01, 2016, 01:59:09 PM |
|
send test XEL please XEL-BMNG-ZZ6K-VU87-6H7V8
|
|
|
|
unvoid
|
|
September 01, 2016, 02:09:29 PM Last edit: September 01, 2016, 02:23:47 PM by unvoid |
|
So it looks like again I was able to damage the network. First my task was able to complete without any problems. Second time there is definitely network exception.
@ImI we waiting for your exception log since you're the only one who can mine blocks so far.
EDIT: Network moved forward so maybe @ImI had trouble with block or there was exception but @ImI node was able to work it around.
|
BTC: 1CMgHWx4wkAaAy2FfeCyPdedUExmhGhfi5 XEL: XEL-HCM8-KB6E-YFLK-8BWMF
|
|
|
unvoid
|
|
September 01, 2016, 02:35:36 PM |
|
FIXME: Submitted next work. As long as work is unconfirmed, in GUI (on right panel) it shows result from previous clicked work.
|
BTC: 1CMgHWx4wkAaAy2FfeCyPdedUExmhGhfi5 XEL: XEL-HCM8-KB6E-YFLK-8BWMF
|
|
|
unvoid
|
|
September 01, 2016, 02:44:20 PM |
|
Third work created and same issue. I need to wait for about ~10minutes to receive a block in which my work will be confirmed and begin to compute (or not if I put too low reward for work). Any problems here?
|
BTC: 1CMgHWx4wkAaAy2FfeCyPdedUExmhGhfi5 XEL: XEL-HCM8-KB6E-YFLK-8BWMF
|
|
|
Evil-Knievel
Legendary
Offline
Activity: 1260
Merit: 1168
|
|
September 01, 2016, 05:25:43 PM Last edit: September 01, 2016, 05:36:59 PM by Evil-Knievel |
|
FIXME: Submitted next work. As long as work is unconfirmed, in GUI (on right panel) it shows result from previous clicked work.
Thanks for helping out! I hope (actually I am sure) Lannister will reward you properly . Here, blocks are working fine at my side ... were at block 670 now! What'S this issue with the 10 minute delay? Can we reproduce that somehow? Do you have the same issue when using the public node? This one has an account open that forges new blocks. Maybe its just a communication issue? ( http://ec2-52-28-123-208.eu-central-1.compute.amazonaws.com:6876/index.html)
|
|
|
|
mr.coinzy
|
|
September 01, 2016, 05:54:00 PM |
|
Now that the people have spoken and the decision has been taken collaboratively to change the total supply of coins to 100 mill, will you restore the website? (I am assuming there is still work being done on it, and the elasticracy system can be integrated in it under some kind of tab for future reference and use?) In addition, can we see projected/estimated road maps to the various parts of development? (this has been requested earlier and I know that different people are working on different parts of the project and should write up their own estimated timeframes - still, after they do, it can perhaps still be joint to form a coherent general map). Last I wish to say - great job so far! I think that this project gives thus far a positive example on how a decentralized endeavor should be pursued! Thanks!
|
|
|
|
cryptodv
|
|
September 01, 2016, 06:00:10 PM |
|
FIXME: Submitted next work. As long as work is unconfirmed, in GUI (on right panel) it shows result from previous clicked work.
Thanks for helping out! I hope (actually I am sure) Lannister will reward you properly . Here, blocks are working fine at my side ... were at block 670 now! What'S this issue with the 10 minute delay? Can we reproduce that somehow? Do you have the same issue when using the public node? This one has an account open that forges new blocks. Maybe its just a communication issue? ( http://ec2-52-28-123-208.eu-central-1.compute.amazonaws.com:6876/index.html) Hey Evil, I sent you a pm yesterday with my info about my Coinbase issue. I tried to send a pm to Lannister, but it says that he's blocking my message.
|
|
|
|
BigBoom3599
|
|
September 01, 2016, 06:00:16 PM Last edit: September 01, 2016, 06:27:32 PM by BigBoom3599 |
|
Hey EK, I got this while compiling the testnet, I was still able to run it though. Not sure what it means or how important it is but I thought I'd let you know, I'm using Ubuntu 16.04 LTS btw Note: Some input files use unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. nxt class files compiled successfully
PS: Can someone send me some test XELs at XEL-XD24-CTKL-DT3K-DGF25? Thanks EDIT: It seems that I'm only able to find 2 nodes (ec2-52-57-31-137.eu-central-1.compute.amazonaws.com and ec2-52-28-123-208.eu-central-1.compute.amazonaws.com), are these hardcoded ones? Is it normal to only have 2 nodes? My node hasn't been up for that long so maybe it'll just take some more time.
|
|
|
|
unvoid
|
|
September 01, 2016, 06:24:50 PM |
|
FIXME: Submitted next work. As long as work is unconfirmed, in GUI (on right panel) it shows result from previous clicked work.
Thanks for helping out! I hope (actually I am sure) Lannister will reward you properly . Here, blocks are working fine at my side ... were at block 670 now! What'S this issue with the 10 minute delay? Can we reproduce that somehow? Do you have the same issue when using the public node? This one has an account open that forges new blocks. Maybe its just a communication issue? ( http://ec2-52-28-123-208.eu-central-1.compute.amazonaws.com:6876/index.html) I'll try to reproduce this issue with mining. Two times I was long behind when I included work to the network. Of course my node is also trying to do PoW when running XEL node. But PoW isn't problem here because miner is doing nothing until work is confirmed (I'm not at the stage that I'll push two or more works to the network. It's next step for me). Tomorrow I'll submit works to the network and monitor my node output for more details. Maybe problem is tied to my node directly.
|
BTC: 1CMgHWx4wkAaAy2FfeCyPdedUExmhGhfi5 XEL: XEL-HCM8-KB6E-YFLK-8BWMF
|
|
|
unvoid
|
|
September 01, 2016, 06:29:22 PM |
|
Hey EK, I got this while compiling the testnet, I was still able to run it though. Not sure what it means or how important it is but I thought I'd let you know, I'm using Ubuntu 16.04 LTS btw Note: Some input files use unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. nxt class files compiled successfully
PS: Can someone send me some test XELs at XEL-XD24-CTKL-DT3K-DGF25? Thanks You're fine with this compiling error. 100,000 XEL on it's way.
|
BTC: 1CMgHWx4wkAaAy2FfeCyPdedUExmhGhfi5 XEL: XEL-HCM8-KB6E-YFLK-8BWMF
|
|
|
BigBoom3599
|
|
September 01, 2016, 06:36:20 PM |
|
100,000 XEL on it's way.
Received, Thanks!
|
|
|
|
Sam123
|
|
September 01, 2016, 06:38:07 PM |
|
A lot of progress has being made here. Good Job
|
|
|
|
unvoid
|
|
September 01, 2016, 07:52:30 PM |
|
Some of us going to sleep so happy XEL for another 12h everyone! Those who can develop or explore during this time also happy XEL time!
|
BTC: 1CMgHWx4wkAaAy2FfeCyPdedUExmhGhfi5 XEL: XEL-HCM8-KB6E-YFLK-8BWMF
|
|
|
BigBoom3599
|
|
September 02, 2016, 03:07:54 PM |
|
I can't seem to forge blocks, everytime I download a block from another node the client will stop forging, here's what I got.: 2016-09-02 17:04:46 FINE: Generator.startForging: Account 12790696102763342850 is already forging Clearing inactive listener: 123848023 Blockchain sync: first hurdle! {"nextBlocks":[{"previousBlockHash":"6b0afce9ed3a03597dc72fbec61cb81826c60d9cc97de42780c9d50ca3347a83","payloadLength":0,"totalAmountNQT":0,"generationSignature":"b1f81b80c0bf3d050da73847038f06347ec3e22ad8265298c2717a00d3a89104","generatorPublicKey":"15d039ed644401856cf294e475cc9b9ed1d8abbf8393435f89f4ab484faa0e2e","payloadHash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","blockSignature":"8b6dea67d9db3d4e99c003477d680a376a6cd89b64c1d8f5dbfb1efbf8ce380218719498bd8a82a5341961101ad7621980acb5b70ddf434de93456052dc7e9c9","transactions":[],"version":1,"totalFeeNQT":0,"previousBlock":"6414035087812987499","lastPowTarget":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","timestamp":21218715}]} Received Block, My prevblockid: 6414035087812987499, their prevblockid: 6414035087812987499 Adding: block 1953 Got longval null
|
|
|
|
|