public static function setup() { if (!isset(self::$secp256k1)) { self::debug('setup: CurveFp'); self::$secp256k1 = new CurveFp('115792089237316195423570985008687907853269984665640564039457584007908834671663', '0', '7'); self::debug('setup: secp256k1:' . print_r(self::$secp256k1, 1)); } if (!isset(self::$secp256k1_G)) { self::debug('setup: Point'); self::$secp256k1_G = new Point(self::$secp256k1, '55066263022277343669578718895168534326250603453777594175500187360389116729240', '32670510020758816978083085130507043184471273380659243275938904335757337482424', '115792089237316195423570985008687907852837564279074904382605163141518161494337'); self::debug('setup: secp256k1_G: ' . self::$secp256k1_G); } }